Wie installiert man Shopware 6 mit Nginx und Let’s Encrypt SSL auf Ubuntu 20.04

Shopware CE ist eine freie und quelloffene eCommerce-Plattform, die in Symfony und Vue.js geschrieben wurde. Sie basiert auf einem recht modernen Technologiestack und ist eine sehr gute Alternative zu einer anderen eCommerce-Anwendung wie Magento. Es ist eine sehr leistungsfähige und flexible Anwendung und gibt Ihnen die Freiheit, schnell und einfach Ihr Wachstumspotential auszuschöpfen und sich auf das perfekte Kundenerlebnis zu konzentrieren. Sie bietet eine einfache und leicht zu bedienende Verwaltungsschnittstelle zur Verwaltung von Kunden und Bestellungen. Sie ermöglicht es Ihnen, die Preise von Produkten zu verwalten, Themen zu ändern oder zu aktualisieren, E-Mail-Vorlagen für die Vermarktung Ihrer Produkte zu entwerfen und statistische Ergebnisse zu generieren.

In diesem Tutorial zeigen wir Ihnen, wie Sie Shopware CE mit Nginx und Let’s Encrypt unter Ubuntu 20.04 installieren.

Voraussetzungen

  • Ein Server mit Ubuntu 20.04 mit mindestens 4 GB RAM.
  • Einen gültigen Domain-Namen, der auf Ihren Server zeigt.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

Installieren von Nginx und MariaDB

Installieren Sie zunächst den Nginx-Webserver und den MariaDB-Datenbankserver mit dem folgenden Befehl:

apt-get install nginx mariadb-server -y

Sobald beide Pakete installiert sind, starten Sie Nginx und den MariaDB-Dienst und ermöglichen es ihnen, beim Systemstart zu starten:

systemctl start nginx
systemctl start mariadb
systemctl enable nginx
systemctl enable mariadb

PHP und andere Komponenten installieren

Shopware 6 unterstützt PHP-Versionen zwischen 7.2 und 7.3. Sie müssen also PHP zusammen mit anderen Bibliotheken in Ihrem System installieren.

Fügen Sie zunächst das PHP-Repository in Ihrem System mit dem folgenden Befehl hinzu:

apt-get install software-properties-common -y
add-apt-repository ppa:ondrej/php

Sobald das Repository hinzugefügt ist, installieren Sie PHP mit anderen Bibliotheken mit dem folgenden Befehl:

apt-get install 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-intl php7.2-opcache git unzip socat curl bash-completion -y

Sobald alle Pakete installiert sind, bearbeiten Sie die Datei php.ini und passen Sie einige gewünschte Einstellungen an:

nano /etc/php/7.2/fpm/php.ini

Ändern Sie die folgenden Zeilen:

memory_limit = 512M
upload_max_filesize = 20M
max_execution_time = 300

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Als nächstes müssen Sie den IonCube Loader in Ihrem System installieren.

Laden Sie ihn zunächst mit dem folgenden Befehl herunter:

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

Nach dem Herunterladen extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl:

tar xfz ioncube_loaders_lin_x86-64.tar.gz

Suchen Sie als nächstes den Pfad des PHP-Erweiterungsverzeichnisses:

php -i | grep extension_dir

Sie sollten die folgende Ausgabe sehen:

extension_dir => /usr/lib/php/20190902 => /usr/lib/php/20190902

Kopieren Sie anschließend den IonCube-Loader in das PHP-Erweiterungsverzeichnis:

cp ioncube/ioncube_loader_lin_7.2.so /usr/lib/php/20180731/

Bearbeiten Sie als nächstes die Datei php.ini und definieren Sie den IonCube-Lader:

nano /etc/php/7.2/fpm/php.ini

Fügen Sie die folgende Zeile innerhalb des [PHP]-Abschnitts hinzu:

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

Speichern und schließen Sie die Datei und starten Sie dann den PHP-FPM-Dienst neu, um die Änderungen zu übernehmen.

systemctl restart php7.2-fpm

MariaDB-Datenbank konfigurieren

Sichern Sie zuerst die Installation von MariaDB und setzen Sie das Root-Passwort mit dem folgenden Skript:

mysql_secure_installation

Beantworten Sie alle Fragen wie unten gezeigt:

Enter current password for root (enter for none): 
Set root password? [Y/n] Y
New password: 
Re-enter new 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

Wenn Sie fertig sind, loggen Sie sich mit folgendem Befehl in die MariaDB-Shell ein: Klicken Sie auf die Schaltfläche Weiter:

mysql -u root -p

Geben Sie Ihr MariaDB-Root-Passwort an und erstellen Sie dann eine Datenbank und einen Benutzer für Shopware:

MariaDB [(none)]> CREATE DATABASE shopwaredb;
MariaDB [(none)]> GRANT ALL ON shopwaredb.* TO 'shopware'@'localhost' IDENTIFIED BY 'password';

Als nächstes löschen Sie die Berechtigungen und beenden Sie die MariaDB mit dem folgenden Befehl:

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Composer installieren

Composer ist ein Abhängigkeitsmanager für PHP. Er wird verwendet, um alle PHP-Abhängigkeiten zu installieren, die für die Installation von Shopware erforderlich sind.

Sie können es mit dem curl-Befehl wie unten gezeigt installieren:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

Nach der Installation überprüfen Sie die Composer-Version mit dem folgenden Befehl:

composer --version

Sie sollten die folgende Ausgabe erhalten:

Composer version 1.10.7 2020-06-03 10:03:56

Shopware herunterladen

Erstellen Sie zunächst ein Verzeichnis für Shopware innerhalb des Web-Stammverzeichnisses von Nginx:

mkdir /var/www/html/shopware

Ändern Sie dann das Verzeichnis in Shopware und laden Sie die neueste Version von Shopware mit dem folgenden Befehl herunter:

cd /var/www/html/shopware
wget https://www.shopware.com/en/Download/redirect/version/sw6/file/install_6.2.2_1592398977.zip

Entpacken Sie die heruntergeladene Datei nach dem Herunterladen mit dem folgenden Befehl:

unzip install_6.2.2_1592398977.zip

Als nächstes installieren Sie alle PHP-Abhängigkeiten mit dem folgenden Befehl:

composer install

Als nächstes ändern Sie den Eigentümer des Shopware-Verzeichnisses und erteilen die entsprechenden Berechtigungen mit dem folgenden Befehl:

chown -R www-data:www-data /var/www/html/shopware
chmod -R 755 /var/www/html/shopware

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Konfigurieren von Nginx für Shopware

Erstellen Sie zunächst eine neue Nginx-Konfigurationsdatei für den virtuellen Host für Shopware:

nano /etc/nginx/sites-available/shopware.conf

Fügen Sie die folgenden Zeilen hinzu:

server {
    listen 80;

    index index.php index.html;
    server_name shopware.linuxbuz.com;
    root /var/www/html/shopware/public;

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

    location /recovery/update/ {
        location /recovery/update/assets {
        }
        if (!-e $request_filename){
            rewrite . /recovery/update/index.php last;
        }
    }

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

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi.conf;
        fastcgi_param HTTP_PROXY "";
        fastcgi_buffers 8 16k;
        fastcgi_buffer_size 32k;
        client_max_body_size 24M;
        client_body_buffer_size 128k;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        http2_push_preload on;
    }
}

Speichern und schließen Sie die Datei und aktivieren Sie dann die virtuelle Hostdatei von Shopware mit dem folgenden Befehl:

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

Als nächstes überprüfen Sie Nginx mit dem folgenden Befehl auf einen Syntaxfehler:

nginx -t

Sie sollten die folgende Ausgabe erhalten:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starten Sie als nächstes den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl reload nginx

Zugang zum Shopware-Installationsassistenten

Zu diesem Zeitpunkt ist Shopware in Ihrem System installiert. Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://shopware.linuxbuz.com ein. Sie sollten den Shopware-Webinstallationsassistenten sehen:

Shopware 6

Wählen Sie Ihre Sprache aus und klicken Sie auf die Schaltfläche Next. Sie sollten den folgenden Bildschirm sehen:

Prüfung der Systemanforderungen

Stellen Sie sicher, dass alle erforderlichen Abhängigkeiten installiert sind, und klicken Sie dann auf die Schaltfläche Next. Sie sollten den folgenden Bildschirm sehen: Geben Sie Ihre Datenbankdaten ein und klicken Sie auf die Schaltfläche Next:

Bedingungen und Konditionen akzeptieren

Akzeptieren Sie die Bedingungen und Konditionen und klicken Sie auf die Schaltfläche Next. Sie sollten den folgenden Bildschirm sehen:

Konfigurieren der Shopware-Datenbank

Geben Sie Ihre Datenbankdaten ein und klicken Sie auf die Schaltfläche Installation starten. Sobald die Installation erfolgreich abgeschlossen ist, sollten Sie den folgenden Bildschirm sehen: Geben Sie Ihre Datenbankdaten ein und klicken Sie auf die Schaltfläche Installation starten:

Shopware wurde installiert

Klicken Sie nun auf die Schaltfläche Next. Sie sollten den Shopware-Konfigurationsbildschirm sehen:

Shopware Shop-Konfiguration

Geben Sie Ihren Shop-Namen, E-Mail, Land, Admin-E-Mail, Admin-Benutzername und Passwort ein und klicken Sie auf die Schaltfläche Weiter. Sie werden zum Dashboard-Bildschirm von Shopware weitergeleitet:

Shopware-Dashboard

Klicken Sie auf die Schaltfläche Next. Sie sollten den folgenden Bildschirm sehen: Klicken Sie auf die Schaltfläche Next:

Datum importieren

Installieren Sie Ihre gewünschten Daten und klicken Sie auf die Schaltfläche Weiter. Sie sollten den folgenden Bildschirm sehen:

E-Mail-Einrichtung

Wählen Sie den gewünschten E-Mail-Agenten und klicken Sie auf die Schaltfläche Weiter. Sie sollten den folgenden Bildschirm sehen:

Lokaler Mail-Agent

Wählen Sie die gewünschte Option und klicken Sie auf die Schaltfläche Next. Sie sollten den folgenden Bildschirm sehen:

Einrichten von Paypal-Zahlungen in Shopware

Konfigurieren Sie Ihr PayPal oder klicken Sie auf die Schaltfläche Überspringen. Sie sollten den folgenden Bildschirm sehen:

Paypal-Sandbox-Modus

Konfigurieren Sie Ihre PayPal-Zugangsdaten oder klicken Sie auf die Schaltfläche Überspringen. Sie sollten den folgenden Bildschirm sehen:

Empfohlene Plugins

Wählen Sie Ihre Region und klicken Sie auf die Schaltfläche Weiter. Sie sollten den folgenden Bildschirm sehen:

Shopware-Konto

Klicken Sie auf die Schaltfläche Skip. Sobald die Shopware konfiguriert ist, sollten Sie den folgenden Bildschirm sehen:

Shopware-Einrichtung abgeschlossen

Klicken Sie auf die Schaltfläche Finish. Auf dem folgenden Bildschirm sollten Sie das Shopware Dashboard sehen:

Shopware 6

Sichere Shopware mit Let’s Encrypt

Bevor Sie beginnen, müssen Sie den Certbot-Client in Ihrem System installieren, um Let’s Encrypt SSL zu installieren und zu verwalten. Sie können ihn mit dem folgenden Befehl installieren:

apt-get install certbot python3-certbot-nginx -y

Sobald der Certbot-Client installiert ist, führen Sie den folgenden Befehl aus, um Let’s Encrypt SSL für Ihre Website herunterzuladen und zu installieren:

certbot --nginx -d shopware.linuxbuz.com

Geben Sie Ihre E-Mail-Adresse an und akzeptieren Sie die unten aufgeführten Bedingungen:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for shopware.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/shopware.conf

Wählen Sie aus, ob HTTP-Verkehr zu HTTPS umgeleitet werden soll oder nicht:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Geben Sie 2 ein und drücken Sie Enter, um den Prozess zu starten. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe sehen:

Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/shopware.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://shopware.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=shopware.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/shopware.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/shopware.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-09-22. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Zu diesem Zeitpunkt ist Ihre Shopware-Website mit Let’s Encrypt SSL gesichert. Sie können nun über die URL https://shopware.linuxbuz.com sicher auf Ihre Website zugreifen.

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben Shopware mit Nginx und Let’s Encrypt SSL auf Ubuntu 20.04 erfolgreich installiert. Sie können nun damit beginnen, Ihr eigenes Online-Geschäft mit Shopware einzurichten. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Das könnte dich auch interessieren …