Android

Wie installiert man Magento 2 unter Ubuntu 18.04

36 Magento 2 TIPS (Easy-To-Follow) - Must watch!

36 Magento 2 TIPS (Easy-To-Follow) - Must watch!

Inhaltsverzeichnis:

Anonim

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

Mit Funktionen wie attraktiven Einkaufserlebnissen, flexibler modularer Architektur und erstklassiger Skalierbarkeit und Leistung ist Magento eine 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 werden Nginx als Webserver, das neueste PHP 7.2 und MySQL / MariaDB als Datenbankserver verwenden.

Voraussetzungen

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

  • Verfügen Sie über einen Domainnamen, der auf Ihre öffentliche Server-IP verweist. Wir werden example.com Nginx wird auf Ihrem Ubuntu-Server installiert, indem Sie diese Anweisungen befolgen. Ein für Ihre Domain installiertes SSL-Zertifikat zum Verschlüsseln der Benutzerinformationen. Sie können ein kostenloses Let's Encrypt SSL-Zertifikat installieren, indem Sie diese Anweisungen befolgen.

Um auf das Magento 2-Code-Repository zugreifen zu können, müssen Sie Authentifizierungsschlüssel generieren. Wenn Sie keinen Magento Marketplace-Account haben, können Sie hier einen erstellen. Lesen Sie nach dem Erstellen des Kontos diese Anweisungen zum Generieren eines neuen Satzes von Authentifizierungsschlüsseln.

Aktualisieren Sie die Systempakete auf die neuesten Versionen und installieren Sie das Dienstprogramm zum Entpacken:

sudo apt update && sudo apt upgrade sudo apt install unzip

MySQL-Datenbank erstellen

Wenn Sie MySQL oder MariaDB auf Ihrem Server installiert haben, können Sie diesen Schritt überspringen. Andernfalls können Sie das MySQL 5.7-Serverpaket aus den Ubuntu-Standardrepositorys installieren, indem Sie Folgendes eingeben:

sudo apt install mysql-server mysql-client Für neue MySQL-Installationen wird empfohlen, den Befehl mysql_secure_installation , 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;

Als Nächstes erstellen Sie ein MySQL-Benutzerkonto mit dem Namen magento und erteilen dem Benutzer die erforderlichen Berechtigungen, indem Sie den folgenden Befehl magento :

GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Stellen Sie sicher, dass Sie change change-with-strong-password durch ein sicheres change-with-strong-password .

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

EXIT;

Systembenutzer anlegen

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

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

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

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

PHP installieren und konfigurieren

PHP 7.2, die Standard-PHP-Version in Ubuntu 18.04, wird für Magento 2.3 vollständig unterstützt und empfohlen. Da wir Nginx als Webserver verwenden, 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 drucken:

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

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

sudo sed -i "s/memory_limit =.*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/zlib.output_compression =.*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/max_execution_time =.*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini sudo 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 den magento Benutzer magento .

Ö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

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 Befehl ls ausführen:

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

Die Ausgabe sollte ungefähr so ​​aussehen:

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

Composer installieren

Composer ist ein Abhängigkeitsmanager für PHP und wird verwendet, 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 in das Verzeichnis /usr/local/bin :

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 ungefähr so ​​aussehen:

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

Magento installieren

Es gibt verschiedene 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 des Schreibens dieses Artikels ist die neueste stabile Version von Magento Version 2.3.0 . In diesem Tutorial installieren wir Magento mithilfe von Composer aus ihren Repositorys.

magento Sie zum Benutzer magento indem Sie magento eingeben:

sudo su - magento

Starten Sie die Installation, indem Sie die 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 Zugriffsschlüssel einzugeben, die Schlüssel von Ihrem Magento-Marktplatzkonto zu kopieren und in der Datei auth.json speichern, damit Sie später bei der Aktualisierung 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 ? 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 folgendermaßen 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 Store zu installieren:

  • Die sicheren URLs von Base und Base sind auf https://example.com . Ändern Sie diese mit Ihrem Domain-Administrator.
    • John Doe als Vor- und Nachname. [email protected] als E-Mail. john als Benutzername und j0hnP4ssvv0rD als Passwort.
    Datenbankname magento , Benutzername magento , Kennwortänderung change-with-strong-password und der Datenbankserver befinden sich auf demselben Host wie der Webserver. en_US , US-Englisch als Standardsprache. USD Dollar als Standardwährung. America/Chicago als Zeitzone.
Hier finden Sie alle Installationsmöglichkeiten.

Wechseln Sie in das ~/public_html Magento ~/public_html :

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 ( j0hnP4ssvv0rD ) auf etwas sichereres zu ändern.

Der Vorgang kann einige Minuten dauern. Sobald der Vorgang abgeschlossen ist, wird eine Meldung angezeigt, die den URI für das Magento-Administrator-Dashboard enthält.

: Magento installation complete.: 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.

Führen Sie zum Erstellen der Magento-Crontab den folgenden Befehl als magento Benutzer aus:

php ~/public_html/bin/magento cron:install

Crontab has been generated and saved

Stellen Sie sicher, dass die 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 sollte Nginx mit SSL-Zertifikat bereits auf Ihrem Ubuntu-Server installiert sein, wenn Sie nicht die Voraussetzungen für dieses Lernprogramm prüfen.

Wir werden die mit Magento gelieferte Standard-Nginx-Konfiguration einbeziehen.

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-Zertifikatdateien 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 keine Fehler vorliegen, sollte die Ausgabe folgendermaßen aussehen:

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

Starten Sie schließlich 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 bei erfolgreicher Installation wird ein Bildschirm ähnlich dem folgenden angezeigt:

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

Fazit

Herzlichen Glückwunsch, Sie haben Magento 2.3 erfolgreich auf Ihrem Ubuntu 18.04 Server installiert. Sie können jetzt mit dem Anpassen Ihres Geschäfts beginnen.

Die Magento 2.3 Developer Documentation ist ein guter Ausgangspunkt, um mehr über die Verwaltung Ihrer Magento-Installation zu erfahren.

Ubuntu Magento MySQL Mariadb PHP Nginx Composer E-Commerce