Shopware CE ist eine kostenlose und Open-Source-E-Commerce-Plattform, die in Symfony und Vue.js geschrieben wurde. Es basiert auf einem recht modernen Technologie-Stack und ist eine sehr gute Alternative zu einer anderen E-Commerce-Anwendung wie Magento. Es ist eine sehr leistungsstarke und flexible Anwendung und gibt Ihnen die Freiheit, Ihr Wachstumspotenzial schnell und einfach auszuschöpfen und sich auf das perfekte Kundenerlebnis zu konzentrieren. Es bietet eine einfache und benutzerfreundliche Verwaltungsoberfläche zum Verwalten von Kunden und Bestellungen. Es ermöglicht 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 auf Ubuntu 20.04 installieren.
Voraussetzungen
- Ein Server mit Ubuntu 20.04 und mindestens 4 GB RAM.
- Ein gültiger Domainname, der auf Ihren Server verweist.
- Auf Ihrem Server ist ein Root-Passwort konfiguriert.
Installieren Sie Nginx und MariaDB
Installieren Sie zuerst 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 den Nginx- und MariaDB-Dienst und ermöglichen Sie ihnen, beim Systemstart zu starten:
systemctl start nginx
systemctl start mariadb
systemctl enable nginx
systemctl enable mariadb
Installieren Sie PHP und andere Komponenten
Shopware 6 unterstützt PHP-Versionen zwischen 7.2 bis 7.3. Daher müssen Sie PHP zusammen mit anderen Bibliotheken in Ihrem System installieren.
Fügen Sie zuerst das PHP-Repository in Ihrem System mit dem folgenden Befehl hinzu:
apt-get install software-properties-common -y
add-apt-repository ppa:ondrej/php
Nachdem das Repository hinzugefügt wurde, 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 es zuerst mit dem folgenden Befehl herunter:
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Extrahieren Sie die heruntergeladene Datei nach dem Herunterladen 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 als Nächstes 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-Loader:
nano /etc/php/7.2/fpm/php.ini
Fügen Sie die folgende Zeile im Abschnitt [PHP] 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 MariaDB-Installation und legen Sie das Root-Passwort mit dem folgenden Skript fest:
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, melden Sie sich mit dem folgenden Befehl bei der MariaDB-Shell an:
mysql -u root -p
Geben Sie Ihr MariaDB-Root-Passwort ein 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';
Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB mit dem folgenden Befehl:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Composer installieren
Composer ist ein Abhängigkeitsmanager für PHP. Es 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
Überprüfen Sie nach der Installation 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 im Nginx-Webstammverzeichnis:
mkdir /var/www/html/shopware
Wechseln Sie als Nächstes in das Verzeichnis 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
Ändern Sie als Nächstes den Eigentümer des Shopware-Verzeichnisses und geben Sie die entsprechenden Berechtigungen mit dem folgenden Befehl:
chown -R www-data:www-data /var/www/html/shopware
chmod -R 755 /var/www/html/shopware
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Nginx für Shopware konfigurieren
Erstellen Sie zunächst eine neue virtuelle Nginx-Host-Konfigurationsdatei 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 Shopware Virtual Host-Datei mit dem folgenden Befehl:
ln -s /etc/nginx/sites-available/shopware.conf /etc/nginx/sites-enabled/
Überprüfen Sie als Nächstes Nginx mit dem folgenden Befehl auf 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
Zugriff auf den Shopware-Installationsassistenten
An dieser Stelle 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:
Wählen Sie Ihre Sprache und klicken Sie auf Weiter Taste. Sie sollten den folgenden Bildschirm sehen:
Stellen Sie sicher, dass alle erforderlichen Abhängigkeiten installiert sind, und klicken Sie dann auf Weiter Taste. Sie sollten den folgenden Bildschirm sehen:
Akzeptieren Sie die Nutzungsbedingungen und klicken Sie auf Weiter Taste. Sie sollten den folgenden Bildschirm sehen:
Geben Sie Ihre Datenbankdetails ein und klicken Sie auf Installation starten Taste. Sobald die Installation erfolgreich abgeschlossen wurde, sollten Sie den folgenden Bildschirm sehen:
Klicken Sie nun auf Weiter Taste. Sie sollten den Shopware-Konfigurationsbildschirm sehen:
Geben Sie Ihren Shop-Namen, Ihre E-Mail-Adresse, Ihr Land, Ihre Administrator-E-Mail-Adresse, Ihren Administrator-Benutzernamen und Ihr Passwort ein und klicken Sie auf Weiter Taste. Sie werden zum Dashboard-Bildschirm von Shopware weitergeleitet:
Klicken Sie auf Weiter Taste. Sie sollten den folgenden Bildschirm sehen:
Installieren Sie Ihre gewünschten Daten und klicken Sie auf Weiter Taste. Sie sollten den folgenden Bildschirm sehen:
Wählen Sie Ihren gewünschten E-Mail-Agenten aus und klicken Sie auf Weiter Taste. Sie sollten den folgenden Bildschirm sehen:
Wählen Sie Ihre gewünschte Option und klicken Sie auf Weiter Taste. Sie sollten den folgenden Bildschirm sehen:
Konfigurieren Sie Ihr PayPal oder klicken Sie auf Überspringen Taste. Sie sollten den folgenden Bildschirm sehen:
Konfigurieren Sie Ihre PayPal-Anmeldeinformationen oder klicken Sie auf Überspringen Taste. Sie sollten den folgenden Bildschirm sehen:
Wählen Sie Ihre Region aus und klicken Sie auf Weiter Taste. Sie sollten den folgenden Bildschirm sehen:
Klicken Sie auf Überspringen Taste. Sobald Shopware konfiguriert ist, sollten Sie den folgenden Bildschirm sehen:
Klicken Sie auf Fertig stellen Taste. Sie sollten das Shopware-Dashboard auf dem folgenden Bildschirm sehen:
Shopware sichern 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 es mit dem folgenden Befehl installieren:
apt-get install certbot python3-certbot-nginx -y
Führen Sie nach der Installation des Certbot-Clients 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 ein und akzeptieren Sie die Nutzungsbedingungen wie unten gezeigt:
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-Datenverkehr auf HTTPS umgeleitet werden soll:
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 die Eingabetaste, um den Vorgang 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
An dieser Stelle ist Ihre Shopware-Website mit Let's Encrypt SSL gesichert. Sie können nun sicher über die URL https://shopware.linuxbuz.com.
auf Ihre Website zugreifenSchlussfolgerung
Herzliche Glückwünsche! Sie haben Shopware mit Nginx und Let’s Encrypt SSL erfolgreich auf Ubuntu 20.04 installiert. Ab sofort können Sie mit Shopware Ihr eigenes Online-Business aufbauen. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.