Shopware6: Installation
Development
With docker
git clone https://github.com/shopware/development.git
cd development
git clone https://github.com/shopware/platform.git
-
Build and start the containers
./psh.phar docker:start
-
Access the application container
./psh.phar docker:ssh
-
Execute the installer inside the docker container
./psh.phar install
After this you should see frontend on http://localhost:8000/
and backend on http://localhost:8000/admin
.
For admin use credentials admin/shopware
.
Switching between different Shopware installations
Go to your installation, development
.
-
Build and start the containers
./psh.phar docker:start
-
Access the application container
./psh.phar docker:ssh
Without docker
sudo apt install -y php7.3 php7.3-cli php7.3-fpm php7.3-common php7.3-mysql php7.3-curl php7.3-json php7.3-zip php7.3-gd php7.3-xml php7.3-mbstring php7.3-opcache php7.3-intl
sudo a2dismod php5.6 //disable your current version
sudo a2enmod php7.3 //enabled php7.3
sudo service apache2 restart
Dont forget to enable mod_rewrite
.
When installation was complete, i was redirected to admin where First Run Wizard begin. I wasnt able to go through last step where domain should be verified.
Verification failed
The domain could not be verified
errors: [{code: "FRAMEWORK__STORE_ERROR", status: "500", title: "Verification failed",…}]
0: {code: "FRAMEWORK__STORE_ERROR", status: "500", title: "Verification failed",…}
code: "FRAMEWORK__STORE_ERROR"
detail: "The domain could not be verified"
meta: {documentationLink: "shop-domain-verification-failed"}
status: "500"
title: "Verification failed"
In documentation is written
It should be noted that the domain entered here must already be externally accessible and that the web server must refer to the public-Directory within the Shopware 6 installation.
Here is my testing config
/etc/apache2/sites-available/shopware1.lan.conf
<VirtualHost *:80>
ServerAdmin webmaster@ostechnix1.lan
ServerName shopware1.lan
ServerAlias www.shopware1.lan
DocumentRoot /var/www/html/shopware/sites/shopware1.lan/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
/etc/hosts
127.0.0.1 shopware1.lan
Dont forget to run sudo a2ensite shopware1.lan.conf
.
I remove First Run Wizard directly in code
/var/www/html/shopware/sites/shopware1.lan/vendor/shopware/administration/Controller/AdministrationController.php
public function index(): Response
{
$template = $this->finder->find('administration/index.html.twig');
return $this->render($template, [
'features' => FeatureConfig::getAll(),
'systemLanguageId' => Defaults::LANGUAGE_SYSTEM,
'defaultLanguageIds' => [Defaults::LANGUAGE_SYSTEM],
'liveVersionId' => Defaults::LIVE_VERSION,
//'firstRunWizard' => $this->firstRunWizardClient->frwShouldRun(),
'firstRunWizard' => false
]);
}
Possible issues
If you see messages like this>
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib/x86_64-linux-gnu/mariadb18/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
go to mysql docker container
docker exec -ti development_app_mysql_1 bash -l
mysql -u app -papp
ALTER USER 'app'@'%' IDENTIFIED WITH mysql_native_password BY 'app';
Production
https://github.com/shopware/production
# clone newest 6.1 patch version from github
git clone --branch=6.1 https://github.com/shopware/production shopware
cd shopware
# install shopware and dependencies according to the composer.lock
composer install
# setup the environment
bin/console system:setup
# or create .env yourself, if you need more control
# create jwt secret: bin/console system:generate-jwt-secret
# create app secret: APP_SECRET=$(bin/console system:generate-app-secret)
# create .env
# create database with a basic setup (admin user and storefront sales channel)
bin/console system:install --create-database --basic-setup
# or use the interactive installer in the browser: /recovery/install/index.php
Possible errors
ext-intl is required
sudo apt-get install php7.2-intl
Error during composer install
sudo dpkg-reconfigure libdvd-pkg
Login details to admin are admin/shopware.