GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Shopware mit NGINX und Lets encrypt auf Ubuntu 18.04 LTS

Shopware ist die nächste Generation von Open-Source-E-Commerce-Software. Basierend auf modernsten Technologien wie Symfony 3, Doctrine 2 und Zend Framework Shopware ist die perfekte Plattform für Ihr nächstes E-Commerce-Projekt. Dieses Tutorial führt Sie durch die Installation von Shopware Community Edition (CE) auf einem Ubuntu 18.04 LTS-System unter Verwendung von NGINX als Webserver.

Anforderungen

Stellen Sie sicher, dass Ihr System die folgenden Mindestanforderungen erfüllt:

  • Linux-basiertes Betriebssystem mit installiertem NGINX- oder Apache 2.x-Webserver (mit mod_rewrite).
  • PHP 5.6.4 oder höher mit den Erweiterungen ctype, gd, curl, dom, hash, iconv, zip, json, mbstring, openssl, session, simplexml, xml, zlib, fileinfo und pdo/mysql. PHP 7.1 oder höher wird dringend empfohlen.
  • MySQL 5.5.0 oder höher.
  • Möglichkeit Cronjobs einzurichten.
  • Mindestens 4 GB verfügbarer Festplattenspeicher.
  • IonCube Loader Version 5.0.0 oder höher (optional ).

HINWEIS: Shopware ist derzeit bis PHP 7.2.x kompatibel.

Voraussetzungen

  • Ein Betriebssystem, auf dem Ubuntu 18.04 LTS ausgeführt wird.
  • Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.

Erste Schritte

Überprüfen Sie Ihre Ubuntu-Version:

lsb_release -ds
# Ubuntu 18.04.2 LTS

Richten Sie die Zeitzone ein:

sudo dpkg-reconfigure tzdata

Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, da er sicherstellt, dass Sie über die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems verfügen:

sudo apt update && sudo apt upgrade -y

Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Ubuntu-Betriebssystems erforderlich sind:

sudo apt install -y curl wget vim git unzip socat bash-completion

Schritt 1 – PHP und PHP-Erweiterungen installieren

Installieren Sie PHP, sowie die notwendigen PHP-Erweiterungen für Shopware:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mysql php7.2-curl php7.2-json php7.2-zip php7.2-gd php7.2-xml php7.2-mbstring php7.2-opcache

Um PHP in Modulen kompiliert anzuzeigen, können Sie Folgendes ausführen:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Überprüfen Sie die PHP-Version:

php --version

# PHP 7.2.17-0ubuntu0.18.04.1 (cli) (built: Apr 18 2019 14:12:38) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.17-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

Der PHP-FPM-Dienst wird beim Neustart auf einem Ubuntu 18.04-System automatisch gestartet und aktiviert, sodass er nicht manuell gestartet und aktiviert werden muss. Wir können mit dem nächsten Schritt fortfahren, nämlich der IonCube Loader-Installation.

Schritt 2 – IonCube Loader installieren (optional )

IonCube Loader herunterladen:

cd /tmp && wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

Extrahieren Sie den Loader:

tar xfz ioncube_loaders_lin_*.gz

Suchen Sie das PHP-Erweiterungsverzeichnis auf dem System, indem Sie den folgenden Befehl ausführen:

php -i | grep extension_dir
# extension_dir => /usr/lib/php/20170718 => /usr/lib/php/20170718

Kopieren Sie den ionCube Loader in das PHP-Erweiterungsverzeichnis:

sudo cp /tmp/ioncube/ioncube_loader_lin_7.2.so /usr/lib/php/20170718/

Binden Sie den Loader über die PHP-Konfiguration ein:

sudo vim /etc/php/7.2/fpm/php.ini

Fügen Sie dann eine Zeile in der Datei hinzu, um den ionCube-Loader einzuschließen. Es kann sich an einer beliebigen Stelle in der Datei unter [PHP] befinden Zeile:

zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.2.so

Speichern Sie die Datei und starten Sie PHP-FPM neu:

sudo systemctl restart php7.2-fpm.service

Schritt 3 – Installiere MySQL und erstelle eine Datenbank für Shopware

MySQL-Datenbankserver installieren:

sudo apt install -y mysql-server

Überprüfen Sie die MySQL-Version:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.26, for Linux (x86_64) using  EditLine wrapper

Führen Sie mysql_secure installation aus Skript zur Verbesserung der MySQL-Sicherheit und zum Festlegen des Passworts für MySQL root Benutzer:

sudo mysql_secure_installation

Beantworten Sie jede der Fragen:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Verbinden Sie sich als Root-Benutzer mit der MySQL-Shell:

sudo mysql -u root -p
# Enter password

Erstellen Sie eine leere MySQL-Datenbank und einen Benutzer für Shopware und merken Sie sich die Anmeldeinformationen:

mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Beenden Sie MySQL:

mysql> exit

Ersetzen Sie dbnameusername und password mit Ihren eigenen Namen.

Schritt 4 – Acme.sh-Client installieren und Let's Encrypt-Zertifikat abrufen (optional)

Das Sichern Ihrer Website mit HTTPS ist nicht erforderlich, aber es ist eine bewährte Methode, den Datenverkehr Ihrer Website zu sichern. Um ein TLS-Zertifikat von Let's Encrypt zu erhalten, verwenden wir den acme.sh-Client. Acme.sh ist eine reine Unix-Shell-Software zum Abrufen von TLS-Zertifikaten von Let's Encrypt ohne Abhängigkeiten.

Laden Sie acme.sh herunter und installieren Sie es:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Überprüfen Sie die acme.sh-Version:

acme.sh --version
# v2.8.1

Fordern Sie RSA an und ECC/ECDSA Zertifikate für Ihre Domain/Ihren Hostnamen:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Wenn Sie gefälschte Zertifikate zum Testen möchten, können Sie --staging hinzufügen Flag zu den obigen Befehlen.

Nachdem Sie die obigen Befehle ausgeführt haben, werden Ihre Zertifikate und Schlüssel wird sein in:

  • Für RSA/home/username/example.com Verzeichnis.
  • Für ECC/ECDSA/home/username/example.com_ecc Verzeichnis.

Um Ihre ausgestellten Zertifikate aufzulisten, können Sie Folgendes ausführen:

acme.sh --list

Erstellen Sie ein Verzeichnis, um Ihre Zertifikate zu speichern. Wir verwenden ein Verzeichnis /etc/letsencrypt.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Installieren/kopieren Sie Zertifikate in das /etc/letsencrypt-Verzeichnis.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Alle Zertifikate werden alle 60 Tage automatisch erneuert.

Nachdem Sie die Zertifikate erhalten haben, beenden Sie den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:

exit

Schritt 5 – NGINX installieren und konfigurieren

Installieren Sie den NGINX-Webserver:

sudo apt install -y nginx

Überprüfen Sie die NGINX-Version:

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

Konfigurieren Sie NGINX für Shopware. Führen Sie sudo vim /etc/nginx/sites-available/shopware.conf aus und fügen Sie die folgende Konfiguration hinzu:

server {
    listen 80;
    listen [::]:80;
    
    server_name example.com;
    root /var/www/shopware;

    index shopware.php index.php;

    location / {
        try_files $uri $uri/ /shopware.php$is_args$args;
    }

    location /recovery/install {
      index index.php;
      try_files $uri /recovery/install/index.php$is_args$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    }
}

Aktivieren Sie die neue shopware.conf konfigurieren, indem Sie die Datei mit sites-enabled verknüpfen Verzeichnis:

sudo ln -s /etc/nginx/sites-available/shopware.conf /etc/nginx/sites-enabled

Überprüfen Sie die NGINX-Konfiguration auf Syntaxfehler:

sudo nginx -t

NGINX-Dienst neu laden:

sudo systemctl reload nginx.service

Schritt 6 – Shopware installieren

Erstellen Sie ein Dokumenten-Root-Verzeichnis für Shopware:

sudo mkdir -p /var/www/shopware

Ändern Sie den Besitz von /var/www/shopware Verzeichnis nach {jour_user}:

sudo chown -R {your_user}:{your_user} /var/www/shopware

Navigieren Sie zum Stammverzeichnis des Dokuments:

cd /var/www/shopware

Laden Sie die neuste Shopware-Version über wget herunter und entpacken Sie sie:

wget https://releases.shopware.com/install_5.5.8_d5bf50630eeaacc6679683e0ab0dcba89498be6d.zip?_ga=2.141661361.269357371.1556739808-1418008019.1556603459 -O shopware.zip
unzip shopware.zip
rm shopware.zip

HINWEIS: Download-URL aktualisieren, falls es eine neuere Version gibt.

Ändern Sie den Besitz von /var/www/shopware Verzeichnis zu www-data .

sudo chown -R www-data:www-data /var/www/shopware

Erhöhen Sie memory_limit = 256M und upload_max_filesize = 6M , und setzen Sie allow_url_fopen = On falls nicht bereits in /etc/php/7.2/fpm/php.ini festgelegt Datei.

sudo vim /etc/php/7.2/fpm/php.ini

Nachdem Sie Änderungen in /etc/php/7.2/fpm/php.ini vorgenommen haben Datei, laden Sie php7.2-fpm.service: neu

sudo systemctl reload php7.2-fpm.service

Öffnen Sie Ihre Domain/IP im Webbrowser und folgen Sie dem Installationsassistenten. Das Backend von Shopware befindet sich unter /backend Beispiel: http://example.com/backend .

Schritt 7 – Schließen Sie die Einrichtung von Shopware ab

Wählen Sie zunächst die Sprache aus und klicken Sie auf Weiter:

Stellen Sie als Nächstes sicher, dass Sie alle Shopware-Anforderungen erfüllen:

Stimmen Sie den AGB von Shopware zu und klicken Sie auf Weiter:

Geben Sie die Datenbankanmeldeinformationen ein und klicken Sie auf Weiter:

Starten Sie die Installation, um Datenbanktabellen zu erstellen:

Danach sehen Sie eine Meldung über den erfolgreichen Datenbankimport:

Wählen Sie eine Lizenz und klicken Sie auf Weiter:

Füllen Sie einige Grundeinstellungen ein, um die Einrichtung abzuschließen, und klicken Sie auf Weiter:

Die Installation ist abgeschlossen.

Um auf den Admin-Bereich zuzugreifen, hängen Sie /backend an Ihre URL an.

Sie haben Shopware erfolgreich installiert. Viel Spaß mit Ihrem neuen Online-Shop!

  • https://de.shopware.com/
  • https://github.com/shopware/shopware

Ubuntu
  1. So installieren Sie Nextcloud mit Nginx auf Ubuntu 18.04 LTS

  2. So installieren Sie Nextcloud mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04 LTS

  3. So installieren Sie Magento 2 mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04 LTS

  4. So installieren Sie Laravel 5 PHP Framework mit Nginx auf Ubuntu 16.04 LTS

  5. So installieren Sie Shopware mit NGINX und Lets Encrypt unter CentOS 7

So installieren Sie Vanilla Forums mit Apache und Lets Encrypt SSL unter Ubuntu 20.04 LTS

So installieren Sie Shopware 6 mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04

So installieren Sie das NodeBB-Forum mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04 LTS

So installieren Sie Shopware 6 mit NGINX und Lets Encrypt unter CentOS 8

So installieren Sie Moodle mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04

So installieren Sie Shopware mit NGINX und Lets encrypt unter Debian 9