X-Cart Installation mit Nginx und Let’s Encrypt SSL auf Ubuntu 18.04 LTS

X-Cart ist eine äußerst flexible Open-Source eCommerce-Plattform mit einem breiten Spektrum an Funktionen und Integrationen. Der X-Cart-Quellcode wird auf Github gehostet. Dieser Leitfaden beschreibt den Prozess der Installation von X-Cart 5 auf Ubuntu 18.04 LTS unter Verwendung von Nginx als Webserver und MySQL als Datenbankserver und wie die Installation mit einem kostenlosen SSL-Zertifikat von Let’s encrypt gesichert werden kann.

Anforderungen

  • PHP Version 7.2 oder höher
  • PHP-Erweiterungen: pdophar, mysql, , mbstring, curl
  • MySQL-Version 5.7.7 oder höher oder MariaDB-Äquivalent
  • Nginx

Erste Schritte

Überprüfen Sie Ihre Ubuntu-Version:

lsb_release -ds
# Ubuntu 18.04.4 LTS

Richten Sie die Zeitzone ein:

sudo dpkg-reconfigure tzdata

Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, denn er stellt sicher, dass Sie über die neuesten Aktualisierungen und Sicherheitsfixes für die Standard-Softwarepakete Ihres Betriebssystems verfügen:

sudo apt update && sudo apt upgrade -y

Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Ubuntu-Betriebssystems erforderlich sind:

sudo apt install -y curl wget vim git unzip socat bash-completion

Schritt 1 – PHP und PHP-Erweiterungen installieren

Installieren Sie PHP, sowie die notwendigen PHP-Erweiterungen:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-curl php7.2-mysql php7.2-json php7.2-xml php7.2-phar php7.2-pdo php7.2-gd

Um PHP in Modulen kompiliert anzuzeigen, können Sie ausführen:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Prüfen Sie die PHP-Version:

php --version

 

# PHP 7.2.17-0ubuntu0.18.04.1 (cli) (built: Apr 18 2019 14:12:38) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.17-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

Der PHP-FPM-Dienst wird beim Neustart auf einem Ubuntu 18.04-System automatisch gestartet und aktiviert, so dass es nicht notwendig ist, ihn manuell zu starten und zu aktivieren. Wir können zum nächsten Schritt übergehen, nämlich der Installation und Einrichtung der Datenbank.

Schritt 2 – Installieren Sie MySQL und erstellen Sie eine Datenbank

Installieren Sie MySQL:

sudo apt install -y mysql-server

Überprüfen Sie die Version:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using  EditLine wrapper

Führen Sie das mysql_secure_installationSkript aus, um die Sicherheit Ihrer MySQL-Installation zu verbessern:

sudo mysql_secure_installation

Melden Sie sich bei MySQL als Root-Benutzer an:

sudo mysql -u root -p
# Enter password:

Erstellen Sie eine neue MySQL-Datenbank und einen neuen Benutzer und merken Sie sich die Anmeldedaten:

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;

Schritt 3 – Installieren Sie den acme.sh-Client und erhalten Sie das Let’s Encrypt-Zertifikat (optional)

Die Sicherung Ihrer Website mit HTTPS ist nicht notwendig, aber es ist eine gute Praxis, um den Verkehr Ihrer Website zu sichern. Um das TLS-Zertifikat von Let’s Encrypt zu erhalten, werden wir den acme.sh-Client verwenden. Acme.sh ist eine reine UNIX-Shell-Software, um TLS-Zertifikate von Let’s Encrypt ohne Abhängigkeiten zu erhalten.

Laden Sie acme.sh herunter und installieren Sie es:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

acme.sh-Version prüfen:

acme.sh --version
# v2.8.1

Erhalten Sie RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/Ihren Hostnamen:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Wenn Sie gefälschte Zertifikate zum Testen benötigen, können Sie die --stagingFlag zu den obigen Befehlen.

Nachdem Sie die obigen Befehle ausgeführt haben, sind Ihre Zertifikate und Schlüssel in:

  • Für RSA: /home/username/example.comVerzeichnis.
  • Für ECC/ECDSA: /home/username/example.com_eccVerzeichnis.

Um Ihre ausgestellten Zertifikate aufzulisten, können Sie sie ausführen:

acme.sh --list

Erstellen Sie ein Verzeichnis zur Speicherung Ihrer Zertifikate. Wir werden das/etc/letsencryptVerzeichnis verwenden.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Installieren/Kopieren von Zertifikaten nach/etc/letsencryptVerzeichnis.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Alle Zertifikate werden automatisch alle 60 Tage erneuert.

Nach Erhalt der Zertifikate verlassen Sie den Root-Benutzer und kehren zum normalen Sudo-Benutzer zurück:

exit

Schritt 4 – Installieren und Konfigurieren von Nginx

Installieren Sie Nginx:

sudo apt install -y nginx

Prüfen Sie die Nginx-Version:

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

Konfigurieren Sie Nginx für X-Cart, indem Sie es ausführen:

sudo vim /etc/nginx/sites-available/xcart.conf

Und füllen Sie die Datei mit der folgenden Konfiguration.

server {
  listen 80;
  listen [::]:80;
  root /var/www/xcart;
  index index.php index.html index.htm;
  server_name example.com;
  location @handler {
    index cart.php;
    rewrite ^/sitemap.xml(\?.+)?$ /cart.php?target=sitemap;
    rewrite ^/(.*)$ /cart.php?url=$1 last;
  }
  location / {
    try_files $uri $uri/ @handler;
  }
  location ~ \.php$ {
    try_files $uri @handler;
    fastcgi_split_path_info  ^(.+\.php)(/.+)$;
    fastcgi_index index.php;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    include fastcgi_params;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
}

Aktivieren Sie die neue xcart.confKonfiguration, indem Sie die Datei mit dem sites-enabledVerzeichnis verknüpfen:

sudo ln -s /etc/nginx/sites-available/xcart.conf /etc/nginx/sites-enabled

Testen Sie die Konfiguration:

sudo nginx -t

Nginx neu laden:

sudo systemctl reload nginx

Schritt 5 – X-Cart installieren

Navigieren Sie zum /var/wwwVerzeichnis:

cd /var/www/

Laden Sie ein X-Cart 5-Paket von dieser Seite herunter:http://www.x-cart.com/download.html

Laden Sie das heruntergeladene Paket auf Ihren Server hoch.

Ändern Sie den Eigentümer des /var/www/xcartVerzeichnisses auf www-data:

sudo chown -R www-data:www-data /var/www/xcart

Navigieren Sie example.com/install.phpin Ihrem Webbrowser zu und folgen Sie den Anweisungen, um die Installation abzuschließen.

Schritt 6 – Setup abschließen

Akzeptieren Sie die Lizenzvereinbarung und klicken Sie aufNächste.

X-Cart-Installationsassistent

Administratorkonto erstellen.

Admin-Konto erstellen

Der Installationsassistent prüft, ob Ihr Server die Systemvoraussetzungen für X-Cart 5 erfüllt.

Systemanforderungen prüfen

Konfigurieren Sie die Datenbankeinstellungen:

Datenbankverbindung Details

Einrichtung von Directories + Schritt 6. Alle Aufgaben in diesen Schritten sind vollständig automatisiert, Sie müssen also nur warten und X-Cart 5 die Arbeit machen lassen.

Aktualisieren von .htaccess

Nun ist der Installationsprozess abgeschlossen. Über die angegebenen Links können Sie auf das Kunden-Frontend und den Admin-Bereich Ihres Geschäfts zugreifen.

 

Installation abgeschlossen

Das könnte Dich auch interessieren …