Nginx
Adobe Commerce unterstützt nginx 1.x (oder die neueste Hauptversion). Sie müssen auch die neueste Version von php-fpm
installieren.
Installationsanweisungen variieren je nach verwendetem Betriebssystem. Weitere Informationen finden Sie unter PHP .
Ubuntu
Im folgenden Abschnitt wird beschrieben, wie Sie Adobe Commerce 2.x auf Ubuntu mit nginx, PHP und MySQL installieren.
Installieren von nginx
sudo apt -y install nginx
Sie können auch nginx aus Quelle erstellen
Nachdem Sie die folgenden Abschnitte abgeschlossen und die Anwendung installiert haben, verwenden wir eine Beispielkonfigurationsdatei für configure nginx.
php-fpm installieren und konfigurieren
Adobe Commerce benötigt mehrere PHP-Erweiterungen, um ordnungsgemäß zu funktionieren. Zusätzlich zu diesen Erweiterungen müssen Sie auch die Erweiterung php-fpm
installieren und konfigurieren, wenn Sie nginx verwenden.
So installieren und konfigurieren Sie php-fpm
:
-
Installieren Sie
php-fpm
undphp-cli
:code language-bash apt-get -y install php7.2-fpm php7.2-cli
note note NOTE Dieser Befehl installiert die neueste Version von PHP 7.2.X. Informationen zu unterstützten PHP-Versionen finden Sie unter Systemanforderungen . -
Öffnen Sie die
php.ini
-Dateien in einem Editor:code language-bash vim /etc/php/7.2/fpm/php.ini
code language-bash vim /etc/php/7.2/cli/php.ini
-
Bearbeiten Sie beide Dateien entsprechend den folgenden Zeilen:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = On
note note NOTE Es wird empfohlen, die Speicherbegrenzung beim Testen von Adobe Commerce auf 2 G festzulegen. Weitere Informationen finden Sie unter Erforderliche PHP-Einstellungen . -
Speichern und beenden Sie den Editor.
-
Starten Sie den Dienst
php-fpm
neu:code language-bash systemctl restart php7.2-fpm
MySQL installieren und konfigurieren
Weitere Informationen finden Sie unter MySQL .
Installieren und Konfigurieren
Es gibt mehrere Möglichkeiten, Adobe Commerce herunterzuladen, darunter:
Dieses Beispiel zeigt eine Composer-basierte Installation mithilfe der Befehlszeile.
-
Melden Sie sich als Dateisysteminhaber bei Ihrem Anwendungsserver an.
-
Wechseln Sie zum Basisverzeichnis des Webservers oder zu einem Ordner, den Sie als virtuelles Host-Basisverzeichnis konfiguriert haben. Für dieses Beispiel verwenden wir den Ubuntu-Standard
/var/www/html
.code language-bash cd /var/www/html
-
Installieren Sie Composer global. Der Composer muss die Abhängigkeiten vor der Installation von Adobe Commerce aktualisieren:
code language-bash curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
-
Erstellen Sie ein Composer-Projekt mit dem Adobe Commerce-Metapaket.
Magento Open Source
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
Adobe Commerce
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
Geben Sie bei Aufforderung die Authentifizierungsschlüssel ein. Ihr öffentlicher Schlüssel ist Ihr Benutzername; Ihr privater Schlüssel ist Ihr Kennwort.
-
Legen Sie Lese- und Schreibberechtigungen für die Webservergruppe fest, bevor Sie die Anwendung installieren. Dies ist erforderlich, damit die Befehlszeile Dateien in das Dateisystem schreiben kann.
code language-bash cd /var/www/html/<magento install directory>
code language-bash find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
code language-bash find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
code language-bash chown -R :www-data . # Ubuntu
code language-bash chmod u+x bin/magento
-
Installieren Sie über die Befehlszeile. In diesem Beispiel wird davon ausgegangen, dass der Installationsordner den Namen
magento2ee
hat, sich derdb-host
auf demselben Computer befindet (localhost
) und dass diedb-name
,db-user
unddb-password
allemagento
sind:code language-bash bin/magento setup:install \ --base-url=http://localhost/magento2ee \ --db-host=localhost \ --db-name=magento \ --db-user=magento \ --db-password=magento \ --backend-frontname=admin \ --admin-firstname=admin \ --admin-lastname=admin \ --admin-email=admin@admin.com \ --admin-user=admin \ --admin-password=admin123 \ --language=en_US \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1 \ --search-engine=elasticsearch7 \ --elasticsearch-host=es-host.example.com \ --elasticsearch-port=9200
-
Wechseln Sie in den Entwicklermodus:
code language-bash cd /var/www/html/magento2/bin
code language-bash ./magento deploy:mode:set developer
Konfigurieren von nginx
Es wird empfohlen, nginx mit der Konfigurationsdatei nginx.conf.sample
zu konfigurieren, die im Installationsverzeichnis und im nginx-virtuellen Host bereitgestellt wird.
Diese Anweisungen gehen davon aus, dass Sie den Standardspeicherort von Ubuntu für den nginx-virtuellen Host (z. B. /etc/nginx/sites-available
) und das Ubuntu-Standarddocroot (z. B. /var/www/html
) verwenden. Sie können diese Speicherorte jedoch an Ihre Umgebung anpassen.
-
Erstellen Sie einen neuen virtuellen Host für Ihre Site:
code language-bash vim /etc/nginx/sites-available/magento
-
Fügen Sie die folgende Konfiguration hinzu:
code language-conf upstream fastcgi_backend { server unix:/run/php/php7.2-fpm.sock; } server { listen 80; server_name www.magento-dev.com; set $MAGE_ROOT /var/www/html/magento2; include /var/www/html/magento2/nginx.conf.sample; }
note note NOTE Die Anweisung include
muss auf die Beispielkonfigurationsdatei nginx im Installationsverzeichnis verweisen. -
Ersetzen Sie
www.magento-dev.com
durch Ihren Domänennamen. Diese muss mit der Basis-URL übereinstimmen, die Sie bei der Installation von Adobe Commerce angegeben haben. -
Speichern und beenden Sie den Editor.
-
Aktivieren Sie den neu erstellten virtuellen Host, indem Sie im Verzeichnis
/etc/nginx/sites-enabled
einen Symlink dafür erstellen:code language-bash ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled
-
Überprüfen Sie, ob die Syntax korrekt ist:
code language-bash nginx -t
-
Starten Sie nginx neu:
code language-bash systemctl restart nginx
Installation überprüfen
Öffnen Sie einen Webbrowser und navigieren Sie zur Basis-URL Ihrer Site, um die Installation zu überprüfen.
CentOS 7
Im folgenden Abschnitt wird beschrieben, wie Sie Adobe Commerce 2.x unter CentOS 7 mit nginx, PHP und MySQL installieren.
Installieren von nginx
yum -y install epel-release
yum -y install nginx
Nachdem die Installation abgeschlossen ist, starten Sie nginx und konfigurieren Sie es so, dass es zum Startzeitpunkt startet:
systemctl start nginx
systemctl enable nginx
Nach Abschluss der folgenden Abschnitte und der Installation der Anwendung wird eine Beispielkonfigurationsdatei zum Konfigurieren von nginx verwendet.
php-fpm installieren und konfigurieren
Adobe Commerce benötigt mehrere PHP-Erweiterungen, um ordnungsgemäß zu funktionieren. Zusätzlich zu diesen Erweiterungen müssen Sie auch die Erweiterung php-fpm
installieren und konfigurieren, wenn Sie nginx verwenden.
-
Installieren Sie
php-fpm
:code language-bash yum -y install php70w-fpm
-
Öffnen Sie die Datei "
/etc/php.ini
" in einem Editor. -
Heben Sie die Auskommentierung der Zeile
cgi.fix_pathinfo
auf und ändern Sie den Wert in0
. -
Bearbeiten Sie die Datei entsprechend den folgenden Zeilen:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = On
note note NOTE Es wird empfohlen, die Speicherbegrenzung beim Testen von Adobe Commerce auf 2 G festzulegen. Weitere Informationen finden Sie unter Erforderliche PHP-Einstellungen . -
Heben Sie den Kommentar für den Sitzungspfadordner auf und legen Sie den Pfad fest:
code language-conf session.save_path = "/var/lib/php/session"
-
Speichern und beenden Sie den Editor.
-
Öffnen Sie
/etc/php-fpm.d/www.conf
in einem Editor. -
Bearbeiten Sie die Datei entsprechend den folgenden Zeilen:
code language-conf user = nginx group = nginx listen = /run/php-fpm/php-fpm.sock listen.owner = nginx listen.group = nginx listen.mode = 0660
-
Entfernen Sie den Kommentar für die Umgebungszeilen:
code language-conf env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp
-
Speichern und beenden Sie den Editor.
-
Erstellen Sie ein Verzeichnis für den Pfad der PHP-Sitzung und ändern Sie den Inhaber in den Benutzer und die Gruppe
apache
:code language-bash mkdir -p /var/lib/php/session/
code language-bash chown -R apache:apache /var/lib/php/
-
Erstellen Sie ein Verzeichnis für den Pfad der PHP-Sitzung und ändern Sie den Inhaber in den Benutzer und die Gruppe
apache
:code language-bash mkdir -p /run/php-fpm/
code language-bash chown -R apache:apache /run/php-fpm/
-
Starten Sie den Dienst
php-fpm
und konfigurieren Sie ihn so, dass er zum Zeitpunkt des Starts gestartet wird:code language-bash systemctl start php-fpm
code language-bash systemctl enable php-fpm
-
Stellen Sie sicher, dass der
php-fpm
-Dienst ausgeführt wird:code language-bash netstat -pl | grep php-fpm.sock
MySQL installieren und konfigurieren
Weitere Informationen finden Sie unter MySQL .
Installieren und Konfigurieren
Es gibt mehrere Möglichkeiten, die Adobe Commerce herunterzuladen, darunter:
Dieses Beispiel zeigt eine Composer-basierte Installation mithilfe der Befehlszeile.
-
Melden Sie sich als Dateisysteminhaber bei Ihrem Anwendungsserver an.
-
Wechseln Sie zum Basisverzeichnis des Webservers oder zu einem Ordner, den Sie als virtuelles Host-Basisverzeichnis konfiguriert haben. Für dieses Beispiel verwenden wir den Ubuntu-Standard
/var/www/html
.code language-bash cd /var/www/html
-
Installieren Sie Composer global. Der Composer muss die Abhängigkeiten vor der Installation von Adobe Commerce aktualisieren:
code language-bash curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
-
Erstellen Sie ein Composer-Projekt mit dem Adobe Commerce-Metapaket.
Magento Open Source
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
Adobe Commerce
code language-bash composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
Geben Sie bei Aufforderung die Authentifizierungsschlüssel ein. Ihr öffentlicher Schlüssel ist Ihr Benutzername; Ihr privater Schlüssel ist Ihr Kennwort.
-
Legen Sie Lese- und Schreibberechtigungen für die Webservergruppe fest, bevor Sie die Anwendung installieren. Dies ist erforderlich, damit die Befehlszeile Dateien in das Dateisystem schreiben kann.
code language-bash cd /var/www/html/<magento install directory>
code language-bash find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
code language-bash find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
code language-bash chown -R :www-data . # Ubuntu
code language-bash chmod u+x bin/magento
-
Installieren Sie über die Befehlszeile. In diesem Beispiel wird davon ausgegangen, dass der Installationsordner den Namen
magento2ee
hat, sich derdb-host
auf demselben Computer befindet (localhost
) und dass diedb-name
,db-user
unddb-password
allemagento
sind:code language-bash bin/magento setup:install \ --base-url=http://localhost/magento2ee \ --db-host=localhost \ --db-name=magento \ --db-user=magento \ --db-password=magento \ --backend-frontname=admin \ --admin-firstname=admin \ --admin-lastname=admin \ --admin-email=admin@admin.com \ --admin-user=admin \ --admin-password=admin123 \ --language=en_US \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1
-
Wechseln Sie in den Entwicklermodus:
code language-bash cd /var/www/html/magento2/bin
code language-bash ./magento deploy:mode:set developer
Konfigurieren von nginx
Es wird empfohlen, nginx mit der Konfigurationsdatei nginx.conf.sample
zu konfigurieren, die im Installationsverzeichnis und im nginx-virtuellen Host bereitgestellt wird.
Diese Anweisungen gehen davon aus, dass Sie den Standardspeicherort von CentOS für den nginx-virtuellen Host (z. B. /etc/nginx/conf.d
) und das Standarddocroot (z. B. /usr/share/nginx/html
) verwenden. Sie können diese Speicherorte jedoch an Ihre Umgebung anpassen.
-
Erstellen Sie einen neuen virtuellen Host für Ihre Site:
code language-bash vim /etc/nginx/conf.d/magento.conf
-
Fügen Sie die folgende Konfiguration hinzu:
code language-conf upstream fastcgi_backend { server unix:/run/php-fpm/php-fpm.sock; } server { listen 80; server_name www.magento-dev.com; set $MAGE_ROOT /usr/share/nginx/html/magento2; include /usr/share/nginx/html/magento2/nginx.conf.sample; }
note note NOTE Die Anweisung include
muss auf die Beispielkonfigurationsdatei nginx im Installationsverzeichnis verweisen. -
Ersetzen Sie
www.magento-dev.com
durch Ihren Domänennamen. -
Speichern und beenden Sie den Editor.
-
Überprüfen Sie, ob die Syntax korrekt ist:
code language-bash nginx -t
-
Starten Sie nginx neu:
code language-bash systemctl restart nginx
SELinux und Firewall konfigurieren
SELinux ist in CentOS 7 standardmäßig aktiviert. Verwenden Sie den folgenden Befehl, um zu sehen, ob er ausgeführt wird:
sestatus
So konfigurieren Sie SELinux und firewalld:
-
Installieren Sie die SELinux-Verwaltungstools:
code language-bash yum -y install policycoreutils-python
-
Führen Sie die folgenden Befehle aus, um den Sicherheitskontext für den Installationsordner zu ändern:
code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/app/etc(/.*)?'
code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/var(/.*)?'
code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/media(/.*)?'
code language-bash semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/static(/.*)?'
code language-bash restorecon -Rv '/usr/share/nginx/html/magento2/'
-
Installieren Sie das Paket firewalld :
code language-bash yum -y install firewalld
-
Starten Sie den Firewall-Dienst und konfigurieren Sie ihn so, dass er beim Start gestartet wird:
code language-bash systemctl start firewalld
code language-bash systemctl enable firewalld
-
Führen Sie die folgenden Befehle aus, um Ports für HTTP und HTTPS zu öffnen, damit Sie über einen Webbrowser auf die Basis-URL zugreifen können:
code language-bash firewall-cmd --permanent --add-service=http
code language-bash firewall-cmd --permanent --add-service=https
code language-bash firewall-cmd --reload
Installation überprüfen
Öffnen Sie einen Webbrowser und navigieren Sie zur Basis-URL Ihrer Site, um die Installation zu überprüfen.