Nginx
Adobe Commerce unterstützt Nginx 1.x (oder die neueste Hauptversion). Sie müssen auch die neueste Version von php-fpm
installieren.
Die Installationsanweisungen hängen vom verwendeten Betriebssystem ab. Siehe PHP für weitere Informationen.
Ubuntu
Im folgenden Abschnitt wird beschrieben, wie Sie Adobe Commerce 2.x mit nginx, PHP und MySQL auf Ubuntu installieren.
Installieren von nginx
sudo apt -y install nginx
Sie können auch aus der Quelle erstellen
Nachdem wir die folgenden Abschnitte ausgeführt und die Anwendung installiert haben, verwenden wir eine Beispielkonfigurationsdatei zum Konfigurieren von nginx.
Installieren und Konfigurieren von php-fpm
Adobe Commerce benötigt mehrere PHP Extensions um ordnungsgemäß zu funktionieren. Zusätzlich zu diesen Erweiterungen müssen Sie auch die php-fpm
-Erweiterung installieren und konfigurieren, wenn Sie nginx verwenden.
So installieren und konfigurieren Sie php-fpm
:
-
Installieren von
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 verfügbare Version von PHP 7.2.X. Siehe Systemanforderungen für unterstützte PHP-Versionen. -
Ö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 so, dass sie den folgenden Zeilen entsprechen:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = On
note note NOTE Beim Testen von Adobe Commerce wird empfohlen, die Speicherbegrenzung auf 2 G festzulegen. Weitere Informationen finden Sie Erforderliche PHPEinstellungen). -
Speichern und Beenden des Editors.
-
Starten Sie den
php-fpm
neu:code language-bash systemctl restart php7.2-fpm
Installieren und Konfigurieren von MySQL
Weitere Informationen finden Sie MySQL.
Installieren und Konfigurieren
Es gibt verschiedene Möglichkeiten, Adobe Commerce herunterzuladen:
Dieses Beispiel zeigt eine Composer-basierte Installation über die Befehlszeile.
-
Melden Sie als „Dateisystemeigentümer bei Ihrem Anwendungs-Server an.
-
Wechseln Sie in das Verzeichnis des Webservers docroot oder in ein Verzeichnis, das Sie als virtuellen Host docroot konfiguriert haben. Für dieses Beispiel verwenden wir den Ubuntu-
/var/www/html
.code language-bash cd /var/www/html
-
Installieren Sie Composer global. Composer ist erforderlich, um Abhängigkeiten vor der Installation von Adobe Commerce zu 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 nach Aufforderung Ihre Authentifizierungsschlüssel ein. Ihr öffentlicher Schlüssel ist Ihr Benutzername; Ihr privater Schlüssel ist Ihr Kennwort.
-
Legen Sie vor der Installation der Anwendung Lese- und Schreibberechtigungen für die Webservergruppe fest. 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 Befehlszeile. In diesem Beispiel wird davon ausgegangen, dass der Installationsordner
magento2ee
heißt, 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 mithilfe der im Installationsverzeichnis und virtuellen nginx-Host bereitgestellten nginx.conf.sample
-Konfigurationsdatei zu konfigurieren.
In diesen Anweisungen wird davon ausgegangen, dass Sie den Ubuntu-Standardspeicherort für den virtuellen nginx-Host (z. B. /etc/nginx/sites-available
) und den Ubuntu-Standardstammordner (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 include
-Anweisung muss auf die Beispielkonfigurationsdatei nginx in Ihrem Installationsverzeichnis verweisen. -
Ersetzen Sie
www.magento-dev.com
durch Ihren Domain-Namen. Dieser muss mit der Basis-URL übereinstimmen, die Sie bei der Installation von Adobe Commerce angegeben haben. -
Speichern und Beenden des Editors.
-
Aktivieren Sie den neu erstellten virtuellen Host, indem Sie einen Symlink zu ihm im
/etc/nginx/sites-enabled
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
-
Nginx neu starten:
code language-bash systemctl restart nginx
Überprüfen der Installation
Öffnen Sie einen Webbrowser und navigieren Sie zur Basis-URL Ihrer Site, um 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 beim Booten startet:
systemctl start nginx
systemctl enable nginx
Nachdem wir die folgenden Abschnitte ausgeführt und die Anwendung installiert haben, verwenden wir eine Beispielkonfigurationsdatei für die Konfiguration von nginx.
Installieren und Konfigurieren von php-fpm
Adobe Commerce benötigt mehrere PHP-Erweiterungen, um ordnungsgemäß zu funktionieren. Zusätzlich zu diesen Erweiterungen müssen Sie auch die php-fpm
-Erweiterung installieren und konfigurieren, wenn Sie nginx verwenden.
-
Installieren Sie
php-fpm
:code language-bash yum -y install php70w-fpm
-
Öffnen Sie die
/etc/php.ini
in einem Editor. -
Entfernen Sie den Kommentar für die
cgi.fix_pathinfo
und ändern Sie den Wert in0
. -
Bearbeiten Sie die Datei so, dass sie mit den folgenden Zeilen übereinstimmt:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = On
note note NOTE Beim Testen von Adobe Commerce wird empfohlen, die Speicherbegrenzung auf 2 G festzulegen. Weitere Informationen finden Sie Erforderliche PHPEinstellungen). -
Entfernen Sie den Kommentar für den Sitzungspfadordner und legen Sie den Pfad fest:
code language-conf session.save_path = "/var/lib/php/session"
-
Speichern und Beenden des Editors.
-
Öffnen Sie
/etc/php-fpm.d/www.conf
in einem Editor. -
Bearbeiten Sie die Datei so, dass sie mit den folgenden Zeilen übereinstimmt:
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 des Editors.
-
Erstellen Sie ein Verzeichnis für den PHP-Sitzungspfad und ändern Sie den Besitzer in den
apache
Benutzer und die Gruppe: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 PHP-Sitzungspfad und ändern Sie den Besitzer in den
apache
Benutzer und die Gruppe:code language-bash mkdir -p /run/php-fpm/
code language-bash chown -R apache:apache /run/php-fpm/
-
Starten Sie den
php-fpm
-Service und konfigurieren Sie ihn so, dass er beim Starten 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
Installieren und Konfigurieren von MySQL
Weitere Informationen finden Sie MySQL.
Installieren und Konfigurieren
Es gibt verschiedene Möglichkeiten, die Adobe Commerce herunterzuladen, darunter:
Dieses Beispiel zeigt eine Composer-basierte Installation über die Befehlszeile.
-
Melden Sie als „Dateisystemeigentümer bei Ihrem Anwendungs-Server an.
-
Wechseln Sie in das Verzeichnis des Webservers docroot oder in ein Verzeichnis, das Sie als virtuellen Host docroot konfiguriert haben. Für dieses Beispiel verwenden wir den Ubuntu-
/var/www/html
.code language-bash cd /var/www/html
-
Installieren Sie Composer global. Composer ist erforderlich, um Abhängigkeiten vor der Installation von Adobe Commerce zu 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 nach Aufforderung Ihre Authentifizierungsschlüssel ein. Ihr öffentlicher Schlüssel ist Ihr Benutzername; Ihr privater Schlüssel ist Ihr Kennwort.
-
Legen Sie vor der Installation der Anwendung Lese- und Schreibberechtigungen für die Webservergruppe fest. 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 Befehlszeile. In diesem Beispiel wird davon ausgegangen, dass der Installationsordner
magento2ee
heißt, 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 mithilfe der im Installationsverzeichnis und virtuellen nginx-Host bereitgestellten nginx.conf.sample
-Konfigurationsdatei zu konfigurieren.
In diesen Anweisungen wird davon ausgegangen, dass Sie den CentOS-Standardspeicherort für den virtuellen nginx-Host (z. B. /etc/nginx/conf.d
) und den standardmäßigen docroot-Speicherort (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 include
-Anweisung muss auf die Beispielkonfigurationsdatei nginx in Ihrem Installationsverzeichnis verweisen. -
Ersetzen Sie
www.magento-dev.com
durch Ihren Domain-Namen. -
Speichern und Beenden des Editors.
-
Überprüfen Sie, ob die Syntax korrekt ist:
code language-bash nginx -t
-
Nginx neu starten:
code language-bash systemctl restart nginx
Konfigurieren von SELinux und Firewalls
SELinux ist standardmäßig unter CentOS 7 aktiviert. Verwenden Sie den folgenden Befehl, um zu überprüfen, ob er ausgeführt wird:
sestatus
So konfigurieren Sie SELinux und Firewall:
-
Installieren der SELinux-Verwaltungstools:
code language-bash yum -y install policycoreutils-python
-
Führen Sie die folgenden Befehle aus, um den Sicherheitskontext für das Installationsverzeichnis 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 Firewall-Paket:
code language-bash yum -y install firewalld
-
Starten Sie den Firewall-Dienst, und konfigurieren Sie ihn so, dass er beim Starten 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
Überprüfen der Installation
Öffnen Sie einen Webbrowser und navigieren Sie zur Basis-URL Ihrer Site, um Installation zu überprüfen.