Development

With docker

git clone https://github.com/shopware/development.git
cd development
git clone https://github.com/shopware/platform.git

  1. Build and start the containers
    ./psh.phar docker:start

  2. Access the application container
    ./psh.phar docker:ssh

  3. 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.

  1. Build and start the containers
    ./psh.phar docker:start

  2. 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.