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

remi aktivieren

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.

Lampe einbauen

Gib außerdem y ein, um den GPG-Schlüssel für das Remi-Repository zu akzeptieren.

gpg-Schlüssel 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

httpd verifizieren

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.

verifiziere mariadb

Ü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

php verifizieren

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

firewalld einrichten

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;

Datenbank und Benutzer anlegen

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.

Benutzer verifizieren

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

Prestashop-Prüfer

Vergewissere dich auf der Seite des PrestaShop-Checkers, dass alle Abhängigkeiten und Systemkonfigurationen mit den PrestaShop-Anforderungen übereinstimmen.

Prestashop-Prüfer

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

vhost-Einrichtung

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.

Standardsprache

Wähle jetzt Zustimmen, um die Lizenzvereinbarung für PrestaShop zu akzeptieren und klicke auf Weiter.

Lizenzvereinbarung

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.

Admin-Setup

Für die Shopkonfiguration kannst du Demodaten installieren und auf Weiter klicken.

Demo-Termin

Als Nächstes gibst du den Namen, den Benutzer und das Passwort deiner MariaDB-Datenbank ein. Klicke dann wieder auf Weiter.

Datenbank-Setup

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:

Installation abgeschlossen

PrestaShop Homepage.

Demo-Shop

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.

Das könnte dich auch interessieren …