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:

  1. Installieren von 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 verfügbare Version von PHP 7.2.X. Siehe Systemanforderungen für unterstützte PHP-Versionen.
  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 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).
  4. Speichern und Beenden des Editors.

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

  1. Melden Sie als „Dateisystemeigentümer bei Ihrem Anwendungs-Server an.

  2. 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
    
  3. 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
    
  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 nach Aufforderung Ihre Authentifizierungsschlüssel ein. Ihr öffentlicher Schlüssel ist Ihr Benutzername; Ihr privater Schlüssel ist Ihr Kennwort.

  5. 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
    
  6. Installieren Sie über Befehlszeile. In diesem Beispiel wird davon ausgegangen, dass der Installationsordner magento2ee heißt, 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 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.

  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 include-Anweisung muss auf die Beispielkonfigurationsdatei nginx in Ihrem Installationsverzeichnis verweisen.
  3. 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.

  4. Speichern und Beenden des Editors.

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

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

  1. Installieren Sie php-fpm:

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

  3. Entfernen Sie den Kommentar für die cgi.fix_pathinfo und ändern Sie den Wert in 0.

  4. 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).
  5. Entfernen Sie den Kommentar für den Sitzungspfadordner und legen Sie den Pfad fest:

    code language-conf
    session.save_path = "/var/lib/php/session"
    
  6. Speichern und Beenden des Editors.

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

  8. 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
    
  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 des Editors.

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

  1. Melden Sie als „Dateisystemeigentümer bei Ihrem Anwendungs-Server an.

  2. 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
    
  3. 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
    
  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 nach Aufforderung Ihre Authentifizierungsschlüssel ein. Ihr öffentlicher Schlüssel ist Ihr Benutzername; Ihr privater Schlüssel ist Ihr Kennwort.

  5. 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
    
  6. Installieren Sie über Befehlszeile. In diesem Beispiel wird davon ausgegangen, dass der Installationsordner magento2ee heißt, 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 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.

  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 include-Anweisung muss auf die Beispielkonfigurationsdatei nginx in Ihrem Installationsverzeichnis verweisen.
  3. Ersetzen Sie www.magento-dev.com durch Ihren Domain-Namen.

  4. Speichern und Beenden des Editors.

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

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

  1. Installieren der SELinux-Verwaltungstools:

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

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

Überprüfen der Installation

Öffnen Sie einen Webbrowser und navigieren Sie zur Basis-URL Ihrer Site, um Installation zu überprüfen.

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