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

So installieren und konfigurieren Sie Magento 2 unter Ubuntu 18.04

Magento 2 ist der Nachfolger der leistungsstarken Open-Source-E-Commerce-Plattform Magento, die auf Ihren Linux-Distributionen verfügbar ist. Dieses Tutorial enthält die Schritte zum Installieren von Magento 2 mit Nginx unter Ubuntu 18.04. Diese Software ist in PHP geschrieben und verwendet Mysql oder MariaDB für die Datenbank, was bedeutet, dass die Konfiguration mit LEMP erfolgen kann.

Magento 2 ist das neueste Upgrade von Magento, das einige Verbesserungen wie

bietet
  • sowohl Frontend als auch Backend, eines für die Verwaltung und eines für die Kunden des Geschäfts
  • Flexibilität und volle Unterstützung
  • die Seitengeschwindigkeit und die integrierten Plugins...

Das Datenbankdiagramm von Magento 2 unterscheidet sich von Magento 1. Einige Tabellen wurden von Magento 1 umbenannt oder geändert zu Magento 2

  • core_website - store_website (Struktur wurde geändert)
  • core_store - Speicher (Struktur wird nicht geändert)
  • core_translate - Übersetzung
  • core_url_rewrite - url_rewrite
  • core_store_group - store_group (Struktur wird nicht geändert)
  • core_email_template - email_template
  • admin_role - Autorisierungsrolle (Struktur wurde geändert)
  • admin_rule - Autorisierungsregel (Struktur wurde geändert)
  • sales_flat_order - sales_order
  • sales_flat_order_address - sales_order_address
  • sales_flat_order_grid - sales_order_grid
  • sales_flat_order_item - sales_order_item
  • sales_flat_order_payment - sales_order_payment
  • sales_flat_order_status_history - sales_order_status_history
  • coupon_aggregated_order - salesrule_coupon_aggregated_order

Magento scheint tatsächlich nicht vollständig kompatibel mit php 7.2 zu sein Dies ist die Standardinstallation auf Ubuntu 18.04. Es gibt eine Magento-Community auf GitHub, wo versucht wird, die Unterstützung von php-7.2 in Magento zu implementieren.

Sie können unten die verschiedenen PHP-Versionen sehen, die tatsächlich mit Magento 2 kompatibel sind. Sie können die anderen Anforderungen auf der offiziellen Seite von Magento einsehen

1) Installieren Sie die Voraussetzungen

In unserem Tutorial installieren wir Magento 2 mit Nginx auf Ubuntu 18.04 und verwenden die MySQL-Datenbank. Das bedeutet, dass Sie einen laufenden LEMP-Server auf Ihrem Server haben müssen. Magento erfordert einige PHP-Erweiterungen, die Sie installieren müssen

  • bc-math
  • Typ
  • locken
  • Dom
  • gd, ImageMagick 6.3.7 (oder höher) oder beides
  • intl.
  • mbstring
  • mcrypt
  • Hash
  • openssl
  • PDO/MySQL
  • SimpleXML
  • Seife
  • spl
  • libxml
  • xsl
  • zip
  • json
  • iconv

Sie müssen die software-properties-common haben Paket, das bereits in Ubuntu 18.04 und ondrej/php vorhanden ist Repository, das wir hinzufügen werden

# add-apt-repository ppa:ondrej/php -y

Installieren Sie nun php 7.1 mit den Abhängigkeiten

# 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
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  autoconf automake autopoint autotools-dev binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-7 debhelper dh-autoreconf
  dh-php dh-strip-nondeterminism dpkg-dev fakeroot g++ g++-7 gcc gcc-7
...
...

Bitte beachten Sie, dass Sie bei einem zukünftigen Schritt unseres Tutorials blockiert werden, wenn Sie nicht alle diese PHP-Abhängigkeiten installieren.

Bearbeiten Sie dann die Zeilen der Datei /etc/php/7.1/fpm/php.ini um etwas wie unten zu haben und stellen Sie sicher, dass Sie die Werte an Ihre anpassen

# vim /etc/php/7.1/fpm/php.ini
file_uploads = On
upload_max_filesize = 150M
memory_limit = 256M
cgi.fix_pathinfo=0
date.timezone = Cameroon/Douala

Starten Sie PHP 7.1-fpm neu

# systemctl restart php7.1-fpm

2) Erstellen Sie die Magento 2-Datenbank

Jetzt sollten wir uns mit der MySQL-Datenbank verbinden, um die Datenbank für Magento zu erstellen

# mysql -u root -p
Enter password:

Erstellen Sie dann die Magento-Datenbank, Benutzer und gewähren Sie die Berechtigungen

mysql> CREATE DATABASE magentodb;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'magentodb-password';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON magentodb.* TO 'magento'@'localhost' IDENTIFIED BY 'magentodb-password';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

3) Magento 2 herunterladen und konfigurieren

Dieses Tutorial zeigt die Installation von Magento 2.2.5 das ist eigentlich die neueste verfügbare Release-Version. Wir werden es direkt aus dem offiziellen GitHub-Repository von Magento herunterladen

# wget https://github.com/magento/magento2/archive/2.2.5.tar.gz
--2018-07-13 08:24:37-- https://github.com/magento/magento2/archive/2.2.5.tar.gz
Resolving github.com (github.com)... 192.30.253.112, 192.30.253.113
Connecting to github.com (github.com)|192.30.253.112|:443... connected.
HTTP request sent, awaiting response... 302 Found
...
...

Jetzt entpacken

# tar xvf 2.2.5.tar.gz

Verschieben Sie es dann in den Stammordner Ihres Nginx-Servers

# mv magento2-2.2.5/ /var/www/html/magento

Stellen Sie sicher, dass Sie die Berechtigung mit dem Befehl chmod und den Besitz mit dem Befehl chown aktualisieren, wie unten gezeigt:

# chown -R www-data:www-data /var/www/html/ && chmod -R 755 /var/www/html/

Sie können Composer auch benötigen, wenn Sie Magento-Erweiterungen entwickeln möchten. Sie benötigen es auch, wenn Sie zur Codebasis von Magento 2 beitragen möchten.

# apt install composer -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
jsonlint php-cli-prompt php-composer-ca-bundle 
....
....

Überprüfen Sie dann

# composer -V
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Composer 1.6.3 2018-01-31 16:28:17

Jetzt können wir die Magento-Komponenten mit Composer installieren. Dies ist nur möglich, wenn Sie alle PHP-Anforderungen installiert haben

# cd /var/www/html/magento/ && composer install -v
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Dependency resolution completed in 0.001 seconds
Analyzed 177 packages to resolve dependencies
Analyzed 482 rules to resolve dependencies
Package operations: 117 installs, 0 updates, 0 removals
Installs: magento/magento-composer-installer:0.1.13, braintree/braintree_php:3.28.0, colinmollenhour/cache-backend-file:1.4, colinmollenhour/cache-bac
kend-redis:1.10.4, colinmollenhour/credis:1.8.2
...
...

4) Nginx für Magento konfigurieren

Jetzt werden wir Nginx für Magento konfigurieren. Überprüfen Sie den Speicherort des PHP-Sockets, mit dem sich Nginx verbindet. Listen Sie also den Inhalt für das Verzeichnis /var/run/php/ auf

# ls /var/run/php/
php7.1-fpm.pid php7.1-fpm.sock

Bearbeiten Sie nun die Konfigurationsdatei

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

upstream fastcgi_backend {
        server unix:/var/run/php/php7.1-fpm.sock;
}       
        
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        server_name www.mywebstore.com;

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

Sie können die Konfiguration speichern, beenden und den virtuellen Host aktivieren, indem Sie den symbolischen Link wie folgt erstellen

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

Um einige Fehler bezüglich des standardmäßig zu verwendenden virtuellen Hosts zu vermeiden, stellen Sie sicher, dass Sie den Serverblock der nginx-Standardkonfiguration /etc/nginx/sites-available/default bearbeiten um den default_server zu entfernen wie unten erwähnen

#vim /etc/nginx/sites-available/default

server {
        listen 80;
        listen [::]:80;
        # your others line below
}

Wenn Sie dies nicht tun, erhalten Sie einen ähnlichen Fehler wie unten

[emerg] 2369#2369: a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/magento:22

Dies zeigt, dass die beiden virtuellen Hosts als standardmäßig zu verwendender virtueller Host angesehen werden. Überprüfen Sie die Konfiguration

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

Starten Sie jetzt den Nginx-Server neu

# systemctl restart nginx

4) Schließen Sie die Webinstallation des Magento-Assistenten ab

Jetzt können Sie Ihren Webbrowser starten, um die Installation von Magento http://www.yourwebstore.com fortzusetzen, und dann zustimmen

Überprüfen Sie die PHP-Umgebung

Wenn Ihre Umgebung korrekt ist, haben Sie alles in Grün

Konfigurieren Sie nun die bereits erstellte Datenbank mit den zuvor verwendeten Informationen mit der mysql-Befehlszeile

Konfigurieren Sie den Webzugriff. Stellen Sie sicher, dass Sie die Magento-Admin-Adresse beibehalten. Sie können sich die erweiterten Optionen ansehen

Wählen Sie nun die Währung, die Sprache und die Zeitzone, die von Ihrem Shop verwendet werden sollen

Sie können die erweiterte Option sehen, die die zu installierenden Module anzeigt

Konfigurieren Sie das Administratorkonto

Jetzt kann die Installation beginnen

Jetzt sehen Sie eine Zusammenfassung der Konfiguration. Vergessen Sie aus Sicherheitsgründen nicht die wichtigen Erwähnungen auf dieser Seite

Nun sehen Sie die Anmeldeseite. Geben Sie Ihre zuvor erstellten Admin-Parameter ein

Sie können die Dashboard-Startseite Ihres Magento-Webshops sehen. Fühlen Sie sich frei, jede von magento2 bereitgestellte Funktion zu durchsuchen

Sie können die Startseite Ihres Webshops öffnen. Es ist die Seite für den Kunden

Sie können während des Prozesses auf einige Fehler stoßen, wir werden die möglichen Fehler behandeln, die auftreten können.

5) Einige mögliche Fehler beheben

Während des Vorgangs können einige Probleme auftreten, die die Installation Ihres Magento 2 stoppen können. Daher haben wir einige Fehler mit den Korrekturen aufgelistet, die angewendet werden könnten

php FastCGI verweigert

Sie können eine Berechtigung aufgrund der Standard-nginx-Konfigurationsdatei von Magento 2 verweigern lassen, die nicht funktionieren kann. Wenn Sie Ihr Nginx-Protokoll überprüfen, können Sie den Fehler unten sehen

Um es zu beheben, bearbeiten Sie /var/www/html/magento/nginx.conf.sample /setup location block durch Hinzufügen einer bestimmten Zeile wie unten

 # vim /var/www/html/magento/nginx.conf.sample

location ~* ^/setup($|/) {
    root $MAGE_ROOT;
    location ~ ^/setup/index.php {

        ### The only line to add is the one below:
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        ###################
        ## Don't change anything else in the file

Starten Sie dann nginx neu. Sie können einem Thread auf Magento Github zu diesem Problem folgen, wenn Sie Web Setup auf nginx nicht ausführen können

Ein oder mehrere Indexer sind ungültig. Stellen Sie sicher, dass Ihr Magento-Cronjob ausgeführt wird

Wenn Sie zum ersten Mal auf das Admin-Panel zugreifen, können Sie eine Meldung bezüglich der ungültigen Indizes und des Magento-Cron-Jobs erhalten, die wie unten beschrieben nicht richtig funktionieren

Hier müssen Sie alle verfügbaren Indizierungen in Magento 2 neu indizieren. Gehen Sie dazu in das Projektstammverzeichnis

# cd /var/www/html/magento

und führen Sie die Magento-CLI

aus
# php bin/magento indexer:reindex
Design Config Grid index has been rebuilt successfully in 00:00:00
Customer Grid index has been rebuilt successfully in 00:00:00
Category Products index has been rebuilt successfully in 00:00:00
Product Categories index has been rebuilt successfully in 00:00:00
Catalog Rule Product index has been rebuilt successfully in 00:00:00
Product EAV index has been rebuilt successfully in 00:00:00
Stock index has been rebuilt successfully in 00:00:00
Product Price index has been rebuilt successfully in 00:00:00
Catalog Product Rule index has been rebuilt successfully in 00:00:00
Catalog Search index has been rebuilt successfully in 00:00:00

Verwenden Sie nun den Befehl

, um Cron für Magento 2 einzurichten und auszuführen
# php bin/magento cron:run
Ran jobs by schedule.

Cache-Typen werden ungültig gemacht

Sie können sich den ungültig gemachten Cache-Typen stellen. Die Nachricht wird oben angezeigt

Einer oder mehrere der Cache-Typen sind ungültig:Seiten-Cache. Bitte gehen Sie zur Cache-Verwaltung und aktualisieren Sie die Cache-Typen.
Die Gründe für die Invalidierung des Block-Cache können von Produktaktualisierungen, Änderungen der Katalogpreisregeln und auch Erweiterungen von Drittanbietern stammen. Einige laufende Cronjobs können auch dazu führen, dass Block-Caches ungültig werden. Die Auflösung wird in der Nachricht angezeigt, gehen Sie zu System> Cache-Verwaltung

Sie sehen alle Cache-Typen. Klicken Sie nun auf M spülen agento-Cache

Lesen Sie auch:

  • So installieren Sie LAMP Stack auf Ubuntu 18.04
  • So installieren Sie PhpMyAdmin mit LAMP unter Ubuntu 18.04

Sie haben die verschiedenen Schritte, um ein funktionierendes Magento 2 auf Ubuntu 18.04 zu haben. Die Unterstützung von php-7.2 scheint noch nicht fertig zu sein, aber eine Magento-Community arbeitet an diesem Zweck. Sie können den Versuch erzwingen, Magento 2 mit php-7.2 anzupassen, aber wenn der offizielle Support bereit ist, funktioniert Ihr Patch möglicherweise nicht mehr.


Ubuntu
  1. So installieren und konfigurieren Sie Redis unter Ubuntu 18.04

  2. So installieren und konfigurieren Sie Redmine unter Ubuntu 18.04

  3. So installieren Sie Magento 2 unter Ubuntu 18.04

  4. So installieren und konfigurieren Sie Samba unter Ubuntu 18.04

  5. So installieren und konfigurieren Sie Redis unter Ubuntu 20.04

So installieren und konfigurieren Sie Magento 2.3.0 auf Ubuntu 18.04

So installieren und konfigurieren Sie OpenVAS 9 unter Ubuntu

So installieren und konfigurieren Sie Redis in Ubuntu 20.04

So installieren und konfigurieren Sie Neo4j unter Ubuntu 20.04

So installieren und konfigurieren Sie Ubuntu SDK in Ubuntu 16.04 und 14.04

So installieren und konfigurieren Sie PostgreSQL unter Ubuntu