There are a couple of ways to get Shopware running on your system. Depending on what best suits your development environment, you have the following choices:
Docker: The docker installation is the easiest way to get a running Shopware 6.
MAMP: For quick and easy installation you can also use MAMP tool on mac.
Valet+: You can install Shopware with the epl of Valet+, which is a fork of laravel/valet.
Dockware: This is a managed docker setup for Shopware 6 by shopware agency dasistweb.
Installation from scratch: You can install Shopware 6 locally. However, be aware that this will be the more complex solution since additional or changed system requirements need to be managed by you.
Did you know that there's a video available to this topic? Please take a look:
IDE / Editors
You can technically use any text editor you wish to develop in. However, many developers prefer IDEs (integrated development environments) because of the features they offer.
If you are going to write Shopware extensions based on the App System, you can really choose whatever programming language or runtime you want, so choose whatever Editor or IDE suits you best.
Before installing Shopware 6, you should take a quick look at the requirements to check if your local environment is capable of running it.
You can use these commands for checking your actual environment:
php -v: Show CLI PHP version
php -m: Show CLI PHP modules
php -i | grep memory_limit: Show your actual CLI PHP memory limit
composer -v: Show your actual composer version
node -v: Show you actual Node version
npm -v: Show you actual NPM version
To get more information about your server PHP setup, you can create a phpinfo.php file with this content:
When you now open your Browser and go to the phpinfo.php page then you can see all information about your actual PHP setup. Check if they also match with the requirements.
Although Shopware 6 supports most UNIX like environments, we recommend using Ubuntu 18.04 LTS or
macOS Mojave 10.14 to get the best experience.
7.4.3 or higher
memory_limit 512M minimum
max_execution_time 30 seconds minimum
Composer 2.0 or higher
MySQL 5.7.21 or higher
Only MySQL 8.0.20 in specific is not compatible
MariaDB 10.3.22 or higher
MariaDB 10.3.29, 10.4.19, 10.5.10 are not compatible at the moment
Node.js 12.21.0 or higher
NPM 6.5.0 or higher
Apache 2.4 or higher with mod-rewrite enabled
Zend Opcache (256M or more)
Webserver with HTTP2 support
Adminer (https://www.adminer.org/) is our recommended database administration tool since it has better support for binary data types.
Requirements for docker setup
If you are working on Linux there is a curated docker setup, that takes care of setting up the environment for you.
In this case you need:
PHP 7.4+ CLI
Depending on your goal you can choose from two different so-called templates for your local Shopware setup.
Shopware Production Template
Shopware Development Template
Let's discuss their differences, so you can make an informed decision.
You now have the application template for Shopware 6 in the directory development, we now navigate into it:
Per default the development template has shopware/platform in the version dev-master as requirement in its composer.json file. This always corresponds to the latest commit on the master branch on GitHub. If you want to use a specific version change dev-master to 6.1 for example. Now Shopware 6.1 will be installed instead of the latest master state.
Only if you want to work with the Shopware platform code itself, e.g. in order to create a pull request for it, you should clone the platform code manually. Before doing so, remove the existing platform directory.
Otherwise, the Shopware platform code would be placed into a vendor/shopware/platform directory, where you don't want to change any code. There's a good reason why many IDEs try to prevent you from changing code in the vendor directory.
As already mentioned, there are several ways to install Shopware. So we got you covered, no matter which operation system or environment you like to use. Head over to whatever way you like: