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

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

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 wurde 2008 von Varien gestartet.

In diesem Tutorial zeigen wir Ihnen Schritt für Schritt, wie Sie Magento 2 auf der neusten Version Ubuntu 20.04 installieren. Wir werden Magento unter dem LEMP-Stack, dem Nginx-Webserver, PHP-FPM 7.3 und dem MariaDB-Server installieren.

Anforderungen

Für dieses Tutorial installieren wir Magento 2 auf dem Ubuntu 20.04-System mit 2 GB RAM, 50 GB freiem Speicherplatz und 2 CPUs.

Was werden wir tun?

  • Nginx-Webserver installieren
  • Installieren und konfigurieren Sie PHP-FPM 7.3
  • Installieren und konfigurieren Sie den MySQL-Server
  • Installieren Sie PHP Composer
  • Magento herunterladen und installieren
  • SSL Letsencrypt generieren
  • Nginx Virtualhost für Magento einrichten
  • Magento-Nachinstallation

Schritt 1 – Nginx-Webserver installieren

Zuerst werden wir den Nginx-Webserver auf dem Ubuntu 20.04-System installieren.

Installieren Sie Nginx mit dem folgenden apt-Befehl.

sudo apt install nginx

Sobald die gesamte Installation abgeschlossen ist, starten Sie den Nginx-Dienst und fügen Sie ihn zum Systemstart hinzu.

systemctl start nginx
systemctl enable nginx

Überprüfen Sie danach den Status des Nginx-Dienstes mit dem folgenden Befehl.

systemctl status nginx

Der Nginx-Webserver läuft auf dem Ubuntu 20.04-Server.

Als nächstes öffnen wir die HTTP- und HTTPS-Ports auf unserem Ubuntu-System.

Führen Sie den folgenden ufw-Befehl aus.

for svc in ssh http https
do
ufw allow $svc
done

Als Ergebnis wurden die SSH-, HTTP- und HTTPS-Dienste zur ufw-Firewallregel hinzugefügt.

Führen Sie nun das enable the ufw firewall mit dem folgenden Befehl aus.

ufw enable

Geben Sie 'y' ein und drücken Sie die Eingabetaste, und Sie haben die ufw-Firewall aktiviert.

Schritt 2 – PHP-FPm 7.3 installieren und konfigurieren

Nach der Installation des Nginx-Webservers installieren wir das PHP-FPM auf unserem Ubuntu 20.04-Server.

Standardmäßig wird Ubuntu 20.04 mit der neuesten Version von PHP/PHP-FPM 7.4 geliefert. Aber vorerst funktioniert Magento nur mit PHP/PHP-FPM 7.3. Und in diesem Schritt installieren wir PHP-FPM 7.3 aus dem PPA-Repository.

Bevor Sie fortfahren, installieren Sie das Paket „software-properties-common“ und fügen Sie das PPA-Repository für PHP 7.3 mit dem folgenden Befehl hinzu.

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

Das 'add-apt-repository' aktualisiert automatisch alle Repositories auf dem System.

Installieren Sie nun PHP-FPM 7.3-Pakete aus dem PPA-Repository mit dem folgenden apt-Befehl.

sudo apt install php7.3-fpm php7.3-common php7.3-curl php7.3-cli php7.3-mysql php7.3-gd php7.3-xml php7.3-json php7.3-intl php-pear php7.3-dev php7.3-common php7.3-mbstring php7.3-zip php7.3-soap php7.3-bcmath php7.3-opcache -y

Und die Installation von PHP-FPM 7.3 ist abgeschlossen.

Gehen Sie danach in das Verzeichnis ‚/etc/php/7.3‘ und bearbeiten Sie die ‚php.ini‘-Konfiguration für PHP-FPM.

cd /etc/php/7.3/
vim fpm/php.ini

Entkommentieren Sie die Konfiguration und ändern Sie sie wie unten beschrieben.

date.timezone = Asia/Singapore
memory_limit = 1G
max_execution_time = 1800
zlib.output_compression = On
cgi.fix_pathinfo = 0

opcache.enable=1
opcache.save_comments = 1

Speichern und schließen.

Starten Sie als Nächstes den PHP-FPM-Dienst und fügen Sie ihn zum Systemstart hinzu.

systemctl start php7.3-fpm
systemctl enable php7.3-fpm

Der PHP-FPM-Dienst ist aktiv und läuft, überprüfen Sie ihn mit dem folgenden Befehl.

ss -xa | grep php
systemctl status php7.3-fpm

Als Ergebnis läuft PHP-FPM auf dem Ubuntu 20.04-Server, es läuft unter der Sock-Datei „/run/php/php7.3-fpm.sock“.

Schritt 3 – MariaDB-Server installieren und konfigurieren

In diesem Schritt installieren wir den MariaDB-Datenbankserver, richten das Standard-Root-Passwort für MariaDB ein und erstellen eine neue Datenbank und einen neuen Benutzer für Magento.

Installieren Sie MariaDB Server-Pakete auf Ubuntu 20.04 mit dem folgenden apt-Befehl.

sudo apt install mariadb-server

Sobald die gesamte Installation abgeschlossen ist, starten Sie den MariaDB-Dienst und fügen Sie ihn zum Systemstart hinzu.

systemctl start mariadb
systemctl enable mariadb

Der MariaDB-Dienst ist eingerichtet und läuft.

Als Nächstes richten wir das MariaDB-Root-Passwort mit dem Dienstprogramm „mysql_secure_instalaltion“ ein.

Führen Sie den 'mysql_secure_instalaltion'-Befehl unten aus.

mysql_secure_installation

Geben Sie Ihr sicheres Passwort für den MariaDB-Root-Benutzer ein und geben Sie „Y“ für alle Konfigurationen ein.

Set a root password? [Y/n] Y
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

Als Ergebnis wurde das MariaDB-Root-Passwort konfiguriert.

Als nächstes erstellen wir eine neue Datenbank und einen neuen Benutzer für die Magento-Installation.

Melden Sie sich mit dem folgenden mysql-Befehl bei der MariaDB/MySQL-Shell an.

mysql -u root -p

Erstellen Sie nun eine neue Datenbank für unsere Magento-Installation. Erstellen Sie die Datenbank ‚magentodb‘ und den Benutzer ‚magentouser‘ mit dem Passwort ‚magentodbpass‘.

Führen Sie die folgenden MySQL-Abfragen aus.

create database magentodb;
create user [email protected]'localhost' identified by 'magentopassdb';
grant all privileges on magentodb.* to [email protected]'localhost';
flush privileges;

Geben Sie nun „exit“ ein, um sich von der MySQL-Shell abzumelden.

Als Ergebnis wurde die neue Datenbank und der Benutzer für die Magento-Installation fertiggestellt.

Schritt 4 - Composer installieren

Composer ist ein Abhängigkeitsmanager für PHP. Es ist ein Paketmanager auf Anwendungsebene für PHP, mit dem Sie zusätzliche PHP-Abhängigkeiten und -Bibliotheken in Ihr PHP-Projekt herunterladen können.

In diesem Schritt installieren wir den PHP Composer aus dem Ubuntu-Repository.

Installieren Sie Composer mit dem folgenden apt-Befehl.

sudo apt install composer -y

Überprüfen Sie nach Abschluss der Installation die Composer-Version unten.

composer --version

Nachfolgend finden Sie die Antwort, die Sie erhalten.

Composer 1.10.1 2020-03-13 20:34:27

Wie zu sehen ist, wurde der Composer 1.10 auf dem Ubuntu 20.04 Server installiert.

Schritt 5 – Laden Sie Magento 2 herunter und installieren Sie es

In diesem Schritt werden wir Magento 2 und alle erforderlichen PHP-Pakete mit dem Composer herunterladen und installieren.

Gehen Sie zunächst in das Verzeichnis „/var/www/“ und laden Sie den Quellcode von Magento 2.3.5 CE (Community Edition) mit dem Befehl wget wie unten beschrieben herunter.

cd /var/www/
wget -q https://github.com/magento/magento2/archive/2.3.5.tar.gz

Wenn alles fertig ist, extrahieren Sie den Magento-Quellcode und benennen Sie das extrahierte Verzeichnis in das Verzeichnis „magento2“ um.

tar -xf 2.3.5.tar.gz
mv magento2-*/ magento2/

Gehen Sie als Nächstes in das Magento-Installationsverzeichnis „/var/www/magento2“ und installieren Sie alle PHP-Paketabhängigkeiten für Magento mit dem Composer-Befehl wie unten beschrieben.

cd /var/www/magento2/
composer install

Sobald die gesamte Installation abgeschlossen ist, legen Sie den Besitz des Magento 2-Installationsverzeichnisses auf den Benutzer „www-data“ fest.

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

Als Ergebnis ist die Installation von Magento 2 und allen Paketabhängigkeiten abgeschlossen.

Schritt 6 – Generieren Sie SSL Letsencrypt

Für dieses Tutorial sichern wir die Magento 2-Installation mit SSL Letsencrypt. Und in diesem Schritt generieren wir die SSL-Letsencrypt mit dem Befehl certbot. Stellen Sie außerdem sicher, dass Ihr Domänenname in die Server-IP-Adresse aufgelöst wird.

Installieren Sie das certbot-Tool mit dem folgenden apt-Befehl.

sudo apt install certbot

Beenden Sie nach Abschluss der Installation den Nginx-Dienst.

systemctl stop nginx
certbot certonly --standalone --agree-tos --no-eff-email --email [email protected] -d magento.hakase-labs.io

Sobald alles abgeschlossen ist, erhalten Sie Ihre SSL-Zertifikate im Verzeichnis „/etc/letsencrypt/live/magento.your-domain.com“.

Als Ergebnis wurde die Installation von SSL Letsencrypt für Magento 2 generiert.

Schritt 7 – Nginx Virtualhost für Magento 2 einrichten

In diesem Schritt fügen wir eine neue virtuelle Nginx-Host-Konfiguration für Magento 2 hinzu.

Gehen Sie in das Verzeichnis ‚/etc/nginx/sites-available/‘ und erstellen Sie eine neue Konfiguration ‚magento‘ mit dem vim-Editor.

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

Fügen Sie die folgende Konfiguration ein.

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

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

server {

        listen 443 ssl http2;
        server_name magento.hakase-labs.io;

        ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.io/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.io/privkey.pem;

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

Speichern und schließen.

Aktivieren Sie als Nächstes den virtuellen Magento Nginx-Host und testen Sie die nginx-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt.

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

Starten Sie nun den Nginx-Dienst mit dem folgenden Befehl neu.

systemctl restart nginx

Als Ergebnis wurde die Konfiguration des virtuellen Nginx-Hosts für Magento 2 erstellt und aktiviert.

Schritt 8 - Magento-Nachinstallation

Öffnen Sie Ihren Webbrowser und geben Sie den Domänennamen Ihrer Magento-Installation in die Adressleiste ein.

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

Jetzt werden Sie auf eine sichere HTTPS-Verbindung umgestellt und erhalten die Magento-Willkommensseite und die Nutzungsbedingungen.

Klicken Sie auf „Zustimmen und Magento einrichten ' um fortzufahren.

Stellen Sie auf der Seite „Bereitschaftsprüfung“ sicher, dass alle Anforderungen grün sind, und klicken Sie auf „Weiter ' Schaltfläche.

Geben Sie die Details der MariaDB-Datenbank und des oben erstellten Benutzers ein und klicken Sie auf "Weiter". '.

Ändern Sie für die „Webkonfiguration“ alle HTTP-Protokolle auf HTTPS und stellen Sie sicher, dass Sie die „Magento-Admin-Adresse“ ändern.

Klicken Sie nun auf „Erweiterte Optionen“ und markieren Sie alle HTTPS-Optionen, deaktivieren Sie dann die Option „Apache Rewrites“ und klicken Sie auf „Weiter“. ' Taste erneut.

Belassen Sie als Nächstes in der Magento-Konfiguration „Customize Your Store“ die Standardeinstellung und klicken Sie auf „Next“. ' Schaltfläche.

Geben Sie nun die Details des Administratorbenutzers, der E-Mail-Adresse und des Kennworts ein. Klicken Sie dann auf Weiter Schaltfläche.

Klicken Sie auf Jetzt installieren klicken, um Ihren Magento 2-Shop zu installieren.

Stellen Sie jetzt sicher, dass die gesamte Installation fehlerfrei ist.

Sobald die gesamte Installation abgeschlossen ist, erhalten Sie 'Erfolg ' Seite wie unten.

Klicken Sie auf 'Magento Admin starten ', um sich bei Ihrem Magento Admin Dashboard anzumelden.

Geben Sie nun Ihren Magento-Admin-Benutzer und Ihr Passwort ein und klicken Sie dann auf Anmelden und Sie erhalten das unten stehende Magento Admin Dashboard.

Öffnen Sie für die Magento-Standardindexseite einen neuen Tab und geben Sie Ihren Domainnamen in die Adressleiste ein.

Unten sehen Sie die Magento-Standardindexseite.

Damit ist die Installation von Magento 2 abgeschlossen.

Als nächstes kehren Sie zu Ihrer Server-Shell zurück und wir richten den Magento Cron ein und entfernen die Berechtigung zum Schreiben eines Magento-Installationsverzeichnisses.

Um den Magento-Cron einzurichten, führen Sie den folgenden Befehl aus.

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

Der Magento-Cron wird unter dem Benutzer ‚www-data‘ ausgeführt, überprüfen Sie dies mit dem folgenden Befehl.

crontab -u www-data -l

Als Ergebnis wurde der Magento Cron dem System hinzugefügt.

Als nächstes müssen wir die Schreibberechtigung des Verzeichnisses ‚/var/www/magento2/app/etc‘ entfernen.

Führen Sie den folgenden chmod-Befehl aus.

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

Und schließlich wurde die Installation von Magento 2 mit Nginx-Webserver, MariaDB-Server, PHP-FPM 7.3 auf dem neuesten Ubuntu 20.04 erfolgreich abgeschlossen.


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

  2. So installieren Sie Magento 2 mit Nginx und Letsencrypt unter Ubuntu 18.04

  3. So installieren Sie Magento mit Nginx unter Ubuntu 16.04

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

  5. Installieren Sie Automad CMS mit Nginx und Lets Encrypt SSL auf Ubuntu 18.04

So installieren Sie ProjectSend mit Apache und Lets Encrypt SSL unter Ubuntu 20.04

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

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

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

So installieren Sie Let’s Encrypt SSL mit Nginx unter Ubuntu 16.04 LTS

So installieren Sie Nginx mit Let’s Encrypt SSL unter Ubuntu 20.04 LTS