Magento Installation · 24 min read · Oct 19, 2025
So installieren Sie die Magento eCommerce Suite auf Rocky Linux 9 mit Elasticsearch

Magento ist eine Open-Source-E-Commerce-Plattform, die in PHP geschrieben ist. Es wurde 2018 von Adobe übernommen. Es wird auch als kommerzielles und cloudbasiertes Produkt angeboten. Sie können Magento verwenden, um professionelle Einkaufswebsites mit hoher Kapazität zu erstellen. Es bietet sowohl einen Einzelgeschäfts- als auch einen Mehrgeschäftsmodus. Es kommt mit vielen Modulen, um seine Funktionalität zu erweitern.
In diesem Tutorial installieren wir die Open-Source-Community-Edition von Magento. Sie bietet alle Funktionen, die Sie benötigen, um einen professionellen Online-Shop einzurichten. Wir werden auch Elasticsearch installieren, um im Produktkatalog zu suchen, Redis für die Sitzung und den Dateicache, und es mit dem Nginx-Server bereitstellen.
Voraussetzungen
- Ein Server, der Rocky Linux 9 mit mindestens 2 GB RAM ausführt. Möglicherweise benötigen Sie mehr RAM, abhängig von Ihren Anforderungen.
- Ein Nicht-Root-Benutzer mit Sudo-Rechten.
- Ein vollständig qualifizierter Domainname (FQDN) für den Server,
magento.example.com - Stellen Sie sicher, dass alles aktualisiert ist.
$ sudo dnf update - Einige Pakete, die Ihr System benötigt.
$ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -yEinige dieser Pakete sind möglicherweise bereits auf Ihrem System installiert.
Schritt 1 - Firewall konfigurieren
Der erste Schritt besteht darin, die Firewall zu konfigurieren. Rocky Linux verwendet die Firewalld-Firewall. Überprüfen Sie den Status der Firewall.
$ sudo firewall-cmd --state
running
Die Firewall arbeitet mit verschiedenen Zonen, und die öffentliche Zone ist die Standardzone, die wir verwenden werden. Listen Sie alle Dienste und Ports auf, die auf der Firewall aktiv sind.
$ sudo firewall-cmd --permanent --list-services
Es sollte die folgende Ausgabe anzeigen.
cockpit dhcpv6-client ssh
Erlauben Sie HTTP- und HTTPS-Ports.
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Überprüfen Sie den Status der Firewall erneut.
$ sudo firewall-cmd --permanent --list-services
Sie sollten eine ähnliche Ausgabe sehen.
cockpit dhcpv6-client http https ssh
Laden Sie die Firewall neu, um die Änderungen zu aktivieren.
$ sudo firewall-cmd --reload
Schritt 2 - PHP und seine Erweiterungen installieren
Rocky Linux 9 wird standardmäßig mit PHP 8.1 ausgeliefert. Um immer auf der neuesten Version von PHP zu bleiben oder wenn Sie mehrere Versionen von PHP installieren möchten, müssen wir das REMI-Repository verwenden.
Der erste Schritt besteht darin, das Epel-Repository zu holen.
$ sudo dnf install epel-release -y
Installieren Sie als Nächstes das Remi-Repository.
$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
Überprüfen Sie die verfügbaren PHP-Streams.
$ dnf module list php -y
Name Stream Profiles Summary
php 8.1 common [d], devel, minimal PHP-Skriptsprache
Remis modulares Repository für Enterprise Linux 9 - x86_64
Name Stream Profiles Summary
php remi-7.4 common [d], devel, minimal PHP-Skriptsprache
php remi-8.0 common [d], devel, minimal PHP-Skriptsprache
php remi-8.1 common [d], devel, minimal PHP-Skriptsprache
php remi-8.2 common [d], devel, minimal PHP-Skriptsprache
php remi-8.3 common [d], devel, minimal PHP-Skriptsprache
Hinweis: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Die Standardversion ist 8.1. Zum Zeitpunkt des Schreibens dieses Tutorials ist Magento mit PHP 8.2 kompatibel. Daher aktivieren Sie Remis PHP 8.2-Repository.
$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.2
Sie können es und die von Magento benötigten Erweiterungen installieren, indem Sie den folgenden Befehl ausführen.
$ sudo dnf install php-fpm php-cli php-mysql php-mbstring php-xml php-gd php-bcmath php-zip php-curl php-tidy php-intl php-soap php-opcache php-xsl php-sodium
Überprüfen Sie die Installation.
$ php --version
PHP 8.2.15 (cli) (built: Jan 16 2024 12:19:32) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.15, Copyright (c) Zend Technologies
mit Zend OPcache v8.2.15, Copyright (c), by Zend Technologies
Schritt 3 - Composer installieren
Composer ist ein Abhängigkeitsverwaltungswerkzeug für PHP und wird für die Installation von Magento benötigt.
Führen Sie die folgenden Befehle aus, um die Composer-Binärdatei herunterzuladen. Magento benötigt Composer 2.2 LTS, daher haben wir den Befehl entsprechend geändert.
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php composer-setup.php --2.2
$ php -r "unlink('composer-setup.php');"
Installieren Sie Composer, indem Sie die Binärdatei in das Verzeichnis /usr/local/bin verschieben.
$ sudo mv composer.phar /usr/local/bin/composer
Überprüfen Sie die Installation, indem Sie die Version überprüfen.
$ composer --version
Composer version 2.2.22 2023-09-29 10:53:45
Schritt 4 - MariaDB installieren
Rocky Linux 9 wird mit einer älteren Version von MariaDB ausgeliefert. Daher werden wir das Repository von MariaDB für die Installation verwenden. Zum Zeitpunkt des Schreibens dieses Tutorials unterstützt Magento MariaDB 10.6, die wir installieren werden.
Importieren Sie den GPG-Schlüssel von MariaDB.
$ sudo rpm --import https://supplychain.mariadb.com/MariaDB-Server-GPG-KEY
Erstellen und öffnen Sie die Datei /etc/yum.repos.d/mariadb.repo zur Bearbeitung.
$ sudo nano /etc/yum.repos.d/mariadb.repo
Fügen Sie den folgenden Code ein.
[mariadb]
name = MariaDB
baseurl = https://rpm.mariadb.org/10.6/rhel/$releasever/$basearch
gpgkey= https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
$ sudo dnf install MariaDB-server
Überprüfen Sie die Version von MySQL.
$ mysql --version
mysql Ver 15.1 Distrib 10.6.16-MariaDB, for Linux (x86_64) using EditLine wrapper
Aktivieren und starten Sie den MariaDB-Dienst.
$ sudo systemctl enable mariadb --now
Führen Sie das Skript zur sicheren Installation von MariaDB aus.
$ sudo mariadb-secure-installation
Sie werden nach dem Root-Passwort gefragt. Drücken Sie Enter, da wir noch kein Passwort dafür festgelegt haben.
HINWEIS: ES WIRD EMPFOHLEN, ALLE TEILE DIESES SKRIPTS FÜR ALLE MariaDB
SERVER IM PRODUKTIONSEINSATZ AUSZUFÜHREN! BITTE JEDEN SCHRITT SORGFÄLTIG LESEN!
Um sich bei MariaDB anzumelden, um es zu sichern, benötigen wir das aktuelle
Passwort für den Root-Benutzer. Wenn Sie MariaDB gerade installiert haben und
noch kein Root-Passwort festgelegt haben, sollten Sie hier einfach die Eingabetaste drücken.
Geben Sie das aktuelle Passwort für root ein (drücken Sie die Eingabetaste für keines):
Als Nächstes werden Sie gefragt, ob Sie zur Unix-Socket-Authentifizierungsmethode wechseln möchten. Das unix_socket-Plugin ermöglicht es Ihnen, Ihre Betriebssystemanmeldeinformationen zu verwenden, um eine Verbindung zum MariaDB-Server herzustellen. Da Sie bereits ein geschütztes Root-Konto haben, geben Sie n ein, um fortzufahren.
OK, erfolgreich Passwort verwendet, weiter...
Das Festlegen des Root-Passworts oder die Verwendung des unix_socket stellt sicher, dass niemand
sich ohne die richtige Autorisierung beim MariaDB-Root-Benutzer anmelden kann.
Sie haben Ihr Root-Konto bereits geschützt, sodass Sie sicher 'n' antworten können.
Wechseln Sie zur unix_socket-Authentifizierung [Y/n] n
Als Nächstes werden Sie gefragt, ob Sie Ihr Root-Passwort ändern möchten. Geben Sie Y ein, um weiterzumachen und Ihr Root-Passwort auf etwas Starkes und Sicheres zu ändern.
... überspringen.
Sie haben Ihr Root-Konto bereits geschützt, sodass Sie sicher 'n' antworten können.
Ändern Sie das Root-Passwort? [Y/n] Y
Neues Passwort:
Neues Passwort erneut eingeben:
Passwort erfolgreich aktualisiert!
Aktualisieren der Berechtigungstabellen..
... Erfolg!
Als Nächstes werden Sie nach bestimmten Fragen gefragt, um die Sicherheit von MariaDB zu verbessern. Geben Sie Y ein, um anonyme Benutzer zu entfernen, remote Root-Logins zu verbieten, die Testdatenbank zu entfernen und die Berechtigungstabellen neu zu laden.
Standardmäßig hat eine MariaDB-Installation einen anonymen Benutzer, der es jedem ermöglicht,
sich bei MariaDB anzumelden, ohne ein Benutzerkonto erstellt zu haben. Dies ist nur für Tests gedacht und soll die Installation etwas reibungsloser gestalten. Sie sollten sie entfernen, bevor Sie in eine Produktionsumgebung wechseln.
Anonyme Benutzer entfernen? [Y/n] y
... Erfolg!
Normalerweise sollte root nur von 'localhost' aus verbinden dürfen. Dies stellt sicher, dass niemand das Root-Passwort über das Netzwerk erraten kann.
Remote-Root-Login verbieten? [Y/n] y
... Erfolg!
Standardmäßig kommt MariaDB mit einer Datenbank namens 'test', auf die jeder zugreifen kann. Dies ist ebenfalls nur für Tests gedacht und sollte entfernt werden, bevor Sie in eine Produktionsumgebung wechseln.
Testdatenbank und Zugriff darauf entfernen? [Y/n] y
- Testdatenbank wird gelöscht...
... Erfolg!
- Berechtigungen für die Testdatenbank werden entfernt...
... Erfolg!
Das Neuladen der Berechtigungstabellen stellt sicher, dass alle bisher vorgenommenen Änderungen sofort wirksam werden.
Berechtigungstabellen jetzt neu laden? [Y/n] y
... Erfolg!
Aufräumen...
Alles erledigt! Wenn Sie alle oben genannten Schritte abgeschlossen haben, sollte Ihre MariaDB-Installation jetzt sicher sein.
Danke, dass Sie MariaDB verwenden!
Sie können die MariaDB-Shell eingeben, indem Sie sudo mysql oder sudo mariadb in die Befehlszeile eingeben.
Schritt 5 - MariaDB konfigurieren
Melden Sie sich bei der MariaDB-Shell an.
$ sudo mariadb
Erstellen Sie eine Datenbank für Magento.
MariaDB > CREATE DATABASE magento;
Erstellen Sie ein SQL-Benutzerkonto.
MariaDB > CREATE USER 'magentouser'@'localhost' IDENTIFIED BY 'Your_password2';
Gewähren Sie dem Benutzer alle Berechtigungen für die Datenbank.
MariaDB > GRANT ALL PRIVILEGES ON magento.* TO 'magentouser'@'localhost';
Aktualisieren Sie die Benutzerberechtigungen.
MariaDB > FLUSH PRIVILEGES;
Verlassen Sie die Shell.
MariaDB > exit
Schritt 6 - Nginx installieren
Rocky Linux 9 wird mit einer älteren Version von Nginx ausgeliefert. Sie müssen das offizielle Nginx-Repository verwenden, um die neueste Version zu installieren.
Erstellen und öffnen Sie die Datei /etc/yum.repos.d/nginx.repo zur Bearbeitung.
$ sudo nano /etc/yum.repos.d/nginx.repo
Fügen Sie den folgenden Code ein.
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Sobald Sie fertig sind, speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Wir werden das Nginx-Mainline installieren, also aktivieren Sie das Paket dafür.
$ sudo dnf config-manager --enable nginx-mainline
Installieren Sie Nginx.
$ sudo dnf install nginx -y
Überprüfen Sie die Installation.
$ nginx -v
nginx version: nginx/1.25.3
Aktivieren und starten Sie den Nginx-Serverdienst.
$ sudo systemctl enable nginx --now
Überprüfen Sie den Dienststatus.
? nginx.service - nginx - Hochleistungs-Webserver
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
Drop-In: /etc/systemd/system/nginx.service.d
??php-fpm.conf
Active: active (running) since Fri 2024-01-26 06:46:17 UTC; 1s ago
Docs: http://nginx.org/en/docs/
Process: 19765 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 19767 (nginx)
Tasks: 3 (limit: 12225)
Memory: 3.1M
CPU: 16ms
CGroup: /system.slice/nginx.service
??19767 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
??19768 "nginx: worker process"
??19769 "nginx: worker process"
Schritt 7 - SSL installieren
Wir müssen Certbot installieren, um das SSL-Zertifikat zu generieren. Wir werden dafür den Snapd-Paketinstaller verwenden. Da Rocky Linux ihn nicht mitliefert, installieren Sie den Snapd-Installer. Er benötigt das EPEL (Extra Packages for Enterprise Linux)-Repository, um zu funktionieren. Da wir es jedoch bereits in Schritt 3 installiert haben, können wir direkt weitermachen.
Installieren Sie das Snapd-Paket.
$ sudo dnf install -y snapd
Aktivieren und starten Sie den Snap-Dienst.
$ sudo systemctl enable snapd --now
Installieren Sie das Snap-Core-Paket und stellen Sie sicher, dass Ihre Version von Snapd auf dem neuesten Stand ist.
$ sudo snap install core && sudo snap refresh core
Erstellen Sie die erforderlichen Links, damit Snapd funktioniert.
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Installieren Sie Certbot.
$ sudo snap install --classic certbot
Verwenden Sie den folgenden Befehl, um sicherzustellen, dass der Certbot-Befehl ausgeführt werden kann, indem Sie einen symbolischen Link zum Verzeichnis /usr/bin erstellen.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Überprüfen Sie, ob Certbot ordnungsgemäß funktioniert.
$ certbot --version
certbot 2.8.0
Führen Sie den folgenden Befehl aus, um ein SSL-Zertifikat zu generieren.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d magento.example.com
Der obige Befehl lädt ein Zertifikat in das Verzeichnis /etc/letsencrypt/live/magento.example.com auf Ihrem Server herunter.
Generieren Sie ein Diffie-Hellman-Gruppe-Zertifikat.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Überprüfen Sie den Zeitplan für den Certbot-Erneuerungsdienst.
$ sudo systemctl list-timers
Sie finden snap.certbot.renew.service als einen der Dienste, die geplant sind.
NÄCHST LINKS LETZTE VERGANGEN EINHEIT AKTIVIERT
-------------------------------------------------------------------------------------------------------------------------------
Fr 2024-01-26 08:05:24 UTC 1h 1min links Fr 2024-01-26 06:35:00 UTC 29min ago dnf-makecache.timer dnf-makecache.service
Fr 2024-01-26 14:20:42 UTC 7h links Do 2024-01-25 14:20:42 UTC 16h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Fr 2024-01-26 22:37:00 UTC 15h links - - snap.certbot.renew.timer snap.certbot.renew.service
Führen Sie einen Testlauf des Prozesses durch, um zu überprüfen, ob die SSL-Erneuerung einwandfrei funktioniert.
$ sudo certbot renew --dry-run
Wenn Sie keine Fehler sehen, sind Sie bereit. Ihr Zertifikat wird automatisch erneuert.
Schritt 8 - Elasticsearch installieren
Elasticsearch wird von Magento für Produktsuchen verwendet. Wir werden Elasticsearch 7.x über sein offizielles Repository installieren, da es die Version ist, die mit Magento 2.4.6 kompatibel ist, die die neueste verfügbare Version ist. Die Anforderungen-Seite erwähnt auch Elasticsearch 8.5, aber es funktioniert nicht richtig mit Magento.
Importieren Sie den GPG-Schlüssel von Elasticsearch.
$ sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Erstellen Sie eine Datei namens elasticsearch.repo im Verzeichnis /etc/yum.repos.d/ und öffnen Sie sie zur Bearbeitung.
$ sudo nano /etc/yum.repos.d/elasticsearch.repo
Fügen Sie den folgenden Code ein.
[elasticsearch]
name=Elasticsearch-Repository für 7.x-Pakete
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
Sobald Sie fertig sind, speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Installieren Sie Elasticsearch.
$ sudo dnf install --enablerepo=elasticsearch elasticsearch
Elasticsearch benötigt viel Speicher. Sie müssen seine Nutzung je nach Servergröße einschränken. Erstellen Sie die Datei /etc/elasticsearch/jvm.options.d/memory.options und öffnen Sie sie zur Bearbeitung.
$ sudo nano /etc/elasticsearch/jvm.options.d/memory.options
Fügen Sie den folgenden Code ein. Ändern Sie die Werte entsprechend Ihrer Servergröße. Der erste Wert bezieht sich auf den anfänglichen Speicher und der zweite auf den maximal verfügbaren Speicher. Verwenden Sie für 1 GB und mehr das Format -Xms1g.
-Xms512m
-Xmx784m
Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden. Dies konfiguriert Elasticsearch so, dass es 1 GB RAM verwendet. Ändern Sie es gemäß Ihren Anforderungen und Server-Spezifikationen.
Starten und aktivieren Sie den Dienst.
$ sudo systemctl enable elasticsearch --now
Überprüfen Sie, ob Elasticsearch funktioniert.
$ curl http://localhost:9200
Sie sollten die folgende Ausgabe sehen.
{
"name" : "magento.example.com",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "saBfw0F_Tam6ayGjXr6pEA",
"version" : {
"number" : "7.17.17",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "aba4da413a368e296dfc64fb20897334d0340aa1",
"build_date" : "2024-01-18T10:05:03.821431920Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
Schritt 9 - Redis-Server installieren
Magento verwendet Redis für die Sitzungs- und Cache-Speicherung. Es ist völlig optional und Sie können die Datenbank für die Sitzungs Speicherung verwenden. Aber Redis macht einen besseren Job. Die neueste Version von Magento funktioniert mit Redis 7.0. Rocky Linux wird mit Redis 6.0 ausgeliefert, daher werden wir das Remi-Repository für die Installation verwenden.
Wir haben das Remi-Repository bereits installiert, als wir PHP in Schritt 2 installiert haben. Listen Sie alle verfügbaren Redis-Module auf.
$ dnf module list redis
Name Stream Profiles Summary
redis 7 common [d] Redis persistente Schlüssel-Wert-Datenbank
Remis modulares Repository für Enterprise Linux 9 - x86_64
Name Stream Profiles Summary
redis remi-5.0 common [d] Redis persistente Schlüssel-Wert-Datenbank
redis remi-6.0 common [d] Redis persistente Schlüssel-Wert-Datenbank
redis remi-6.2 common [d] Redis persistente Schlüssel-Wert-Datenbank
redis remi-7.0 common [d] Redis persistente Schlüssel-Wert-Datenbank
redis remi-7.2 common [d] Redis persistente Schlüssel-Wert-Datenbank
Hinweis: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Aktivieren Sie Redis 7.0.
$ sudo dnf module enable -y redis:remi-7.0
Führen Sie den folgenden Befehl aus, um den Redis-Server zu installieren.
$ sudo dnf install redis
Bestätigen Sie die Redis-Version.
$ redis-server -v
Redis server v=7.0.15 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=77c9855172eb54e9
Aktivieren und starten Sie den Redis-Dienst.
$ sudo systemctl enable redis --now
Lassen Sie uns die Dienstverbindung überprüfen, indem Sie den folgenden Befehl verwenden.
$ redis-cli
Sie werden zur Redis-Shell gewechselt.
Der erste Schritt besteht darin, das Passwort für den Standardbenutzer von Redis festzulegen. Ersetzen Sie Your_Redis_Password durch ein starkes Passwort Ihrer Wahl. Stellen Sie sicher, dass Sie das Passwort mit dem >-Zeichen voranstellen.
127.0.0.1:6379> acl setuser default >Your_Redis_Password
Testen Sie die Redis-Authentifizierung.
127.0.0.1:6379> AUTH Your_Redis_Password
OK
Pingen Sie den Dienst.
127.0.0.1:6379> ping
PONG
Verlassen Sie den Dienst, indem Sie exit eingeben.
Schritt 10 - Magento herunterladen
Erstellen Sie ein Webstammverzeichnis für Magento.
$ sudo mkdir /var/www/html/magento -p
Geben Sie die Rechte für das Magento-Verzeichnis dem aktuellen Benutzer.
$ sudo chown $USER:$USER /var/www/html/magento/ -R
Bevor wir weitergehen, benötigen Sie die Authentifizierungsschlüssel, die für das Magento-Repository erforderlich sind. Besuchen Sie die Website https://commercemarketplace.adobe.com/, klicken Sie auf den Link Anmelden oben rechts, und Sie erhalten die folgende Seite, die Sie auffordert, sich mit Ihrer Adobe-ID anzumelden.

Klicken Sie auf die Schaltfläche Mit Adobe ID anmelden, um zur folgenden Seite zu gelangen.

Wenn Sie eine Adobe-ID haben, geben Sie Ihre Anmeldeinformationen ein, um fortzufahren, oder Sie können hier ein Konto erstellen. Nachdem Sie Ihr Konto erstellt und sich angemeldet haben, öffnen Sie die URL https://commercemarketplace.adobe.com/customer/accessKeys/. Sie können auch auf diese Seite zugreifen, indem Sie Ihr Profil besuchen ( https://commercemarketplace.adobe.com/customer/account/) und auf den Link Zugriffsschlüssel klicken.

Klicken Sie auf die Schaltfläche Einen neuen Zugriffsschlüssel erstellen, um Ihren Authentifizierungsschlüssel zu erstellen. Geben Sie Ihrem Schlüssel zur Identifizierung einen Namen.

Notieren Sie sich sowohl den öffentlichen als auch den privaten Schlüssel für den nächsten Schritt.
Erstellen Sie die Datei ~/.config/composer/auth.json und öffnen Sie sie zur Bearbeitung.
$ nano ~/.config/composer/auth.json
Fügen Sie den folgenden Code ein. Verwenden Sie den öffentlichen Schlüssel für den Benutzernamen und den privaten Schlüssel für das Passwort.
{
"http-basic": {
"repo.magento.com": {
"username": "",
"password": ""
}
}
}
Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Wechseln Sie in das Verzeichnis /var/www/html/magento.
$ cd /var/www/html/magento
Erstellen Sie das Magento-Projekt. Beachten Sie den Punkt am Ende des Befehls. Er bezieht sich auf das aktuelle Verzeichnis, in dem der Befehl ausgeführt wird.
$ composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition .
Sie sollten eine ähnliche Ausgabe sehen.
Erstellen eines Projekts "magento/project-community-edition" in "./"
Installation von magento/project-community-edition (2.4.6-p3)
- Herunterladen von magento/project-community-edition (2.4.6-p3)
- Installation von magento/project-community-edition (2.4.6-p3): Archiv extrahieren
Projekt in /var/www/html/magento/ erstellt.
Laden von Composer-Repositories mit Paketinformationen
Info von https://repo.packagist.org: #StandWithUkraine
Aktualisieren der Abhängigkeiten
Lock-Datei-Operationen: 566 Installationen, 0 Updates, 0 Entfernungen
- Sperren von 2tvenom/cborencode (1.0.2)
- Sperren von adobe-commerce/adobe-ims-metapackage (2.2.0)
- Sperren von allure-framework/allure-codeception (v2.3.0)
- Sperren von allure-framework/allure-php-commons (v2.3.1)
- Sperren von allure-framework/allure-phpunit (v2.1.0)
...............................................
Führen Sie die folgenden Befehle aus, um die Dateiberechtigungen festzulegen und die Magento-Binärdatei ausführbar zu machen. Setzen Sie auch den Besitzer des Magento-Verzeichnisses auf den Nginx-Benutzer, damit er auf die Website zugreifen kann.
$ sudo find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
$ sudo find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
$ sudo chown -R :nginx .
$ sudo chmod u+x bin/magento
Schritt 11 - Magento installieren
Stellen Sie sicher, dass Sie sich im Magento-Verzeichnis befinden.
$ cd /var/www/html/magento
Führen Sie den folgenden Befehl aus, um Magento zu installieren.
$ bin/magento setup:install \
--base-url=http://magento.example.com \
--use-secure=1 \
--base-url-secure=https://magento.example.com \
--use-secure-admin=1 \
--db-host=127.0.0.1 \
--db-name=magento \
--db-user=magentouser \
--db-password=Your_password2 \
--admin-firstname=Navjot \
--admin-lastname=Singh \
[email protected] \
--admin-user=navjot \
--admin-password=admin_password \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1 \
--elasticsearch-host=http://127.0.0.1 \
--elasticsearch-port=9200 \
--session-save=redis \
--session-save-redis-db=0 \
--session-save-redis-password=redis_password \
--cache-backend=redis \
--cache-backend-redis-db=2 \
--cache-backend-redis-password=redis_password \
--page-cache=redis \
--page-cache-redis-db=4 \
--page-cache-redis-password=redis_password
Sobald der Prozess abgeschlossen ist, erhalten Sie eine ähnliche Ausgabe.
.......
[ERFOLG]: Magento-Installation abgeschlossen.
[ERFOLG]: Magento Admin-URI: /admin_l5pv1h
Nichts zu importieren.
Notieren Sie sich die Admin-URI, die Sie später benötigen, um auf das Administrationspanel zuzugreifen.
Erstellen Sie Magento-Cronjobs.
$ php bin/magento cron:install
Überprüfen Sie den Cronjob.
$ crontab -l
Sie sollten die folgende Ausgabe sehen.
#~ MAGENTO START f37deed947b2ea951ad6f939b8ab752bc79587e3d77f40d06f20f0657c98e94d
* * * * * /usr/bin/php /var/www/html/magento/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /var/www/html/magento/var/log/magento.cron.log
#~ MAGENTO END f37deed947b2ea951ad6f939b8ab752bc79587e3d77f40d06f20f0657c98e94d
Schritt 12 - PHP-FPM konfigurieren
Öffnen Sie die Datei /etc/php-fpm.d/www.conf.
$ sudo nano /etc/php-fpm.d/www.conf
Wir müssen den Unix-Benutzer/die Gruppe der PHP-Prozesse auf nginx setzen. Suchen Sie die Zeilen user = apache und group = apache in der Datei und ändern Sie sie in nginx.
...
; Unix-Benutzer/-gruppe der Prozesse
; Hinweis: Der Benutzer ist obligatorisch. Wenn die Gruppe nicht festgelegt ist, wird die Gruppe des Standardbenutzers verwendet.
; wird verwendet.
; RPM: apache-Benutzer, der gewählt wurde, um Zugriff auf dieselben Verzeichnisse wie httpd zu gewähren
user = nginx
; RPM: Halten Sie eine Gruppe, die im Protokollverzeichnis schreiben darf.
group = nginx
...
Suchen Sie die Zeilen listen.owner = nobody, listen.group = nobody, listen.mode = 0660 in der Datei und ändern Sie sie wie folgt, nachdem Sie sie entkommentiert haben.
; Setzen Sie Berechtigungen für den Unix-Socket, falls einer verwendet wird. In Linux müssen Lese-/Schreibberechtigungen festgelegt werden,
; um Verbindungen von einem Webserver zuzulassen.
; Standardwerte: Benutzer und Gruppe sind als laufender Benutzer festgelegt
; Modus ist auf 0660 festgelegt
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Erhöhen Sie die Ausführungszeit auf 180 Sekunden.
$ sudo sed -i 's/max_execution_time = 30/max_execution_time = 180/' /etc/php.ini
Erhöhen Sie das Speicherlimit für PHP-FPM von 128 MB auf 512 MB. Sie können das Limit je nach Servergröße und Anforderungen erhöhen.
$ sudo sed -i 's/memory_limit = 128M/memory_limit = 512M/' /etc/php.ini
Magento setzt standardmäßig das Dateigrößenlimit für die Mediathek auf 2 MB. Führen Sie die folgenden Befehle aus, um das Dateigrößenlimit auf 25 MB zu erhöhen.
$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 25M/g' /etc/php.ini
$ sudo sed -i 's/post_max_size = 8M/post_max_size = 25M/g' /etc/php.ini
Aktivieren Sie die Zlib-Komprimierung.
$ sudo sed -i 's/zlib.output_compression = Off/zlib.output_compression = On/g' /etc/php.ini
Erhöhen Sie die Konfiguration realpath_cache wie gezeigt.
$ sudo sed -i 's/;realpath_cache_size = 4096k/realpath_cache_size = 10M/g' /etc/php.ini
$ sudo sed -i 's/;realpath_cache_ttl = 120/realpath_cache_ttl = 7200/g' /etc/php.ini
Öffnen Sie die Datei /etc/php.d/10-opcache.ini zur Bearbeitung.
$ sudo nano /etc/php.d/10-opcache.ini
Suchen Sie die Zeile ;opcache.save_comments=1 und kommentieren Sie sie wie gezeigt aus.
opcache.save_comments=1
Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Starten Sie den PHP-FPM-Dienst neu.
$ sudo systemctl restart php-fpm
Ändern Sie die Gruppe des PHP-Sitzungsverzeichnisses in Nginx.
$ sudo chgrp -R nginx /var/lib/php/session
Schritt 13 - SELinux konfigurieren
Führen Sie die folgenden Befehle aus, um den Sicherheitskontext für das Magento-Verzeichnis zu ändern.
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/magento/app/etc(/.*)?'
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/magento/var(/.*)?'
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/magento/pub/media(/.*)?'
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/magento/pub/static(/.*)?'
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/magento/generated(/.*)?'
$ sudo restorecon -Rv '/var/www/html/magento/'
Wenden Sie die Richtlinie an, um Verbindungen zu externen Hosts zuzulassen.
$ sudo setsebool -P httpd_can_network_connect 1
Wenden Sie die Richtlinie an, um Nginx den Zugriff auf PostgreSQL zu gewähren.
$ sudo setsebool -P httpd_can_network_connect_db 1
Schritt 14 - Nginx konfigurieren
Öffnen Sie die Datei /etc/nginx/nginx.conf zur Bearbeitung.
$ sudo nano /etc/nginx/nginx.conf
Fügen Sie die folgende Zeile vor der Zeile include /etc/nginx/conf.d/*.conf; hinzu.
server_names_hash_bucket_size 64;
Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Erstellen und öffnen Sie die Datei /etc/nginx/conf.d/magento.conf zur Bearbeitung.
$ sudo nano /etc/nginx/conf.d/magento.conf
Fügen Sie den folgenden Code ein.
upstream fastcgi_backend {
server unix:/run/php-fpm/www.sock;
}
server {
# Leiten Sie alle HTTP-Anfragen auf HTTPS um
listen 80;
listen [::]:80;
server_name magento.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name magento.example.com;
set $MAGE_ROOT /var/www/html/magento;
include /var/www/html/magento/nginx.conf.sample;
client_max_body_size 25m;
access_log /var/log/nginx/magento.access.log;
error_log /var/log/nginx/magento.error.log;
# TLS-Konfiguration
ssl_certificate /etc/letsencrypt/live/magento.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/magento.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/magento.example.com/chain.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
# OCSP Stapling ---
# Holen Sie sich OCSP-Datensätze von der URL im ssl_certificate und cachen Sie sie
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
}
Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden, sobald Sie fertig sind.
Magento kommt mit einer Nginx-Konfigurationsvorlage unter /var/www/magento/nginx.conf.sample, die wir in unserer Konfiguration enthalten haben. Die Variable $MAGE_ROOT verweist auf das Magento-Webstammverzeichnis, das wir in unserer Datei festgelegt haben und in der Beispielkonfigurationsdatei verwendet wird.
Überprüfen Sie die Syntax der Nginx-Konfigurationsdatei.
$ sudo nginx -t
nginx: die Konfigurationsdatei /etc/nginx/nginx.conf Syntax ist ok
nginx: Konfigurationsdatei /etc/nginx/nginx.conf Test war erfolgreich
Starten Sie den Nginx-Dienst neu.
$ sudo systemctl restart nginx
Öffnen Sie die Magento-Website über die URL https://magento.example.com. Sie sollten die folgende Seite sehen.

Wenn das CSS und JS nicht geladen werden, führen Sie die folgenden Befehle aus.
$ cd /var/www/html/magento
$ sudo php bin/magento setup:static-content:deploy -f
$ sudo php bin/magento indexer:reindex
Schritt 15 - Zwei-Faktor-Authentifizierung deaktivieren
Bevor Sie auf das Administrationspanel zugreifen, müssen wir die standardmäßig aktivierte Zwei-Faktor-Authentifizierung deaktivieren. Magento versucht, während der Installation über sendmail E-Mails zu senden, um die Zwei-Faktor-Authentifizierung zu aktivieren, aber da wir das nicht konfiguriert haben, ist der einzige Weg, auf das Dashboard zuzugreifen, diese Funktion zuerst zu deaktivieren.
Wenn Sie sendmail auf Ihrem Server konfiguriert haben, um E-Mails zu senden, können Sie diesen Schritt überspringen. Wir müssen zwei von Magentos Modulen mit den folgenden Befehlen deaktivieren, um die Zwei-Faktor-Authentifizierung zu deaktivieren.
$ sudo php /var/www/html/magento/bin/magento module:disable Magento_AdminAdobeImsTwoFactorAuth
$ sudo php /var/www/html/magento/bin/magento module:disable Magento_TwoFactorAuth
Führen Sie den folgenden Befehl aus, um die Klassen zu erstellen.
$ sudo php /var/www/html/magento/bin/magento setup:di:compile
Löschen Sie auch den Cache.
$ sudo php /var/www/html/magento/bin/magento c:c
Schritt 16 - Auf das Administrationsportal zugreifen
Sie müssen das Administrationsportal mit der URI öffnen, die Ihnen das Magento-Installationsskript gegeben hat. Wenn Sie es irgendwie vergessen haben oder verloren haben, können Sie die URI erneut abrufen, indem Sie den folgenden Befehl ausführen.
$ php /var/www/magento/bin/magento info:adminuri
Admin-URI: /admin_l5pv1h
Öffnen Sie die URL https://magento.example.com/admin_l5pv1h in Ihrem Browser und Sie erhalten den folgenden Bildschirm.

Geben Sie die Administratoranmeldeinformationen ein, die Sie während der Installation angegeben haben, und klicken Sie auf die Schaltfläche Anmelden, um fortzufahren. Sie werden mit dem folgenden Bildschirm begrüßt.

Sie erhalten ein Popup, das um Erlaubnis bittet, dass Adobe Nutzungsdaten sammelt. Klicken Sie auf die Schaltfläche Nicht erlauben, um fortzufahren.
Der nächste Schritt besteht darin, SMTP für E-Mails zu konfigurieren, damit wir die Zwei-Faktor-Authentifizierung wieder aktivieren können. Besuchen Sie das Menü Stores >> Konfiguration.

Erweitern Sie das Erweiterte Menü auf der linken Seite und klicken Sie auf die Option Systeme, um die E-Mail-Einstellungsseite zu öffnen.

Deaktivieren Sie die Systemwert verwenden-Option vor den Optionen Transport, Host und Port. Klicken Sie auf das Dropdown-Menü für den Transport und wählen Sie SMTP aus. Für unser Tutorial verwenden wir Amazon SES als Mailer.

Geben Sie Ihren SMTP-Host, 587 als Port, Benutzernamen und Passwort ein, setzen Sie Auth auf LOGIN und setzen Sie SSL auf TLS in den angegebenen Feldern. Klicken Sie auf die Schaltfläche Konfiguration speichern, wenn Sie fertig sind. Jetzt, da wir die E-Mail-Einstellungen konfiguriert haben, besteht der nächste Schritt darin, die E-Mail-IDs des Shops zu konfigurieren, damit wir sie testen können.
Scrollen Sie nach oben, erweitern Sie das allgemeine Menü auf derselben Seite und wählen Sie die Option E-Mail-Adressen des Shops aus.

Deaktivieren Sie die Standard-Absender-E-Mail-Felder und geben Sie die E-Mail-IDs Ihres Shops ein. Klicken Sie auf die Schaltfläche Konfiguration speichern, wenn Sie fertig sind. Öffnen Sie auf ähnliche Weise den Bildschirm Kontakte, nehmen Sie dieselben Änderungen vor und klicken Sie auf die Schaltfläche Konfiguration speichern, um es abzuschließen.

Änderungen an den Administratoroptionen können den Cache beeinflussen, und Sie erhalten eine Warnung. Führen Sie den folgenden Befehl aus, um den Cache manuell zu leeren.
$ sudo php /var/www/html/magento/bin/magento c:c
Um die E-Mails zu testen, besuchen Sie die Shop-Seite und öffnen Sie die Seite Kontaktieren Sie uns. Sie können die URL https://magento.example.com/contact/ direkt verwenden, um darauf zuzugreifen. Senden Sie eine Testnachricht und klicken Sie auf die Schaltfläche Absenden. Sie sollten eine ähnliche E-Mail erhalten.

Schritt 17 - Zwei-Faktor-Authentifizierung aktivieren und konfigurieren
Jetzt, da wir den SMTP-Mailer aktiviert haben, ist es an der Zeit, die Zwei-Faktor-Authentifizierung wieder zu aktivieren. Führen Sie die folgenden Befehle aus, um die Zwei-Faktor-Authentifizierung zu aktivieren.
$ sudo php /var/www/html/magento/bin/magento module:enable Magento_AdminAdobeImsTwoFactorAuth
$ sudo php /var/www/html/magento/bin/magento module:enable Magento_TwoFactorAuth
Aktualisieren Sie das Setup für die Module.
$ sudo php /var/www/html/magento/bin/magento setup:upgrade
Führen Sie den folgenden Befehl aus, um die Klassen zu erstellen.
$ sudo php /var/www/html/magento/bin/magento setup:di:compile
Löschen Sie auch den Cache.
$ sudo php /var/www/html/magento/bin/magento c:c
Wenn Sie nicht auf den Admin-Bereich zugreifen können, führen Sie auch die folgenden Befehle aus.
Zwingen Sie die Bereitstellung des statischen Inhalts.
$ sudo php /var/www/html/magento/bin/magento setup:static-content:Deploy -f
Setzen Sie die Dateiberechtigungen.
$ cd /var/www/html/magento
$ sudo find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
$ sudo find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
$ sudo chown -R :nginx .
Besuchen Sie das Admin-Portal, und Sie erhalten den folgenden Bildschirm.

Wir werden die Google-Authentifizierungs-Methode verwenden. Sie können einen Hardware-Schlüssel verwenden, wenn Sie einen haben. Die Google-Authentifizierungsmethode funktioniert mit jeder TOTP-App, einschließlich Authy, 1Password, Bitwarden, Microsoft Authenticator usw. Klicken Sie auf die Schaltfläche Anwenden, um fortzufahren.

Auf der nächsten Seite erhalten Sie den QR-Code, den Sie mit Ihrer 2FA-App scannen können. Geben Sie die Details in Ihre App ein und kopieren Sie den generierten Code in das Feld Authenticator-Code. Klicken Sie auf die Schaltfläche Bestätigen, um zum Admin-Dashboard zu gelangen.
Fazit
Damit endet unser Tutorial zur Installation einer Magento-E-Commerce-Website auf einem Rocky Linux 9-Server mit einem Nginx-Server und Elasticsearch. Wenn Sie Fragen haben, posten Sie diese bitte in die Kommentare unten.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.