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:
{% embed url="https://www.youtube.com/watch?v=ML1QyUr0wsk" caption="" %}
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.
For JavaScript development, many developers go with Visual Studio Code (short VSCode). For PHP development, many developers go with PHPStorm. Both tools offer a marketplace with plugins or extensions. To learn more, check out the IDE section.
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 versionphp -m
: Show CLI PHP modulesphp -i | grep memory_limit
: Show your actual CLI PHP memory limitcomposer -v
: Show your actual composer versionnode -v
: Show you actual Node versionnpm -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:
<?php phpinfo(); ?>
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.
PHP
- Tested on 7.4.3, 8.0 and 8.1
memory_limit
512M minimummax_execution_time
30 seconds minimum- Extensions:
- ext-curl
- ext-dom
- ext-fileinfo
- ext-gd
- ext-iconv
- ext-intl
- ext-json
- ext-libxml
- ext-mbstring
- ext-openssl
- ext-pcre
- ext-pdo
- ext-pdo_mysql
- ext-phar
- ext-simplexml
- ext-sodium
- ext-xml
- ext-zip
- ext-zlib
- Composer 2.0 or higher
SQL
- Tested on MySQL 5.7.21, and 8.0
- Only MySQL 8.0.20 in specific is not compatible
- Tested on MariaDB 10.3.22, 10.4 and 10.5
- MariaDB 10.3.29, 10.4.19, 10.5.10 are not compatible at the moment
JavaScript
- Node.js 12.21.0 or higher
- NPM 6.5.0 or higher
Various
- Apache 2.4 or higher with mod-rewrite enabled
- Tested on elasticsearch 7.8.0
- Bash
- Git
Please note: we always want to support latest versions. If you find an issue with a newer version, please let us know about it in our issue tracker
- Zend Opcache (256M or more)
- Webserver with HTTP2 support
{% hint style="info" %}
Adminer (https://www.adminer.org/) is our recommended database administration tool since it has better support for binary data types. {% endhint %}
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
- docker
- docker-compose
- bash
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.
Task | shopware/production | shopware/development |
---|---|---|
Contribute to the Shopware core | ❌ | ✅ |
Develop an extension for the store | ✅ | ✅ (preferred) |
Build a custom project / deployment | ✅ | ❌ |
Manage dependencies / bundles | ✅ | ❌ |
{% embed url="https://www.youtube.com/watch?v=ML1QyUr0wsk" caption="" %}
{% hint style="info" %} This video is part of the online training "Backend Development" available on Shopware Academy for free. {% endhint %}
Either installation method requires you to check out the sources first. Shopware 6 is split into two repositories the development template and the platform itself.
Let's start by cloning the development template:
git clone https://github.com/shopware/development.git
You now have the application template for Shopware 6 in the directory development
, we now navigate into it:
cd development
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.
rm -rf platform
git clone https://github.com/shopware/platform.git
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: