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:

  1. Installieren Sie php-fpm und php-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 .
  2. Ö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
    
  3. 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 .
  4. Speichern und beenden Sie den Editor.

  5. 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.

  1. Melden Sie sich als Dateisysteminhaber bei Ihrem Anwendungsserver an.

  2. 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
    
  3. 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
    
  4. 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.

  5. 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
    
  6. Installieren Sie über die Befehlszeile. In diesem Beispiel wird davon ausgegangen, dass der Installationsordner den Namen magento2ee hat, sich der db-host auf demselben Computer befindet (localhost) und dass die db-name, db-user und db-password alle magento 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
    
  7. 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.

  1. Erstellen Sie einen neuen virtuellen Host für Ihre Site:

    code language-bash
    vim /etc/nginx/sites-available/magento
    
  2. 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.
  3. 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.

  4. Speichern und beenden Sie den Editor.

  5. 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
    
  6. Überprüfen Sie, ob die Syntax korrekt ist:

    code language-bash
    nginx -t
    
  7. 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.

  1. Installieren Sie php-fpm:

    code language-bash
    yum -y install php70w-fpm
    
  2. Öffnen Sie die Datei "/etc/php.ini" in einem Editor.

  3. Heben Sie die Auskommentierung der Zeile cgi.fix_pathinfo auf und ändern Sie den Wert in 0.

  4. 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 .
  5. 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"
    
  6. Speichern und beenden Sie den Editor.

  7. Öffnen Sie /etc/php-fpm.d/www.conf in einem Editor.

  8. 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
    
  9. 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
    
  10. Speichern und beenden Sie den Editor.

  11. 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/
    
  12. 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/
    
  13. 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
    
  14. 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.

  1. Melden Sie sich als Dateisysteminhaber bei Ihrem Anwendungsserver an.

  2. 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
    
  3. 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
    
  4. 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.

  5. 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
    
  6. Installieren Sie über die Befehlszeile. In diesem Beispiel wird davon ausgegangen, dass der Installationsordner den Namen magento2ee hat, sich der db-host auf demselben Computer befindet (localhost) und dass die db-name, db-user und db-password alle magento 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
    
  7. 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.

  1. Erstellen Sie einen neuen virtuellen Host für Ihre Site:

    code language-bash
    vim /etc/nginx/conf.d/magento.conf
    
  2. 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.
  3. Ersetzen Sie www.magento-dev.com durch Ihren Domänennamen.

  4. Speichern und beenden Sie den Editor.

  5. Überprüfen Sie, ob die Syntax korrekt ist:

    code language-bash
    nginx -t
    
  6. 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:

  1. Installieren Sie die SELinux-Verwaltungstools:

    code language-bash
    yum -y install policycoreutils-python
    
  2. 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/'
    
  3. Installieren Sie das Paket firewalld :

    code language-bash
    yum -y install firewalld
    
  4. 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
    
  5. 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.

recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995