So installieren Sie PrestaShop mit Apache und Let’s Encrypt SSL auf CentOS 8

PrestaShop ist ein in PHP geschriebener Open-Source-Einkaufswagen, mit dem Sie Ihr Online-Geschäft erstellen und verwalten können. Es bietet eine einfache und leicht zu bedienende Benutzeroberfläche, die Ihnen hilft, Ihr Online-Geschäft in kürzester Zeit zu starten. Es bietet viele Funktionen, einschließlich einer benutzerfreundlichen Oberfläche, mehrere Zahlungs-Gateways (PayPal, Google Checkout), mobil-responsives Design, kostenlosen Support, Mehrsprachigkeit, Analytik, Reporting und mehr.

In diesem Beitrag zeigen wir Ihnen, wie Sie PrestaShop mit Apache und einem kostenlosen Let’s Encrypt SSL-Zertifikat auf CentOS 8 installieren.

Voraussetzungen

  • Ein Server, auf dem CentOS 8 läuft.
  • Ein gültiger Domain-Name, der auf Ihre Server-IP zeigt.
  • Ein Root-Passwort ist auf Ihrem Server konfiguriert.

LAMP-Server installieren

Bevor Sie beginnen, muss der LAMP-Server auf Ihrem Server installiert sein. Wenn er nicht installiert ist, können Sie ihn zusammen mit anderen PHP-Erweiterungen mit dem folgenden Befehl installieren:

dnf install httpd mariadb-server php php-cli php-bcmath php-mysqli php-gd php-pdo php-xmlrpc php-intl php-posix php-json php-curl php-zip unzip -y

Nachdem Sie alle erforderlichen Pakete installiert haben, bearbeiten Sie die Datei php.ini und ändern Sie einige Standardeinstellungen:

nano /etc/php.ini

Ändern Sie die folgenden Zeilen:

max_input_vars = 3000
post_max_size = 64M
upload_max_filesize = 64M
max_execution_time = 600
memory_limit = 256M
date.timezone = Asia/Kolkata

Speichern und schließen Sie die Datei, starten Sie dann den Apache- und MariaDB-Dienst und aktivieren Sie, dass sie beim Neustart des Systems gestartet werden:

systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb

An diesem Punkt ist der LAMP-Server auf Ihrem Server installiert.

Erstellen Sie eine Datenbank für PrestaShop

PrestaShop verwendet eine MySQL/MariaDB-Datenbank, um seine Daten zu speichern. Sie müssen also eine Datenbank und einen Suer für PrestaShop erstellen.

Melden Sie sich zunächst mit dem folgenden Befehl bei MariaDB an:

mysql

Nach der Anmeldung erstellen Sie eine Datenbank und einen Benutzer mit dem folgenden Befehl:

MariaDB [(none)]> CREATE DATABASE prestashopdb;
MariaDB [(none)]> CREATE USER 'prestashopuser'@'localhost' IDENTIFIED BY 'securepassword';

Erteilen Sie anschließend der prestashopdb mit dem folgenden Befehl alle Rechte:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON prestashopdb. * TO 'prestashopuser'@'localhost';

Legen Sie anschließend die Berechtigungen fest und beenden Sie MariaDB mit dem folgenden Befehl:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Wenn Sie damit fertig sind, können Sie mit dem nächsten Schritt fortfahren.

PrestaShop installieren

Als nächstes müssen Sie die neueste Version von PrestaShop von der offiziellen Download-Seite herunterladen. Sie können es mit dem folgenden Befehl herunterladen:

wget https://download.prestashop.com/download/releases/prestashop_1.7.7.3.zip

Sobald der Download abgeschlossen ist, entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl in das Apache-Web-Root-Verzeichnis:

unzip prestashop_1.7.7.3.zip -d /var/www/html/prestashop

Als Nächstes setzen Sie mit dem folgenden Befehl die richtigen Eigentumsrechte für das Prestashop-Verzeichnis:

chown -R apache:apache /var/www/html/prestashop

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Apache für PrestaShop konfigurieren

Als nächstes müssen Sie eine Konfigurationsdatei für den virtuellen Apache-Host für PrestaShop erstellen. Sie können sie mit dem folgenden Befehl erstellen:

nano /etc/httpd/conf.d/prestashop.conf

Fügen Sie die folgenden Zeilen ein:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName prestashop.example.com
    DocumentRoot /var/www/html/prestashop

    <Directory /var/www/html/prestashop>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/log/httpd/prestashop-error_log
    CustomLog /var/log/httpd/prestashop-access_log common
</VirtualHost>

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie anschließend den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart httpd

Überprüfen Sie anschließend den Status des Apache-Dienstes mit dem folgenden Befehl:

systemctl status httpd

Sie sollten die folgende Ausgabe erhalten:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Active: active (running) since Wed 2021-04-07 01:04:19 EDT; 2h 2min ago
     Docs: man:httpd.service(8)
 Main PID: 47841 (httpd)
   Status: "Total requests: 313; Idle/Busy workers 100/0;Requests/sec: 0.0425; Bytes served/sec: 1.2KB/sec"
    Tasks: 278 (limit: 12524)
   Memory: 35.9M
   CGroup: /system.slice/httpd.service
           ??47841 /usr/sbin/httpd -DFOREGROUND
           ??47843 /usr/sbin/httpd -DFOREGROUND
           ??47844 /usr/sbin/httpd -DFOREGROUND
           ??47845 /usr/sbin/httpd -DFOREGROUND
           ??47846 /usr/sbin/httpd -DFOREGROUND
           ??48061 /usr/sbin/httpd -DFOREGROUND

Apr 07 01:04:19 centos8 systemd[1]: Stopped The Apache HTTP Server.
Apr 07 01:04:19 centos8 systemd[1]: Starting The Apache HTTP Server...

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Firewall konfigurieren

Als nächstes müssen Sie die Ports 80 und 443 durch die Firewall zulassen. Sie können sie mit dem folgenden Befehl zulassen:

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https

Laden Sie anschließend die Firewall neu, um die Änderungen zu übernehmen:

firewall-cmd --reload

Wenn Sie damit fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Zugriff auf PrestaShop

Öffnen Sie nun Ihren Webbrowser und rufen Sie die PrestaShop-Weboberfläche über die URL http://prestashop.example.com auf. Sie werden auf die folgende Seite weitergeleitet:

Prestashop-Installationsprogramm

Sprache wählen

Wählen Sie Ihre Sprache und klicken Sie auf die Schaltfläche Weiter. Sie sollten die folgende Seite sehen:

Lizenzvertrag

Stimmen Sie der Lizenzvereinbarung zu und klicken Sie auf die Schaltfläche Weiter. Sie sollten die folgende Seite sehen:

Shop-Details

Admin-Konto

Geben Sie Ihren Shop-Namen, Länderinformationen und Kontoinformationen an und klicken Sie auf die Schaltfläche Weiter. Sie sollten die folgende Seite sehen:

Datenbank-Konfiguration

Geben Sie den Namen Ihrer Datenbank, den Datenbank-Benutzernamen und das Passwort ein und klicken Sie auf die Schaltfläche Weiter. Wenn die Installation abgeschlossen ist, sollten Sie die folgende Seite sehen:

Prestashop-Installation erfolgreich abgeschlossen

Klicken Sie auf die Schaltfläche Manage your store. Sie sollten die folgende Seite sehen:

Installateur entfernen

Entfernen Sie nun den Installationsordner mit folgendem Befehl:

rm -rf /var/www/html/prestashop/install

Klicken Sie anschließend auf die PrestaShop-Admin-URL. Sie sollten die folgende Seite sehen:

Prestashop Admin-Anmeldung

Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche LOG IN. Sie sollten das PrestaShop-Dashboard auf der folgenden Seite sehen:

Prestashop Armaturenbrett

PrestaShop mit Let’s Encrypt SSL sichern

Als nächstes müssen Sie den Certbot-Client installieren, um das Let’s Encrypt SSL für PrestaShop zu installieren. Sie können ihn mit dem folgenden Befehl installieren:

dnf install letsencrypt python3-certbot-apache

Als nächstes erhalten und installieren Sie ein SSL-Zertifikat für Ihre Let’s-Domain mit dem folgenden Befehl:

certbot --apache -d prestashop.example.com

Sie werden aufgefordert, Ihre E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for prestashop.example.com
Performing the following challenges:
http-01 challenge for prestashop.example.com
Waiting for verification.
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/httpd/conf.d/prestashop.conf
Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/prestashop.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://prestashop.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Subscribe to the EFF mailing list (email: [email protected]).


IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/prestashop.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/prestashop.example.com/privkey.pem
   Your certificate will expire on 2021-06-09. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again with the "certonly" option. To non-interactively
   renew *all* of your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Sie können nun über die URL https://prestashop.example.comsicher auf Ihre Website zugreifen .

Fazit

Herzlichen Glückwunsch! Sie haben PrestaShop mit Apache und Let’s Encrypt SSL erfolgreich auf CentOS 8 installiert. Sie können nun Ihr Produkt zu PrestaShop hinzufügen und mit dem Online-Verkauf beginnen. Wenn Sie Fragen haben, können Sie sich gerne an mich wenden.

Das könnte dich auch interessieren …