Wie installiere ich PrestaShop auf AlmaLinux 9
PrestaShop ist eine Open-Source-E-Commerce-Plattform, die effizient auf AlmaLinux läuft und eine robuste Lösung für die Erstellung und Verwaltung von Online-Shops bietet. PrestaShop ist bekannt für seine Flexibilität und sein umfangreiches Funktionsangebot und ermöglicht es den Nutzern, auf einfache Weise anpassbare Onlineshops zu erstellen. Die Plattform unterstützt zahlreiche Zahlungsgateways, Versandmethoden und Marketing-Tools und verbessert so das Einkaufserlebnis für Händler und Kunden. Auf AlmaLinux, einer stabilen und sicheren Linux-Distribution für Unternehmen, profitiert PrestaShop von einer zuverlässigen und leistungsstarken Umgebung. Diese Kombination macht es ideal für Unternehmen aller Größen, die eine professionelle und skalierbare Online-Präsenz aufbauen wollen.
Dieser Leitfaden zeigt dir, wie du PrestaShop auf einem AlmaLinux 9 Server mit dem LAMP Stack (Apache/Htppd, MySQL/MariaDB und PHP) installierst. Außerdem lernst du, wie du PrestaShop mit SSL/TLS-Zertifikaten von Letsencrypt absicherst.
Voraussetzungen
Bevor du fortfährst, solltest du sicherstellen, dass du über die folgenden Voraussetzungen verfügst:
- Einen AlmaLinux 9 Server.
- Einen Nicht-Root-Benutzer mit Root-Rechten.
- Einen Domainnamen, der auf eine Server-IP-Adresse zeigt.
- SELinux mit dem Status permissive.
Installation des LAMP-Stacks
Zuerst musst du die Paketabhängigkeiten installieren, um PrestaShop zu betreiben. In dieser Anleitung wirst du PrestaShop mit dem LAMP-Stack (Apache2/Httpd, MySQL/MariaDB und PHP) betreiben. Für PrestaShop brauchst du mindestens Apache 2.4, PHP 8.1 und MySQL 5.6.
In diesem Schritt installierst du den LAMP Stack mit zusätzlichen PHP-Erweiterungen, die PrestaShop benötigt.
Führe zuvor den folgenden Befehl aus, um EPEL und das Remi-Repository für AlmaLinux zu aktivieren.
sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm
Führe nun den folgenden Befehl aus, um PHP 8.1 über das Remi-Repository zu aktivieren.
sudo dnf module reset php sudo dnf module enable php:remi-8.2
Installiere das LAMP Stack-Paket mit dem unten stehenden Befehl auf deinem AlmaLinux 9 Server.
sudo dnf install httpd mariadb-server php php-curl php-soap php-intl php-zip php-cli php-mysqlnd php-common php-opcache php-memcached php-bcmath php-gd php-mbstring php-xml php-gmp php-imagick
Gib y ein, um mit der Installation fortzufahren.
Gib außerdem y ein, um den GPG-Schlüssel für das Remi-Repository zu akzeptieren.
Nachdem die Installation abgeschlossen ist, starte und aktiviere die Dienste Apache und MariaDB auf deinem System.
Führe den folgenden Befehl aus, um den httpd-Dienst zu starten und zu aktivieren.
sudo systemctl enable httpd sudo systemctl start httpd
Überprüfe dann den httpd-Dienst, um sicherzustellen, dass er läuft.
sudo systemctl status httpd
Wie in der Abbildung unten zu sehen ist, läuft der httpd-Dienst.
Starte und aktiviere als Nächstes den MariaDB-Dienst mit dem unten stehenden Befehl.
sudo systemctl enable mariadb sudo systemctl start mariadb
Sobald MariaDB läuft, überprüfe den Dienst mariadb mit dem folgenden Befehl.
sudo systemctl status mariadb
Du kannst sehen, dass der MariaDB-Dienst auf deinem AlmaLinux-Server läuft.
Überprüfe schließlich mit folgendem Befehl die PHP-Version und die Liste der aktivierten Erweiterungen. Vergewissere dich, dass du PHP 8.1 für die PrestaShop-Installation installiert hast.
php -v php -m
Firewalld einrichten
Nach der Installation von LAMP Stack musst du sowohl HTTP- als auch HTTPS-Dienste über Firewalld öffnen. So können Clients auf deine PrestaShop-Installation zugreifen.
Öffne die HTTP- und HTTPS-Dienste auf firewalld mit dem folgenden Befehl.
sudo firewall-cmd --add-service={http,https} --permanent
Lade firewalld neu, damit deine Änderungen wirksam werden.
sudo firewall-cmd --reload
Überprüfe abschließend die Liste der aktivierten Dienste und Ports in firewalld. Vergewissere dich, dass sowohl HTTP- als auch HTTPS-Dienste zu firewalld hinzugefügt wurden.
sudo firewall-cmd --list-all
PHP einrichten
In diesem Abschnitt richtest du deine PHP-Installation ein, indem du die Standarddatei php.ini bearbeitest. PrestaShop benötigt mindestens 256 MB memory_limit, und außerdem muss die Option allow_url_fopen aktiviert sein. Du musst also deine php.ini-Konfigurationsdatei ändern.
Öffne die PHP-Konfigurationsdatei /etc/php.ini mit dem folgenden nano-Editor.
sudo nano /etc/php.ini
Ändere die Standard-PHP-Konfiguration wie folgt. Achte darauf, dass du die timezone und memory_limit an deine aktuelle Umgebung anpasst.
date.timezone = Europe/Paris max_execution_time = 130 memory_limit = 256M allow_url_fopen = On allow_url_include = Off post_max_size = 128M upload_max_filesize = 128M max_input_vars = 5000
Speichere die Datei und schließe den Editor, wenn du fertig bist.
Führe nun den folgenden systemctl-Befehl aus, um den httpd-Dienst neu zu starten und deine PHP-Konfiguration anzuwenden.
sudo systemctl restart httpd
Einrichten des MariaDB-Servers
Nachdem du nun PHP konfiguriert hast, kannst du mit der Konfiguration des MariaDB-Servers fortfahren. Du wirst deine MariaDB Serverinstallation sichern und dann eine neue Datenbank und einen neuen Benutzer für PrestaShop erstellen.
Um deine MariaDB Serverinstallation zu sichern, führe den folgenden Befehl aus.
sudo mariadb-secure-installation
Wenn der Prozess startet, wirst du nach einigen MariaDB-Konfigurationen gefragt – gib Y ein, um die vorgeschlagene Konfiguration zu übernehmen, oder N, um sie abzulehnen:
- Auf unix_socket-Authentifizierung umschalten? Gib n ein und drücke ENTER. Der Standard-MariaDB-Root-Benutzer ist bereits geschützt. Optional kannst du ihn auch aktivieren, indem du y für yes eingibst.
- Das Root-Passwort ändern? Gib y ein, um zu bestätigen und dein neues MariaDB Root-Passwort einzurichten.
- Anonymen Benutzer entfernen? Gib y ein, um zu bestätigen.
- Root-Login aus der Ferne verbieten? Gib zur Bestätigung y ein. Wenn du den MariaDB Root-Benutzer verwendest, ist nur eine lokale Verbindung erlaubt.
- Die Testdatenbank und den Zugriff auf sie entfernen? Bestätige mit y und entferne die Standarddatenbank „test“.
- Gib abschließend erneut y ein, um alle Tabellenrechte auf deinem MariaDB-Server neu zu laden und die neuen Änderungen anzuwenden.
Nachdem du den MariaDB-Server konfiguriert hast, erstellst du eine neue Datenbank und einen neuen Benutzer für PrestaShop.
Melde dich mit dem unten stehenden Befehl am MariaDB-Server an. Gib dein MariaDB-Root-Passwort ein, wenn du dazu aufgefordert wirst.
sudo mariadb -u root -p
Sobald du eingeloggt bist, führe die folgenden Abfragen aus, um eine neue Datenbank prestashopdb mit dem Benutzer prestashop und dem Passwort psp4ssw0rd zu erstellen.
CREATE DATABASE prestashopdb; GRANT ALL PRIVILEGES ON prestashopdb.* TO 'prestashop'@'localhost' IDENTIFIED BY 'psp4ssw0rd'; FLUSH PRIVILEGES;
Führe nun die folgende Abfrage aus, um die Rechte des Benutzers prestashop zu überprüfen. Vergewissere dich, dass der Benutzer prestashop die Berechtigung hat, auf die Datenbank prestashopdb zuzugreifen.
SHOW GRANTS FOR prestashop@localhost;
Zuletzt gibst du quit ein, um den MariaDB-Server zu verlassen.
Überprüfen der Umgebung für die PrestaShop-Installation
Nachdem du den LAMP-Stack konfiguriert hast, musst du im nächsten Schritt deine PrestaShop-Umgebung überprüfen.
Wechsle in das Verzeichnis /var/www/html und lade den PrestaShop Checker mit dem unten stehenden wget-Befehl herunter. Achte darauf, dass du die neueste Version des PrestaShop-Checkers herunterlädst.
cd /var/www/html/ wget https://github.com/PrestaShop/php-ps-info/archive/refs/tags/v1.1.tar.gz
Nach dem Download entpackst du den Quellcode des PrestaShop-Checkers und benennst das entpackte Verzeichnis in check-ps um.
tar -xzvf v1.1.tar.gz mv php-ps-info-1.1 check-ps
Öffne deinen Webbrowser und rufe die IP-Adresse deines Servers auf, gefolgt von dem Pfad des PrestaShop-Checkers, z. B. http://192.168.5.50/check-ps/phppsinfo.php.
Gib den Standardbenutzer und das Passwort„prestashop“ ein.
Vergewissere dich auf der Seite des PrestaShop-Checkers, dass alle Abhängigkeiten und Systemkonfigurationen mit den PrestaShop-Anforderungen übereinstimmen.
Herunterladen von PrestaShop
In diesem Abschnitt lädst du den PrestaShop-Quellcode auf deinen AlmaLinux-Server herunter. Außerdem richtest du die richtigen Berechtigungen und Eigentumsrechte für den PrestaShop-Quellcode ein.
Gehe in das Verzeichnis /var/www und lade die neueste Version von PrestaShop mit dem unten stehenden wget-Befehl herunter. Schaue auf jeden Fall auf der PrestaShop GitHub-Seite nach, um die neueste stabile Version von PrestaShop zu erhalten.
cd /var/www/ wget https://github.com/PrestaShop/PrestaShop/releases/download/8.1.3/prestashop_8.1.3.zip
Nach dem Download entpackst du den PrestaShop-Quellcode mit dem unten stehenden Befehl unzip in das Verzeichnis /var/www/prestashop. Dieses wird als Stammverzeichnis für PrestaShop verwendet.
unzip prestashop_8.1.3.zip -d /var/www/prestashop
Ändere nun die Eigentümerschaft und die Rechte für das Verzeichnis /var/www/prestashop auf den Benutzer apache.
sudo chown -R apache:apache /var/www/prestashop sudo chmod u+rw /var/www/prestashop
Einrichten des virtuellen Httpd-Hosts
Nachdem du PrestaShop heruntergeladen hast, musst du eine neue httpd Virtual Host-Konfiguration erstellen, die für den Betrieb von PrestaShop verwendet werden soll. Achte also darauf, dass du deinen Domainnamen bereit hast, bevor du den virtuellen Host konfigurierst.
Erstelle eine neue httpd-Konfiguration für den virtuellen Host /etc/httpd/conf.d/prestashop.conf mit dem folgenden Befehl des nano-Editors.
sudo nano /etc/httpd/conf.d/prestashop.conf
Füge die unten stehende Konfiguration in die Datei ein und achte darauf, dass du den Domainnamen durch deine Domain ersetzt.
<VirtualHost *:80> ServerName hwdomain.io ServerAdmin admin@hwdomain.io DocumentRoot /var/www/prestashop <Directory /var/www/prestashop> Options +FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog /var/log/httpd/prestashop_error.log CustomLog /var/log/httpd/prestashop_access.log combined </VirtualHost>
Speichere und beende die Datei, wenn du fertig bist.
Führe nun den folgenden Befehl aus, um deine httpd-Konfiguration zu überprüfen. Wenn du eine korrekte httpd-Syntax hast, bekommst du die Ausgabe Syntax OK.
sudo apachectl configtest
Zum Schluss führst du den folgenden Befehl aus, um den httpd-Dienst neu zu starten und deine neue Konfiguration des virtuellen Hosts zu implementieren. Deine PrestaShop-Installation sollte jetzt erreichbar sein.
sudo systemctl restart httpd
Certbot einrichten
Bevor du mit der PrestaShop-Installation beginnst, solltest du SSL/TLS-Zertifikate erstellen, insbesondere für die Produktion. Das kannst du ganz einfach über Certbot machen.
Installiere Certbot und das Certbot Apache Plugin mit dem folgenden Befehl auf deinem AlmaLinux-Server.
sudo dnf install -y certbot python3-certbot-apache -y
Sobald die Installation abgeschlossen ist, generiere SSL/TLS-Zertifikate für deinen PrestaShop-Domainnamen mit dem folgenden Befehl. Achte darauf, dass du die Angaben Domainname und E-Mail-Adresse im folgenden Befehl änderst.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email alice@hwdomain.io -d hwdomain.io
Damit werden deine SSL/TLS-Zertifikate im Verzeichnis /etc/letsencrypt/live/domain.com erzeugt. Außerdem wird deine PrestaShop-Installation über das Certbot Apache Plugin automatisch mit HTTPS konfiguriert.
Installation von PrestaShop
Öffne deinen Webbrowser und besuche deine PrestaShop-Domain, die https://hwdomain.io/ heißt. Wenn deine Installation erfolgreich war, wird die PrestaShop-Installationsseite angezeigt.
Wähle zunächst die Standardsprache Englisch und klicke dann auf Weiter.
Wähle jetzt Zustimmen, um die Lizenzvereinbarung für PrestaShop zu akzeptieren und klicke auf Weiter.
Gib deinen Shop-Namen, deinen Admin-Benutzer, dein Passwort und deine E-Mail-Adresse ein, die als Administrator für deine PrestaShop-Installation verwendet werden soll. Klicke dann auf Weiter, um fortzufahren.
Für die Shopkonfiguration kannst du Demodaten installieren und auf Weiter klicken.
Als Nächstes gibst du den Namen, den Benutzer und das Passwort deiner MariaDB-Datenbank ein. Klicke dann wieder auf Weiter.
Nach Abschluss der Installation erhältst du eine Konfiguration wie diese – Du kannst auch eine zusätzliche Anleitung zum Löschen des PrestaShop-Installationsverzeichnisses sehen:
PrestaShop Homepage.
Gehe zurück zu deinem Terminal und führe den folgenden Befehl aus, um das PrestaShop-Installationsverzeichnis zu löschen.
rm -rf /var/www/prestashop/install
Zum Schluss führst du den folgenden Befehl aus, um das Lesen und Schreiben für PrestaShop-Verzeichnisse zu erlauben.
chmod u+rw /var/www/prestashop/var/cache chmod u+rw /var/www/prestashop/var/logs chmod u+rw /var/www/prestashop/img chmod u+rw /var/www/prestashop/mails chmod u+rw /var/www/prestashop/modules chmod u+rw /var/www/prestashop/translations chmod u+rw /var/www/prestashop/upload chmod u+rw /var/www/prestashop/download chmod u+rw /var/www/prestashop/app/config chmod u+rw /var/www/prestashop/app/Resources/translations
Fazit
Herzlichen Glückwunsch! Du hast die Installation von PrestaShop auf dem AlmaLinux 9 Server abgeschlossen. Du hast PrestaShop mit dem LAMP-Stack (Apache/Httpd, MySQL/MariaDB und PHP) installiert und PrestaShop mit SSL/TLS-Zertifikaten von Letsencrypt gesichert. Jetzt kannst du deine Themen hochladen und deine Produkte zum Verkauf hinzufügen.