Wie installiere ich Prestashop auf Ubuntu 22.04
Prestashop ist eine kostenlose und in PHP geschriebene Open-Source-E-Commerce-Lösung. Sie ermöglicht es dir, selbst gehostete Online-Shops zu erstellen und dein Online-Geschäft auszubauen. Prestashop ist eine vollständig anpassbare und funktionsreiche E-Commerce-Lösung, mit der du umfassende E-Commerce-Websites erstellen kannst. Inzwischen wird Prestashop von mehr als 250.000 Online-Shops auf der ganzen Welt genutzt und ist in 65 Sprachen verfügbar.
In dieser Anleitung erklären wir dir, wie du die Open-Source E-Commerce-Lösung Prestashop mit dem LAMP-Stack (Linux, Apache, MySQL/MariaDB und PHP) auf einem Ubuntu 22.04 Server installierst. Dieses Tutorial beinhaltet auch die grundlegenden Konfigurationen des LAMP-Stacks für PHP-Webanwendungen.
Voraussetzung
Das brauchst du, um diesen Lehrgang zu absolvieren:
- Einen Ubuntu 22.04-Server – Dieses Tutorial verwendet einen Ubuntu-Server mit dem Hostnamen „server-ubuntu“ und der IP-Adresse „192.168.5.100“.
- Ein Nicht-Root-Benutzer mit Root-Administrationsrechten.
- Ein Domainname, der auf die IP-Adresse des Ubuntu-Servers zeigt.
Installation des Apache Webservers
Im folgenden Schritt installierst du den Apache-Webserver auf deinem Ubuntu-System. Prestashop eCommerce benötigt mindestens den Apache-Webserver v2.2. Für diese Installation installierst du Apache v2.4, der standardmäßig in den Ubuntu-Repositories verfügbar ist.
Wir empfehlen immer, die Repositories zu aktualisieren, bevor du ein Paket installierst. Führe also den Befehl apt aus, um die Ubuntu-Repositories zu aktualisieren.
sudo apt update
Installiere den Apache-Webserver mit dem folgenden apt-Befehl. Wenn du aufgefordert wirst, die Installation zu bestätigen, gibst du Y ein, um zu akzeptieren, und drückst ENTER.
sudo apt install apache2
Sobald der Apache-Webserver installiert ist, musst du den Dienst„apache2“ überprüfen und sicherstellen, dass er läuft. Du kannst den folgenden systemctl-Befehl verwenden, um den Dienst„apache2“ zu prüfen und zu verifizieren.
Du erhältst die Meldung, dass der„apache2„-Dienst aktiviert ist, d.h. er wird beim Systemstart automatisch ausgeführt. Und der aktuelle Status des„apache2„-Dienstes ist “ running“.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
Zum Schluss musst du noch die HTTP- und HTTPS-Ports zur UFW-Firewall hinzufügen. Verwende den folgenden ufw-Befehl, um der UFW-Firewall die benutzerdefinierte Regel„Apache Full“ hinzuzufügen. Überprüfe dann die Liste der aktivierten UFW-Regeln.
Du erhältst die Ausgabe, dass die Regel„Apache Full“ zur UFW-Firewall hinzugefügt wurde.
sudo ufw allow "Apache Full" sudo ufw status
Installation des MariaDB-Datenbank-Servers
Da Prestashop nur die Datenbank MySQL/MariaDB unterstützt, installierst du nun diesen Datenbankserver auf deinem Ubuntu-Rechner. In diesem Beispiel wirst du MariaDB als Datenbank für deine Prestashop-Installation installieren und verwenden.
Verwende den folgenden apt-Befehl, um den MariaDB-Datenbankserver zu installieren. Gib Y ein, wenn du aufgefordert wirst, die Installation zu bestätigen, und drücke dann ENTER.
sudo apt install mariadb-server
Nachdem der MariaDB-Server installiert ist, überprüfe den Dienst„mariadb“ mit dem folgenden systemctl-Befehl. Du solltest eine Ausgabe erhalten, dass der Dienst„mariadb“ aktiviert ist, d.h. er wird beim Systemstart automatisch ausgeführt. Und der Status des Dienstes„mariadb“ lautet„running„.
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Zu guter Letzt musst du den MariaDB-Einsatz sichern. Das kannst du über die Kommandozeile„mysql_secure_installation“ machen, die in den MariaDB Serverpaketen enthalten ist.
Führe die folgende„mysql_secure_installation“ aus, um mit der Konfiguration und Sicherung deines MariaDB Servereinsatzes zu beginnen.
sudo mysql_secure_installation
Du wirst mit den folgenden Fragen zum MariaDB-Server-Einsatz konfrontiert:
- Wechseln Sie zur unix_socket-Authentifizierung? 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.
- Ändere das Root-Passwort? 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, wird nur eine lokale Verbindung zugelassen.
- Testdatenbank und Zugriff auf sie entfernen? Bestätige mit y und entferne die Standarddatenbank„test„.
- Gib abschließend erneut y ein, umalle Tabellenrechte auf deinem MariaDB-Serverneu zu laden und die neuen Änderungen anzuwenden.
PHP-Installation
Für die neueste Version der Prestashop-Installation wird empfohlen, mindestens PHP v7.1 zu verwenden. In dieser Demo wirst du PHP 7.4 für Prestashop verwenden. Du kannst PHP 7.4 auf dem neuesten Ubuntu 22.04 System über ein Drittanbieter-Repository installieren.
Bevor du PHP installierst, führe den folgenden apt-Befehl aus, um die Basispakete dpendencies für die Verwaltung der Repositories zu installieren.
sudo apt install software-properties-common apt-transport-https -y
Bild
Jetzt fügst du das PHP 7.4 PPA-Repository mit dem Befehl „add-apt-repository“ zu deinem Ubuntu-System hinzu. Mit dem folgenden Befehl werden deine Ubuntu-Repositories automatisch aktualisiert und aktualisiert.
sudo add-apt-repository ppa:ondrej/php -y
Als nächstes installierst du mit dem folgenden apt-Befehl PHP-Pakete mit einigen Erweiterungen für Prestashop. Wenn du aufgefordert wirst, die Installation zu bestätigen, gibst du Y ein, um zuzustimmen, und drückst ENTER.
sudo apt install php7.4 php7.4-curl php7.4-xmlrpc php7.4-soap php7.4-intl php7.4-zip php7.4-cli php7.4-mysql php7.4-common php7.4-opcache php7.4-memcached php7.4-bcmath php7.4-gd php7.4-mbstring php7.4-xml php7.4-gmp php7.4-imagick
Nachdem PHP installiert ist, öffne die PHP-Konfigurationsdatei„/etc/php/7.4/apache2/php.ini“ mit deinem Texteditor. In diesem Beispiel werden wir nano verwenden.
sudo nano /etc/php/7.4/apache2/php.ini
Ändere die Details der PHP-Konfigurationen wie unten beschrieben. Achte darauf, dass du die Optionen‚date.timezone‚ und‚memory_limit‚ an deine aktuelle Serverumgebung 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 deine Änderungen und schließe die Datei, wenn du fertig bist.
Als nächstes führst du den folgenden systemctl-Befehl aus, um den Dienst„apache2“ neu zu starten. Dadurch werden auch alle Änderungen an der PHP-Konfigurationsdatei„php.ini“ übernommen.
sudo systemctl restart apache2
Jetzt sollten der Apache-Webserver und PHP laufen. Du kannst das überprüfen, indem du die phpinfo-Datei erstellst und sie über den Webbrowser testest.
Führe den folgenden Befehl aus, um eine neue phpinfo-Datei„/var/www/html/info.php“ zu erstellen. Diese Datei sollte nun über den URL-Pfad„/info.php“ erreichbar sein.
cat <<EOF | sudo tee /var/www/html/info.php <?php phpinfo(); ?> EOF
Öffne den Webbrowser und rufe die phpinfo-Datei über die IP-Adresse deines Servers auf, gefolgt vom Pfad der Datei „/info.php„(http://192.168.5.100/info.php). Du solltest eine Seite mit detaillierten Informationen über deine PHP-Installation erhalten.
Installation von Prestashop System Checker
Bevor du Prestashop installierst, installieren wir den Prestashop Checker auf deinem aktuellen Server. Dies ist das PHP-Skript, das deine Serverumgebung für die Prestashop-Installation überprüft.
Führe den folgenden Befehl aus, um das Prestashop Checker-Skript in das Verzeichnis„/var/www/html“ herunterzuladen.
cd /var/www/html/ wget https://github.com/PrestaShop/php-ps-info/archive/refs/tags/v1.1.tar.gz
Entpacke den Prestashop Checker-Quellcode und benenne das Verzeichnis in„check-ps“ um.
tar -xzvf v1.1.tar.gz mv php-ps-info-1.1 check-ps
Gehe zurück zum Webbrowser und rufe die IP-Adresse deines Servers gefolgt von dem URL-Pfad „check-ps“ auf (d.h.: http://192.168.5.100/check-ps/phppsinfo.php).
Melde dich mit dem Standardbenutzer und dem Passwort„prestashop“ an.
Vergewissere dich nun, dass alle Konfigurationen deines LAMP-Stacks mit den Prestashop-Anforderungen übereinstimmen.
Wenn einige Einstellungen fehlen, kannst du die PHP-Konfigurationsdatei„/etc/php/8.1/apache2/php.ini“ bearbeiten. Außerdem kannst du PHP-Erweiterungen installieren, wenn eine Erweiterung fehlt.
MariaDB Datenbank und Benutzer anlegen
Bevor du mit der Installation von Prestashop beginnst, musst du eine neue MariaDB-Datenbank und einen neuen Benutzer anlegen.
Führe den folgenden „mysql“-Befehl aus, um dich in der MariaDB-Shell als MariaDB-Benutzer„root“ anzumelden. Wenn du zur Eingabe eines Passworts aufgefordert wirst, gibst du dein Passwort ein oder drückst einfach ENTER.
sudo mysql -u root -p
Als nächstes führst du die folgenden Abfragen aus, um eine neue Datenbank und einen neuen Benutzer für Prestashop zu erstellen. In diesem Beispiel wird die Datenbank für Prestashop„prestashopdb“ mit dem MariaDB-Benutzer„prestashop“ heißen. Das Passwort kannst du hier mit einem sicheren Passwort ändern.
CREATE DATABASE prestashopdb; GRANT ALL PRIVILEGES ON prestashopdb.* TO 'prestashop'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
Führe nun die folgenden Abfragen aus, um die Berechtigungen des MariaDB-Benutzers„prestashop@localhost“ zu überprüfen. Melde dich dann aus der MariaDB-Shell ab. Du solltest die Information erhalten, dass der Benutzer„prestasho@localhost“ Rechte für die Datenbank„prestashopdb“ hat.
SHOW GRANTS FOR prestashop@localhost; quit
Herunterladen des Prestashop-Quellcodes
Nachdem du die MariaDB-Datenbank und den Benutzer erstellt hast, lädst du den Prestashop-Quellcode herunter und stellst die richtigen Berechtigungen und Besitzverhältnisse für das prestashp-Installationsverzeichnis ein.
Führe nun den folgenden apt-Befehl aus, um das Paket„unzip“ zu installieren. Damit entpackst du den Prestashop-Quellcode.
sudo apt install unzip -y
Verschiebe das Arbeitsverzeichnis nach„/var/www/“ und lade den Prestashop-Quellcode mit dem unten stehenden wget-Befehl herunter.
cd /var/www/ wget https://download.prestashop.com/download/releases/prestashop_1.7.8.7.zip
Entpacke den Prestashop-Quellcode in das neue Verzeichnis„/var/www/prestashop“ mit dem Befehl„unzip„.
unzip prestashop_1.7.8.7.zip -d /var/www/prestashop
Ändere nun die Eigentümerschaft des Prestashop-Installationsverzeichnisses„/var/www/prestashop“ und ändere seine Berechtigung. Der Eigentümer sollte der Benutzer„www-data“ sein und die Berechtigung lautet„u+rw“ (Eigentümer/Benutzer kann in das Verzeichnis schreiben).
chown -R www-data:www-data /var/www/prestashop chmod u+rw /var/www/prestashop
Einrichten des Apache Virtual Host
Alle Abhängigkeiten und Konfigurationen sind bereit und der Prestashop-Quellcode ist heruntergeladen. Jetzt musst du den virtuellen Apache-Host für deine Prestashop-Installation einrichten.
Bevor du beginnst, musst du sicherstellen, dass der Domainname auf die IP-Adresse deines Ubuntu-Servers zeigt und die SSL-Zertifikate generiert wurden. Außerdem musst du einige der Apache2-Module für deinen Prestashop aktivieren.
Verwende den folgenden Befehl, um die Aapche2-Module zu aktivieren.
sudo a2enmod ssl rewrite headers
Erstelle eine neue virtuelle Hostkonfiguration für Prestashop„prestashop.conf“ mit dem folgenden Befehl. Alle Apache2-Dateien für virtuelle Hosts müssen sich im Verzeichnis„/etc/apache2/sites-available/“ befinden.
sudo nano /etc/apache2/sites-available/prestashop.conf
Füge die folgenden virtuellen Host-Konfigurationen für den Prestashop hinzu. Achte darauf, dass du den Domainnamen und den Pfad der SSL-Zertifikate änderst.
<VirtualHost *:80> ServerName hwdomain.io Redirect permanent / https://hwdomain.io/ </VirtualHost>
<VirtualHost *:443>
ServerAdmin admin@hwdomain.io
DocumentRoot /var/www/prestashop
ServerName hwdomain.io
Protocols h2 http/1.1
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/hwdomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/hwdomain.io/privkey.pem
<Directory /var/www/prestashop>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/prestashop_error.log
CustomLog /var/log/apache2/prestashop_access.log combined
</VirtualHost>
Speichere die Konfigurationsdatei, wenn du fertig bist, und schließe die Datei.
Führe anschließend den folgenden Befehl aus, um die Datei„prestashop.conf“ für den virtuellen Host zu aktivieren. Überprüfe dann deine Konfigurationen.
Du solltest eine Meldung wie„Syntax OK“ erhalten, wenn deine Konfigurationen keine Fehler aufweisen.
sudo a2ensite prestashop.conf sudo apachectl configtest
Führe nun den folgenden systemctl-Befehl aus, um den Dienst„apache2“ neu zu starten und die neuen Änderungen zu übernehmen. Und du kannst den Installationsassistenten für Prestashop über den Webbrowser starten.
sudo systemctl restart apache2
Installation von Prestashop über den Web-Installer
Gehe zurück zu deinem Webbrowser und rufe den Domainnamen deiner Prestashop-Installation auf (z. B. : https://hwdomain.io/). Du solltest sehen, dass der Web-Installer die Prestashop-Installation startet.
Wähle die Standardsprache für deine PrestaShop-Installation und klicke auf Weiter. Die Standardinstallationssprache für PrestaShop ist„Englisch„.
Klicke auf “ Zustimmen „, wenn die Seite mit den Prestashop-Lizenzvereinbarungen angezeigt wird.
Erstelle nun einen neuen Admin-Benutzer für deine Prestashop-Installation. Gib die Details admin user, E-Mail und Passwort ein. Klicke dann auf Weiter, um mit den Datenbankkonfigurationen fortzufahren.
Für den Ladeninhalt kannst du„Nein“ auswählen und auf„Weiter“ klicken.
Für die Prestashop-Datenbankkonfiguration. Gib den Datenbankbenutzer, den Datenbanknamen und das Passwort ein, die du erstellt hast. Klicke dann auf “ Weiter“ und die Prestashop-Installation wird gestartet.
Unten kannst du sehen, wie die Installation durchgeführt wird.
Wenn die Prestashop-Installation abgeschlossen ist, siehst du die Seite, die dich über deine Prestashop-Installation informiert. Außerdem solltest du noch eine weitere Änderung vornehmen, nämlich das Verzeichnis„install“ im Stammverzeichnis deines Prestashop-Dokuments löschen.
Gehe zurück zu deinem Terminalserver und führe den folgenden Befehl aus, um einen Teil des Prestashop-Verzeichnisses schreibbar zu machen und das Prestashop-Verzeichnis„install“ zu löschen.
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
rm -rf /var/www/prestashop/install
Gehe zurück zum Webbrowser und klicke auf die Schaltfläche„Verwalte deinen Laden„, um zum Prestashop-Administrationslogin zu gelangen. Du wirst auf die neue Prestashop-Anmeldeseite weitergeleitet. Achte darauf, dass du den Pfad zu deiner Prestashop-Admin-URL kopierst.
Gib den Admin-Benutzer und das Passwort für deinen Prestashop ein und klicke auf„LOG IN„.
Du erhältst das Administrations-Dashboard von Prestashop.
Damit hast du die Installation der Open-Source E-Commerce-Lösung Prestashop auf Ubuntu 22.04 abgeschlossen.
Fazit
In diesem Lernprogramm hast du gelernt, wie du die eCommerce-Lösung Prestashop auf einem Ubuntu 22.04-Server installierst. Du hast auch die grundlegende Installation und Konfiguration des LAMP-Stacks (Apache, MariaDB und PHP) auf dem Ubuntu-System gelernt und erfahren, wie du den MariaDB-Server absicherst und den virtuellen Apache-Host einrichtest.
Am Ende hast du die Prestashop eCommerce Lösung mit dem LAMP Stack auf einem Ubuntu Server laufen und mit SSL Zertifikaten gesichert. Du kannst nun deine Themes zur Anpassung hinzufügen und Plugins zur Erweiterung deiner eCommerce-Website hinzufügen. Dann kannst du deine Produkte hinzufügen.