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

So installieren Sie Magento 2 unter Ubuntu 18.04

Magento ist die führende E-Commerce-Plattform der Enterprise-Klasse, die auf Open-Source-Technologie basiert und leistungsstarke Funktionen mit Flexibilität und einer benutzerfreundlichen Oberfläche kombiniert.

Mit Funktionen wie fesselnden Einkaufserlebnissen, flexibler modularer Architektur und Skalierbarkeit und Leistung auf Unternehmensniveau ist Magento die Plattform der Wahl für die meisten Online-Händler.

In diesem Tutorial zeigen wir Ihnen, wie Sie Magento 2.3 auf einem Ubuntu 18.04-Rechner installieren. Wir verwenden Nginx als Webserver, das neueste PHP 7.2 und MySQL/MariaDB als Datenbankserver.

Voraussetzungen #

Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit diesem Lernprogramm fortfahren:

  • Haben Sie einen Domänennamen, der auf die IP Ihres öffentlichen Servers verweist. Wir werden example.com verwenden .
  • Nginx wird auf Ihrem Ubuntu-Server installiert, indem Sie diese Anweisungen befolgen.
  • Ein SSL-Zertifikat, das für Ihre Domain installiert ist, um Benutzerinformationen zu verschlüsseln. Sie können ein kostenloses SSL-Zertifikat von Let’s Encrypt installieren, indem Sie diesen Anweisungen folgen.

Um auf das Magento 2-Code-Repository zugreifen zu können, müssen Sie Authentifizierungsschlüssel generieren. Wenn Sie kein Magento Marketplace-Konto haben, können Sie hier eines erstellen. Nachdem Sie das Konto erstellt haben, lesen Sie bitte diese Anweisungen, um einen neuen Satz von Authentifizierungsschlüsseln zu generieren.

Aktualisieren Sie die Systempakete auf die neuesten Versionen und installieren Sie das Unzip-Dienstprogramm:

sudo apt update && sudo apt upgradesudo apt install unzip

Mysql-Datenbank wird erstellt #

Wenn Sie MySQL oder MariaDB auf Ihrem Server installiert haben, können Sie diesen Schritt überspringen, wenn nicht, können Sie das MySQL 5.7-Serverpaket aus den Standard-Repositories von Ubuntu installieren, indem Sie Folgendes eingeben:

sudo apt install mysql-server mysql-client
Für frische MySQL-Installationen wird empfohlen, die mysql_secure_installation auszuführen Befehl, um die Sicherheit Ihres MySQL-Servers zu verbessern.

Melden Sie sich mit dem folgenden Befehl bei der MySQL-Shell an:

sudo mysql

Führen Sie in der MySQL-Shell die folgende SQL-Anweisung aus, um eine neue Datenbank mit dem Namen magento zu erstellen :

CREATE DATABASE magento;

Erstellen Sie als Nächstes ein MySQL-Benutzerkonto mit dem Namen magento und erteilen Sie dem Benutzer die erforderlichen Berechtigungen, indem Sie den folgenden Befehl ausführen:

GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Stellen Sie sicher, dass Sie change-with-strong-password ändern mit einem starken Passwort.

Wenn Sie fertig sind, verlassen Sie die MySQL-Konsole, indem Sie Folgendes eingeben:

EXIT;

Erstellen des Systembenutzers Nr.

Erstellen Sie einen neuen Benutzer und eine neue Gruppe, die Eigentümer des Magento-Dateisystems sein wird. Der Einfachheit halber nennen wir den Benutzer magento :

sudo useradd -m -U -r -d /opt/magento magento

Fügen Sie die www-data hinzu Benutzer zum magento Gruppe und ändern Sie den /opt/magento Verzeichnisberechtigungen, damit Nginx auf die Magento-Installation zugreifen kann:

sudo usermod -a -G magento www-datasudo chmod 750 /opt/magento

Installieren und Konfigurieren von PHP #

PHP 7.2, die Standard-PHP-Version in Ubuntu 18.04, wird vollständig unterstützt und für Magento 2.3 empfohlen. Da wir Nginx als Webserver verwenden werden, installieren wir auch das PHP-FPM-Paket.

Führen Sie den folgenden Befehl aus, um PHP und alle erforderlichen PHP-Module zu installieren:

sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

Der PHP-FPM-Dienst wird nach Abschluss des Installationsvorgangs automatisch gestartet. Sie können dies überprüfen, indem Sie den Dienststatus ausdrucken:

sudo systemctl status php7.2-fpm

Die Ausgabe sollte anzeigen, dass der fpm-Dienst aktiv ist und ausgeführt wird.

● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-12-12 15:47:16 UTC; 5s ago
     Docs: man:php-fpm7.2(8)
 Main PID: 16814 (php-fpm7.2)
   Status: "Ready to handle connections"
    Tasks: 3 (limit: 505)
   CGroup: /system.slice/php7.2-fpm.service

Legen Sie die erforderlichen und empfohlenen PHP-Optionen fest, indem Sie die php.ini bearbeiten Datei mit sed ::

sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

Als nächstes müssen wir einen FPM-Pool für magento erstellen Benutzer.

Öffnen Sie Ihren Texteditor und erstellen Sie die folgende Datei:

sudo nano /etc/php/7.2/fpm/pool.d/magento.conf
/etc/php/7.2/fpm/pool.d/magento.conf
[magento]
user = magento
group = www-data
listen.owner = magento
listen.group = www-data
listen = /var/run/php/php7.2-fpm-magento.sock
pm = ondemand
pm.max_children =  50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /

Starten Sie den PHP-FPM-Dienst neu, damit die Änderungen wirksam werden:

systemctl restart php7.2-fpm

Überprüfen Sie, ob der PHP-Socket erfolgreich erstellt wurde, indem Sie den folgenden ls-Befehl ausführen:

ls -al /var/run/php/php7.2-fpm-magento.sock

Die Ausgabe sollte in etwa so aussehen:

srw-rw---- 1 magento www-data 0 Dec 12 16:07 /var/run/php/php7.2-fpm-magento.sock=

Installieren von Composer #

Composer ist ein Abhängigkeitsmanager für PHP und wir werden ihn verwenden, um den Magento-Kern herunterzuladen und alle erforderlichen Magento-Komponenten zu installieren.

Um Composer global zu installieren, laden Sie das Composer-Installationsprogramm mit Curl herunter und verschieben Sie die Datei nach /usr/local/bin Verzeichnis:

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

Überprüfen Sie die Installation, indem Sie die Composer-Version drucken:

composer --version

Die Ausgabe sollte in etwa so aussehen:

Composer version 1.8.0 2018-12-03 10:31:16

Installieren von Magento #

Es gibt mehrere Möglichkeiten, Magento 2 zu installieren. Vermeiden Sie die Installation von Magento aus dem Github-Repository, da diese Version für die Entwicklung und nicht für Produktionsinstallationen vorgesehen ist.

Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste stabile Version von Magento Version 2.3.0 . In diesem Tutorial installieren wir Magento aus ihren Repositories mit Composer.

Wechseln Sie zum Benutzer magento indem Sie Folgendes eingeben:

sudo su - magento

Starten Sie die Installation, indem Sie Magento-Dateien in das Verzeichnis /opt/magento/public_html herunterladen:

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html

Sie werden aufgefordert, die Zugangsschlüssel einzugeben, die Schlüssel aus Ihrem Magento-Marktplatzkonto zu kopieren und in auth.json zu speichern Datei, sodass Sie später beim Aktualisieren Ihrer Installation nicht dieselben Schlüssel erneut hinzufügen müssen.

    Authentication required (repo.magento.com):
      Username: e758ec1745d190320ca246e4e832e12c
      Password: 
Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? [Yn] Y

Der obige Befehl ruft alle erforderlichen PHP-Pakete ab. Der Vorgang kann einige Minuten dauern und wenn er erfolgreich ist, sollte das Ende der Ausgabe wie folgt aussehen:

Writing lock file
Generating autoload files

Sobald das Projekt erstellt ist, können wir die Magento-Installation starten. Wir können Magento entweder über die Befehlszeile oder mit dem Web-Setup-Assistenten installieren. In diesem Tutorial installieren wir Magento über die Befehlszeile.

Wir werden die folgenden Optionen verwenden, um den Magento-Shop zu installieren:

  • Basis- und sichere Basis-URLs sind auf https://example.com festgelegt , ändern Sie es mit Ihrer Domain.
  • Magento-Administrator:
    • John Doe als Vor- und Nachname.
    • [email protected] als E-Mail.
    • john als Benutzername und j0hnP4ssvv0rD als Passwort.
  • Datenbankname magento , Benutzername magento , Passwort change-with-strong-password und der Datenbankserver befindet sich auf demselben Host wie der Webserver.
  • en_US , US-Englisch als Standardsprache.
  • USD Dollar als Standardwährung.
  • America/Chicago als Zeitzone.
Alle Installationsoptionen finden Sie hier.

Wechseln Sie zu Magento ~/public_html Verzeichnis:

cd ~/public_html

Führen Sie den folgenden Befehl aus, um die Installation zu starten:

php bin/magento setup:install --base-url=https://example.com/ \
        --base-url-secure=https://example.com/ \
        --admin-firstname="John" \
        --admin-lastname="Doe" \
        --admin-email="[email protected]" \
        --admin-user="john" \
        --admin-password="j0hnP4ssvv0rD" \
        --db-name="magento" \
        --db-host="localhost" \
        --db-user="magento" \
        --currency=USD \
        --timezone=America/Chicago \
        --use-rewrites=1 \
        --db-password="change-with-strong-password"
Vergessen Sie nicht, das Passwort zu ändern (j0hnP4ssvv0rD ) zu etwas Sichererem.

Der Vorgang kann einige Minuten dauern und nach Abschluss wird Ihnen eine Nachricht angezeigt, die den URI zum Magento-Admin-Dashboard enthält.

[Progress: 773 / 773]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_13nv5k
Nothing to import.

Magento-crontab erstellen #

Magento verwendet Cron-Jobs, um Aufgaben wie Neuindizierung, Benachrichtigungen, Sitemaps, E-Mails und mehr zu planen.

Um die Magento-Crontab zu erstellen, führen Sie den folgenden Befehl als magento aus Benutzer:

php ~/public_html/bin/magento cron:install
Crontab has been generated and saved

Vergewissern Sie sich, dass crontab installiert ist, indem Sie Folgendes eingeben:

crontab -l
#~ MAGENTO START adc062915d7b30804a2b340095af072d
* * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log
* * * * * /usr/bin/php7.2 /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log
* * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log
#~ MAGENTO END adc062915d7b30804a2b340095af072d

Nginx konfigurieren #

Inzwischen sollten Sie Nginx mit SSL-Zertifikat bereits auf Ihrem Ubuntu-Server installiert haben, wenn nicht, überprüfen Sie die Voraussetzungen für dieses Tutorial.

Wir werden die standardmäßige Nginx-Konfiguration einschließen, die mit Magento geliefert wird.

Wechseln Sie zu Ihrem sudo-Benutzer, öffnen Sie Ihren Texteditor und erstellen Sie die folgende Datei:

sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
upstream fastcgi_backend {
  server   unix:/var/run/php/php7.2-fpm-magento.sock;
}

server {
    listen 80;
    server_name example.com www.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    set $MAGE_ROOT /opt/magento/public_html;
    set $MAGE_MODE developer; # or production

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    include /opt/magento/public_html/nginx.conf.sample;
}
Vergessen Sie nicht, example.com durch Ihre Magento-Domain zu ersetzen und den richtigen Pfad zu den SSL-Zertifikatsdateien festzulegen. Die in dieser Konfiguration verwendeten Snippets werden in diesem Handbuch erstellt.

Führen Sie vor dem Neustart des Nginx-Dienstes einen Test durch, um sicherzustellen, dass keine Syntaxfehler vorliegen:

sudo nginx -t

Wenn es keine Fehler gibt, sollte die Ausgabe so aussehen:

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

Starten Sie abschließend den Nginx-Dienst neu, indem Sie Folgendes eingeben:

sudo systemctl restart nginx

Überprüfen der Installation #

Öffnen Sie Ihren Browser, geben Sie Ihre Domain ein und vorausgesetzt, die Installation ist erfolgreich, wird ein Bildschirm ähnlich dem folgenden angezeigt:

Sie können jetzt zum Magento-Admin-URI gehen, sich als Admin-Benutzer anmelden und mit der Anpassung Ihrer neuen Magento-Installation beginnen.


Ubuntu
  1. So installieren Sie PHP 7.4 / 7.3 / 7.2 unter Ubuntu 18.04 / Ubuntu 16.04

  2. So installieren Sie Magento2 auf Ubuntu 16.04

  3. So installieren Sie PHP 7 unter Ubuntu 14.04

  4. So installieren Sie PHP 7 unter Ubuntu 15.04

  5. So installieren Sie Magento auf Ubuntu 18.04

So installieren Sie Magento unter Ubuntu 15.10

So installieren Sie Magento auf Ubuntu 16.04 LTS

So installieren Sie Magento auf Ubuntu 18.04 LTS

So installieren Sie OwnCloud auf Ubuntu 18.04

So installieren Sie Joomla auf Ubuntu 18.04

So installieren Sie Magento auf Ubuntu 20.04