Home / How To / How to install Shopware with NGINX and let us encrypt on Fedora 30

How to install Shopware with NGINX and let us encrypt on Fedora 30

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
    or later is highly recommended.
  • 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).

Initial steps

Check your Fedora version: [19659024] 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: [19659024] 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

] [19659039] 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

Extract loader:

  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 [PHP] row:

  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: [19659024] 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.service 
sudo systemctl enable mariadb.service
mysql_secure installation
script to improve MariaDB security and set the password for MariaDB root user:

  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?

Source link