Shopware is the next generation of open source e-commerce software. Based on bleeding edge technology like Symfony 3 The Doctrine
2 and Zend Framework Shopware comes as the perfect platform for your next e-commerce project. This tutorial will guide you through the installation of Shopware Community Edition (CE) on the Fedora 30 system using NGINX as a web server.
Make sure your system meets the following minimum requirements ]:
- Linux-based operating system with NGINX or Apache 2.x (with mod_rewrite ) web server installed.
- PHP 5.6.4 or later with ctype, gd, curl, dom, hash, iconv, zip, json, mbstring, openssl, session, simplexml, xml, zlib, fileinfo and pdo / mysql extensions. PHP 7.1
- MySQL 5.5.0 or later.
- Ability to configure cron jobs.
- At least 4 GB of available hard disk space.
- ] IonCube Loader version 5.0.0 or later ( optional ).
NOTE: Shopware 5 is currently up to PHP 7.2.x compatible.
- An operating system running Fedora 29.
- A non-root user with sudo privileges.
I will use the domain name example.com in this tutorial. Please replace the word example.com with your own domain name wherever it appears in the commands and config files below (especially in the nginx config file and Let's encrypt commands).
Check your Fedora version:  cat / etc / fedora release
# Fedora release 29 (Twenty Nine)
Set the time zone:
timedatectl list time zones
sudo timedatectl set timezone & # 39; Region / City & # 39;
Update operating system packages (software). This is an important first step as it ensures that you have the latest updates and security fixes for the operating system's standard software package:
sudo dnf upgrade -y
Install some important packages necessary for basic administration of the Fedora operating system:  sudo dnf install -y curl wget vim git sudo unzip socat bash-completion
Step 1 – Install PHP and PHP add-ons
Install PHP, as well as the necessary PHP extensions for Shopware:
sudo php-php-php-php-php-php-php-php-php-php-common php-php-gd php-xml php-mbstring php-ccpc you run: php -m
. . .
Check the PHP version:
php - version # PHP 7.2.16 (cli) (built: April 30, 2019 08:37:17))
# Copyright (c) 1997-2018 PHP group
# Send Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies
# with Send OPcache v7.3.5, Copyright (c) 1999 -2018, av Zend Technologies
Launch and activate the PHP FPM service:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
]  Step 2 – Install IonCube Loader ( optional )
This step is optional because Shopware works without IonCube now, but it is possible to proceed to the next step, which is the installation of IonCube Loader. There may still be additions or themes that use IonCube, so it doesn't hurt to install it. Download IonCube Loader:
cd / tmp && wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xfz ioncube_loaders_lin _ * .gz
Search the PHP extension directory on the system by running the command below:
php -i | grep extension_dir
# extension_dir => / usr / lib64 / php / modules => / usr / lib64 / php / modules
Copy ionCube Loader to the PHP extension directory:
sudo cp / tmp / ioncube / ioncube_loader_lin_7. 2.so / usr / lib64 / php / modules
Include the loader via PHP configuration:
sudo vim /etc/php.ini
To add a row to the file to include ionCube chargers. There may be somewhere in the file below
zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_7.2.so
Warning the file and restart PHP-FPM:
sudo systemctl restart php -fpm.service
Step 3 – Install MariaDB and create a database for Shopware
Install MariaDB database server:
sudo dnf install -y mariadb-server
MariaDB version:  mysql version
# mysql Ver 15.1 Distrib 10.2.23-MariaDB, for Linux (x86_64) with the read line 5.1
Start and enable the MariaDB service:
sudo systemctl start mariadb.servicescript to improve MariaDB security and set the password for MariaDB
sudo systemctl enable mariadb.service mysql_secure installation
sudo my sql_secure_instal lation
Answer each of the questions:
Would you like to configure VALIDATE PASSWORD plugin? N
New password: your_secure_password
Enter new password: your_secure_password
Delete anonymous users? [Y/n] Y
Allow root login remotely? [Y/n] Y
Remove the test database and access it? [Y/n] Y
Update privilege tables now?