Magento Installation · 8 min read · Oct 14, 2025

So installieren Sie Magento 2 mit Nginx und Letsencrypt auf Ubuntu 18.04

Magento ist eine weit verbreitete Open Source E-Commerce-Software und ein Content-Management-System für E-Commerce-Websites, das auf dem PHP Zend Framework basiert. Es verwendet MySQL oder MariaDB als Datenbank-Backend. Die Entwicklung von Magento begann 2008 durch Varien.

In diesem Tutorial zeige ich Ihnen, wie Sie Magento 2 mit Nginx, PHP 7.1 FPM und MySQL als Datenbank installieren. Ich werde Ubuntu 18.04 (Bionic Beaver) als Server-Betriebssystem verwenden. Wenn Sie noch keine minimale Serverkonfiguration haben, lesen Sie bitte dieses Tutorial, um eine ordnungsgemäße Basiskonfiguration zu erhalten.

Voraussetzungen

  • Ubuntu 18.04
  • 2 GB oder mehr RAM
  • Root-Rechte

Was wir tun werden

  1. Nginx auf Ubuntu 18.04 installieren
  2. PHP-FPM 7.1 installieren und konfigurieren
  3. MySQL-Server installieren und konfigurieren
  4. Magento 2 installieren und konfigurieren 1. PHP Composer installieren 2. Magento 2 herunterladen 3. Magento-Komponenten installieren 4. SSL Letsencrypt generieren 5. Nginx-Virtual Host für Magento konfigurieren 6. Magento-Nachinstallation
  5. Testen

Schritt 1 - Nginx auf Ubuntu 18.04 LTS installieren

In diesem Tutorial verwenden wir den Nginx-Webserver für unsere Magento-Installation.

Melden Sie sich beim Server an, aktualisieren Sie das Repository und aktualisieren Sie alle Pakete.

sudo apt update  
sudo apt upgrade

Jetzt installieren Sie den Nginx-Webserver mit dem folgenden apt-Befehl.

sudo apt install nginx -y

Nachdem die Installation abgeschlossen ist, starten Sie den Nginx-Dienst und aktivieren Sie ihn, damit er bei jedem Systemstart gestartet wird.

systemctl start nginx  
systemctl enable nginx

Der Nginx-Webserver wurde installiert, überprüfen Sie dies mit dem netstat-Befehl und stellen Sie sicher, dass der HTTP-Port 80 im Zustand ‘LISTEN’ ist. Eine andere Möglichkeit ist die Verwendung des curl-Befehls wie unten.

netstat -plntu  
curl -I localhost

Installieren Sie den Nginx-Webserver

Schritt 2 - PHP-FPM 7.1 installieren und konfigurieren

Nach der Installation des Nginx-Webservers installieren wir PHP 7.1 auf dem Server, da Magento PHP 7.2 noch nicht unterstützt. Wir werden PHP-FPM mit allen von Magento 2 benötigten Erweiterungen installieren.

Liste der für die Installation von Magento 2 benötigten PHP-Erweiterungen:

  • bc-math
  • ctype
  • curl
  • dom
  • gd, ImageMagick 6.3.7 (oder später) oder beides
  • intl
  • mbstring
  • mcrypt
  • hash
  • openssl
  • PDO/MySQL
  • SimpleXML
  • soap
  • spl
  • libxml
  • xsl
  • zip
  • json
  • iconv

Für diesen Leitfaden installieren wir die PHP-FPM-Pakete aus dem PPA-Repository. Wir verwenden das Repository ‘ondrej/php’.

Installieren Sie das Paket ‘software-properties-common’ und fügen Sie das Repository ‘ondrej/php’ mit den folgenden Befehlen hinzu.

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

Installieren Sie PHP 7.1

Jetzt installieren Sie PHP-FPM 7.1 mit allen benötigten Erweiterungen.

sudo apt install php7.1-fpm php7.1-mcrypt php7.1-curl php7.1-cli php7.1-mysql php7.1-gd php7.1-xsl php7.1-json php7.1-intl php-pear php7.1-dev php7.1-common php7.1-mbstring php7.1-zip php7.1-soap php7.1-bcmath -y

Nachdem die Installation abgeschlossen ist, überprüfen Sie die PHP-Version und die installierten Erweiterungen mit PHP-Befehlen.

php -v  
php -me

Überprüfen der PHP-Installation

Als nächstes konfigurieren wir die php.ini-Datei für PHP-FPM und PHP-CLI.

Bearbeiten Sie die php.ini-Dateien mit vim.

vim /etc/php/7.1/fpm/php.ini  
vim /etc/php/7.1/cli/php.ini

Ändern Sie den Wert dieser Zeilen wie folgt.

memory_limit = 512M
max_execution_time = 180
zlib.output_compression = On

Speichern und beenden Sie.

Jetzt starten Sie den PHP-FPM-Dienst neu und aktivieren Sie ihn, damit er bei jedem Systemstart gestartet wird.

systemctl restart php7.1-fpm  
systemctl enable php7.1-fpm

Die Installation und Konfiguration von PHP-FPM 7.1 ist abgeschlossen, überprüfen Sie den Dienst mit dem netstat-Befehl.

netstat -pl | grep php

Und Sie erhalten die PHP-FPM-Sockeldatei wie unten.

Überprüfen des PHP-FPM-Sockets

Schritt 3 - MySQL-Server installieren und konfigurieren

Die Magento-Software benötigt MySQL 5.6.x, und Magento 2.1.2 oder höher benötigt MySQL 5.7.x. In diesem Tutorial installieren wir den neuesten MySQL-Server 5.8 auf dem Ubuntu 18.04-System.

Installieren Sie MySQL 5.8 mit dem folgenden apt-Befehl.

sudo apt install mysql-server mysql-client -y

Nachdem die Installation abgeschlossen ist, starten Sie den MySQL-Dienst und aktivieren Sie ihn, damit er bei jedem Systemstart gestartet wird.

systemctl start mysql  
systemctl enable mysql

Jetzt konfigurieren wir das MySQL-Root-Passwort mit dem Befehl ‘mysql_secure_installation’.

mysql_secure_installation

In dieser MySQL 5.8-Version gibt es eine Sicherheitsverbesserung für die MySQL-Passwortrichtlinie. Sie müssen die Passwortrichtlinie auswählen - 0 für die NIEDRIGE Richtlinie, 1 für die MITTLERE Richtlinie und 2 für eine STARKE Passwortrichtlinie.

Für diesen Leitfaden verwenden wir die ‘MITTLERE’ Passwortrichtlinie, und es wird empfohlen, die ‘STARKE’ Passwortrichtlinie auf dem Produktionsserver zu verwenden.

Wählen Sie die Nummer ‘1’ und drücken Sie die Eingabetaste, geben Sie dann Ihr neues MySQL-Root-Passwort ein.

Sichern der MySQL-Installation

 Entfernen Sie anonyme Benutzer? (Drücken Sie y|Y für Ja, eine andere Taste für Nein) : Y  
 Verhindern Sie den Remote-Root-Login? (Drücken Sie y|Y für Ja, eine andere Taste für Nein) : Y  
 Entfernen Sie die Testdatenbank und den Zugriff darauf? (Drücken Sie y|Y für Ja, eine andere Taste für Nein) : Y  
 Laden Sie die Berechtigungstabellen jetzt neu? (Drücken Sie y|Y für Ja, eine andere Taste für Nein) : Y

Das MySQL-Root-Passwort wurde eingerichtet.

Als nächstes erstellen wir eine neue Datenbank für unsere Magento-Installation. Wir erstellen eine neue Datenbank mit dem Namen ‘magentodb’ mit dem Benutzer ‘magentouser’ und dem Passwort ‘Magento0463@#’.

Melden Sie sich mit dem Root-Benutzer in der MySQL-Shell an.

mysql -u root -p

Führen Sie jetzt die MySQL-Abfragen aus, um die Datenbank und den Benutzer zu erstellen.

create database magentodb;  
create user magentouser@localhost identified by 'Magento0463@#';  
grant all privileges on magentodb.* to magentouser@localhost identified by 'Magento0463@#';  
flush privileges;

Die Installation und Konfiguration des MySQL-Servers für die Magento-Installation ist abgeschlossen.

Erstellen Sie eine MySQL-Datenbank und einen Benutzer für Magento

Schritt 4 - Magento 2 installieren und konfigurieren

In diesem Schritt installieren wir die neueste Version von Magento 2.2.4 aus dem Github-Repository. Wir installieren den PHP-Composer, um die Magento-Komponenten zu installieren, laden Magento aus dem Github-Repository herunter, konfigurieren den Nginx-Virtual Host für Magento und installieren Magento über die webbasierte Nachinstallation.

- PHP Composer installieren

Installieren Sie PHP Composer auf Ubuntu 18.04 mit dem folgenden apt-Befehl.

sudo apt install composer -y

Nachdem die Installation abgeschlossen ist, überprüfen Sie die auf dem System installierte Composer-Version.

composer -V

Die neueste Version von PHP Composer wurde installiert.

- Magento 2 herunterladen

Gehen Sie in das Verzeichnis ‘/var/www’ und laden Sie den Magento-Archiv-Quellcode von Github mit dem wget-Befehl herunter.

cd /var/www/  
wget https://github.com/magento/magento2/archive/2.2.4.tar.gz

Jetzt extrahieren Sie die Magento-Archivdatei und benennen das Verzeichnis in ‘magento2’ um.

tar -xf 2.2.4.tar.gz  
mv magento2-2.2.4/ magento2/

Der Magento-Quellcode wurde heruntergeladen, und das Verzeichnis ‘/var/www/magento2’ wird das Web-Root für die Magento-Website sein.

- Magento-Komponenten installieren

Installieren Sie die Magento-Komponenten mit dem PHP-Composer. Gehen Sie in das Verzeichnis ‘magento2’ und installieren Sie alle von Magento benötigten PHP-Komponenten mit dem Befehl ‘composer’.

cd /var/www/magento2  
composer install -v

Nachdem die Installation abgeschlossen ist, erhalten Sie das Ergebnis wie unten.

- SSL Letsencrypt generieren

Wir werden unsere Magento-Installation mit SSL von Letsencrypt sichern. Installieren Sie Letsencrypt mit dem folgenden apt-Befehl.

sudo apt install letsencrypt -y

Nachdem die Installation abgeschlossen ist, stoppen Sie den Nginx-Dienst.

systemctl stop nginx

Jetzt generieren Sie die SSL-Zertifikate für den Domainnamen mit dem certbot-Befehl wie unten.

certbot certonly --standalone -d magento.hakase-labs.pw

Geben Sie Ihre E-Mail-Adresse ein, akzeptieren Sie die Letsencrypt-Nutzungsbedingungen, und geben Sie dann ‘N’ für die E-Mail-Weitergabe ein.

Aktivieren Sie das Let's Encrypt SSL-Zertifikat

Wenn es abgeschlossen ist, erhalten Sie das Ergebnis wie unten.

SSL-Zertifikat erfolgreich ausgestellt

Die Letsencrypt-SSL-Zertifikatdateien wurden im Verzeichnis ‘/etc/letsencrypt/live’ generiert.

- Nginx-Virtual Host konfigurieren

Gehen Sie in das Verzeichnis ‘/etc/nginx/sites-available’ und erstellen Sie eine neue Virtual Host-Datei ‘magento’ mit vim.

cd /etc/nginx/sites-available/  
vim magento

Fügen Sie dort die folgende Konfiguration ein.

upstream fastcgi_backend {
        server  unix:/run/php/php7.1-fpm.sock;
}

server {
    listen 80;
    listen [::]:80;
    server_name magento.hakase-labs.pw;
    return 301 https://$server_name$request_uri;
}

server {

        listen 443 ssl;
        server_name magento.hakase-labs.pw;

        ssl on;
        ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.pw/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.pw/privkey.pem;

        set $MAGE_ROOT /var/www/magento2;
        set $MAGE_MODE developer;
        include /var/www/magento2/nginx.conf.sample;
}

Speichern Sie die Konfiguration und beenden Sie.

Aktivieren Sie jetzt den Virtual Host, indem Sie den symbolischen Link für die Magento-Virtual-Host-Datei im Verzeichnis ‘sites-enabled’ erstellen.

ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/

Testen Sie die Nginx-Konfigurationsdatei und stellen Sie sicher, dass es keine Fehler gibt.

ginx -t

Jetzt starten Sie den PHP-FPM- und Nginx-Dienst neu.

systemctl restart php7.1-fpm  
systemctl restart nginx

Und ändern Sie den Besitzer des Magento-Web-Root-Verzeichnisses in den Benutzer und die Gruppe ‘www-data’.

chown -R www-data:www-data /var/www/magento2/

Der Nginx-Virtual Host für Magento wurde hinzugefügt.

- Magento-Nachinstallation

Öffnen Sie den Webbrowser und geben Sie die Magento-URL ein. Meine ist:

https://magento.hakase-labs.pw/

Für die ‘Allgemeinen Geschäftsbedingungen’ klicken Sie auf die Schaltfläche ‘Zustimmen und Magento einrichten’.

Magento-Webinstaller

Überprüfen Sie nun alle System- und Serverkonfigurationen für die Magento ‘Readlines Check’ und stellen Sie sicher, dass alle System- und Konfigurationsprüfungen wie unten ‘bestehen’.

Überprüfen der Voraussetzungen

Klicken Sie nun auf die Schaltfläche ‘Weiter’.

Datenbankkonfiguration für Magento - geben Sie alle unsere Datenbankinformationen ein und klicken Sie auf ‘Weiter’.

Datenbankkonfiguration

Für die Webkonfiguration ändern Sie die ‘Store-Adresse’ auf HTTPS, die ‘Magento-Admin-Adresse’ mit Ihrer Admin-Pfad-URL und deaktivieren Sie die ‘Apache-Rewrites’, da wir den Nginx-Webserver verwenden.

Webkonfiguration

Klicken Sie erneut auf die Schaltfläche ‘Weiter’.

Lassen Sie die ‘Anpassung Ihres Shops’ auf Standard und klicken Sie auf ‘Weiter’.

Magento-Shop anpassen

Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf ‘Weiter’.

Admin-Konto einrichten

Und klicken Sie auf die Schaltfläche ‘Jetzt installieren’, um Magento zu installieren.

Starten Sie die Magento-Installation

Und wenn die Installation abgeschlossen ist, erhalten Sie das Ergebnis ‘Erfolg’ wie unten.

Magento-Installation erfolgreich

Jetzt müssen wir den Schreibzugriff für das Verzeichnis ‘/var/www/magento2/app/etc’ deaktivieren. Führen Sie den folgenden Befehl aus.

sudo chmod -w /var/www/magento2/app/etc

Magento wurde auf dem Ubuntu 18.04 Bionic Beaver-Server installiert.

Schritt 5 - Testen

Geben Sie die Magento-URL-Startadresse ein und stellen Sie sicher, dass Sie die Standard-Startseite von Magento erhalten. Meine ist: https://magento.hakase-labs.pw/

Magento-Startseite

Melden Sie sich jetzt im Magento-Admin-Dashboard an, indem Sie die während der Installation definierte URL ‘admin_hakase’ besuchen. Meine ist:

https://magento.hakase-labs.pw/admin_hakase/

Magento-Backend-Login

Geben Sie den Benutzernamen und das Passwort ein und klicken Sie auf die Schaltfläche ‘Anmelden’.

Und Sie erhalten das Magento-Admin-Dashboard wie unten.

Magento-Dashboard

Magento 2 wurde auf Ubuntu 18.04 mit Nginx-Webserver, MySQL-Datenbank und PHP-FPM 7.1 installiert.

Zusätzliche:

Wenn Sie einen Fehler über einen fehlenden Magento-Indexer-Cronjob erhalten, können Sie ihn beheben, indem Sie das Crontab-Skript mit dem folgenden Befehl generieren.

cd /var/www/magento2  
sudo -u www-data php bin/magento cron:install --force

Überprüfen Sie jetzt die Liste des Crontab-Skripts für den Benutzer ‘www-data’.

crontab -u www-data -l

Einrichten des Magento-Indexer-Cronjobs

Referenz

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.