Opencart ist eine beliebte Open-Source-Warenkorblösung, mit der Sie Ihre eigene voll funktionsfähige E-Commerce-Website hosten können. Opencart bietet eine einfache und benutzerfreundliche Oberfläche, um Ihre Produkte online zu verkaufen, wie z. B. Amazon und Flipcart. Es ist speziell für kleine und mittelständische Unternehmen konzipiert und verfügt über alle E-Commerce-Standardfunktionen, die für Online-Shops benötigt werden. Es bietet eine Vielzahl von Funktionen, darunter mehrere Währungen, Sprachen, unbegrenzte Kategorien, Produkte, Produktbewertungen, mehrere Geschäfte und vieles mehr.
In diesem Tutorial zeigen wir Ihnen, wie Sie OpenCart mit Nginx auf Debian 10 installieren und mit Let’s Encrypt SSL sichern.
Voraussetzungen
- Ein Server mit Debian 10.
- Auf Ihrem Server ist ein Root-Passwort konfiguriert.
Erste Schritte
Aktualisieren Sie zunächst Ihr System mit dem folgenden Befehl auf die neueste Version:
apt-get update -y
apt-get upgrade -y
Sobald Ihr Server aktualisiert ist, starten Sie ihn neu, um die Änderungen zu übernehmen.
LEMP-Server installieren
Installieren Sie zuerst den Nginx-Webserver, den MariaDB-Datenbankserver, PHP und andere erforderliche PHP-Erweiterungen, indem Sie den folgenden Befehl ausführen:
apt-get install nginx mariadb-server php-common php-cli php-fpm php-opcache php-gd php-mysql php-curl php-intl php-xsl php-mbstring php-zip php-bcmath php-soap unzip git -y
Sobald alle Pakete installiert sind, bearbeiten Sie die Datei php.ini und nehmen Sie einige Änderungen vor:
nano /etc/php/7.3/fpm/php.ini
Ändern Sie die folgenden Zeilen:
memory_limit = 256M upload_max_filesize = 100M opcache.save_comments=1 max_execution_time = 300 date.timezone = Asia/Kolkata
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
MariaDB-Datenbank konfigurieren
Als nächstes müssen Sie ein MariaDB-Root-Passwort festlegen, da es in Debian 10 nicht festgelegt ist.
Melden Sie sich dazu mit dem folgenden Befehl bei der MariaDB-Shell an:
mysql
Legen Sie nach der Anmeldung ein MariaDB-Root-Passwort mit dem folgenden Befehl fest:
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("yournewrootpassword");
Setzen Sie als Nächstes das MariaDB-Authentifizierungs-Plugin mit dem folgenden Befehl auf mysql_native_password:
MariaDB [(none)]> SET GLOBAL innodb_fast_shutdown = 0;
MariaDB [(none)]> UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';
Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Melden Sie sich als Nächstes mit dem Root-Benutzer bei MariaDB an:
mysql -u root -p
Geben Sie Ihr Root-Passwort ein und erstellen Sie mit dem folgenden Befehl eine Datenbank und einen Benutzer für OpenCart:
MariaDB [(none)]> CREATE DATABASE opencartdb;
MariaDB [(none)]> GRANT ALL ON opencartdb.* TO 'opencart'@'localhost' IDENTIFIED BY 'password';
Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Sobald die MariaDB konfiguriert ist, können Sie mit dem nächsten Schritt fortfahren.
OpenCart herunterladen
Sie können die neueste Version von OpenCart mit dem folgenden Befehl aus dem Git-Repository herunterladen:
wget https://github.com/opencart/opencart/releases/download/3.0.3.2/opencart-3.0.3.2.zip
Nachdem Sie OpenCart heruntergeladen haben, entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl:
unzip opencart-3.0.3.2.zip
Verschieben Sie als Nächstes das Upload-Verzeichnis mit dem folgenden Befehl in das Nginx-Web-Root-Verzeichnis:
mv upload /var/www/html/opencart
Als nächstes ändern Sie das Verzeichnis in opencart und benennen die Datei config-dist.php um:
cd /var/www/html/opencart/
mv config-dist.php config.php
mv admin/config-dist.php admin/config.php
Geben Sie als Nächstes mit dem folgenden Befehl die richtigen Berechtigungen für das Opencart-Verzeichnis:
chown -R www-data:www-data /var/www/html/opencart/
chmod -R 775 /var/www/html/opencart/
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Nginx für OpenCart konfigurieren
Als Nächstes müssen Sie eine Konfigurationsdatei für den virtuellen Nginx-Host erstellen, um OpenCart zu bedienen. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/nginx/sites-available/opencart.conf
Fügen Sie den folgenden Inhalt hinzu:
server { listen 80; server_name opencart.linuxbuz.com; root /var/www/html/opencart; index index.php; access_log /var/log/nginx/opencart_access.log; error_log /var/log/nginx/opencart_error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.3-fpm.sock; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { expires max; log_not_found off; } }
Speichern und schließen Sie die Datei und überprüfen Sie dann Nginx mit dem folgenden Befehl auf Syntaxfehler:
nginx -t
Sie sollten die folgende Ausgabe erhalten:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Aktivieren Sie als Nächstes die virtuelle Nginx-Hostdatei mit dem folgenden Befehl:
ln -s /etc/nginx/sites-available/opencart.conf /etc/nginx/sites-enabled/
Starten Sie als Nächstes den Nginx- und PHP-FPM-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart nginx
systemctl restart php7.3-fpm
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Sichern Sie OpenCart mit Let's Encrypt SSL
Als nächstes müssen Sie einen Certbot-Client installieren, um Let's Encrypt für Ihre Website zu installieren und einzurichten.
Standardmäßig ist der Certbot nicht im Standard-Repository von Debian 10 verfügbar. Daher müssen Sie Ihrem System ein Certbot-Repository hinzufügen.
Sie können es mit dem folgenden Befehl hinzufügen:
echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
Aktualisieren Sie als Nächstes das Repository und installieren Sie den Certbot-Client für Nginx mit dem folgenden Befehl:
apt-get update -y
apt-get install python3-certbot-nginx -t buster-backports
Führen Sie nach der Installation den folgenden Befehl aus, um Let’s Encrypt SSL herunterzuladen und Nginx für die Verwendung dieses SSL zu konfigurieren:
certbot --nginx -d opencart.linuxbuz.com
Sie werden aufgefordert, die Nutzungsbedingungen zu akzeptieren und Ihre gültige E-Mail-Adresse wie unten gezeigt anzugeben:
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 at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing 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 Obtaining a new certificate Performing the following challenges: http-01 challenge for opencart.linuxbuz.com Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/nginx/sites-available/opencart-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/nginx/sites-available/opencart-le-ssl.conf Enabling available site: /etc/nginx/sites-available/opencart-le-ssl.conf Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
Als Nächstes müssen Sie auswählen, ob der HTTP-Datenverkehr wie unten gezeigt auf HTTPS umgeleitet werden soll:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Geben Sie 2 ein und drücken Sie Enter weitermachen. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe erhalten:
Redirecting vhost in /etc/nginx/sites-enabled/opencart.conf to ssl vhost in /etc/nginx/sites-available/opencart-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://opencart.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=opencart.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/opencart.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/opencart.linuxbuz.com/privkey.pem Your cert will expire on 2020-04-30. 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" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - 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
Zu diesem Zeitpunkt ist OpenCart mit Let's Encrypt SSL gesichert.
Zugriff auf die OpenCart-Webschnittstelle
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://opencart.linuxbuz.com ein. Sie werden zur Seite der OpenCart-Lizenzvereinbarung weitergeleitet:
Klicken Sie auf Weiter Schaltfläche, um die Lizenzvereinbarung zu akzeptieren. Sie sollten die folgende Seite sehen:
Stellen Sie sicher, dass alle erforderlichen PHP-Erweiterungen installiert sind, und klicken Sie dann auf WEITER Taste. Sie sollten die folgende Seite sehen:
Geben Sie Ihre Datenbankanmeldeinformationen, Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf WEITER Taste. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Seite sehen:
Öffnen Sie nun Ihr Terminal und entfernen Sie das Installationsverzeichnis mit dem folgenden Befehl:
rm -rf /var/www/html/opencart/install/
Klicken Sie anschließend auf ZU IHREM ONLINE-SHOP GEHEN . Sie sollten Ihren OpenCart-Shop auf der folgenden Seite sehen:
Klicken Sie anschließend auf ANMELDEN IN IHRER ADMINISTRATION Taste. Sie sollten die OpenCart-Anmeldeseite sehen:
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Anmelden Taste. Sie sollten Ihr OpenCart-Administrationsfenster auf der folgenden Seite sehen:
Schlussfolgerung
Herzliche Glückwünsche! Sie haben OpenCart erfolgreich auf Debian 10 installiert und gesichert. Sie können jetzt Ihren eigenen Online-Warenkorb mit OpenCart hosten. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.