installeer je het X-Cart eCommerce platform op Debian 10

X-Cart is een uiterst flexibel open-source eCommerce platform met tonnen mogelijkheden en integraties. De broncode van X-Cart wordt gehost op Github. Deze gids beschrijft het proces om X-Cart 5 op Debian 10 te installeren met Nginx als webserver en MariaDB als databaseserver.

Vereisten

  • PHP versie 7.2 of hoger
  • PHP uitbreidingen: pdo, phar, mysql, mbstring, curl
  • MySQL versie 5.7.7 of hoger of MariaDB equivalent
  • Nginx

Eerste stappen

Controleer je Debian versie:

lsb_release -ds

Stel de tijdzone in:

sudo dpkg-reconfigure tzdata

Werk je besturingssysteem pakketten (software) bij. Dit is een belangrijke eerste stap omdat je er zeker van bent dat je de laatste updates en beveiligingsfixes voor de standaard softwarepakketten van je besturingssysteem hebt:

sudo apt update && sudo apt upgrade -y

Installeer enkele essentiƫle pakketten die nodig zijn voor het basisbeheer van het Debian besturingssysteem:

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

Stap 1 – Installeer PHP en PHP uitbreidingen

Installeer PHP, en ook de nodige PHP uitbreidingen:

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

Om PHP gecompileerd in modules te laten zien, kun je:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Controleer de PHP versie:

php --version

# PHP 7.3.17-0debian0.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-0debian0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

De PHP-FPM dienst wordt op een Debian 10 systeem automatisch gestart en ingeschakeld bij het herstarten, dus je hoeft hem niet handmatig te starten en in te schakelen. We kunnen verder gaan met de volgende stap, namelijk de installatie en instelling van de databank.

Stap 2 – Installeer MariaDB en maak een databank

Installeer MySQL:

sudo apt install -y mariadb-server

Controleer de versie:

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

Voer het mysql_secure_installation script uit om je MariaDB installatie beter te beveiligen:

sudo mysql_secure_installation

Log inMariaDB in als de root gebruiker:

sudo mysql -u root -p
# Enter password:

Maak een nieuweMariaDB databank en gebruiker en onthoud de inloggegevens:

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

Stap 3 – Installeer acme.sh client en verkrijg het Let’s Encrypt certificaat (optioneel)

Je website beveiligen met HTTPS is niet noodzakelijk, maar het is een goed gebruik om je site verkeer te beveiligen. Om een TLS certificaat van Let’s Encrypt te verkrijgen gebruiken we acme.sh client. Acme.sh is een pure UNIX shell software om TLS certificaten te verkrijgen van Let’s Encrypt zonder afhankelijkheden.

Download en installeer acme.sh:

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

Controleer de versie van acme.sh:

acme.sh --version
# v2.8.6

Verkrijg RSA en ECC/ECDSA certificaten voor je domein/hostnaam:

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

Als je nep certificaten wilt om te testen kun je de --stagingvlag aan de bovenstaande commando’s toevoegen.

Na het uitvoeren van de bovenstaande commando’s staan jecertificaten ensleutels in:

  • Voor RSA: /home/username/example.com map.
  • Voor ECC/ECDSA: /home/username/example.com_ecc map.

Om je uitgegeven certs op te sommen kun je uitvoeren:

acme.sh --list

Maak een directory om je certs in op te slaan. We zullen de/etc/letsencrypt directory gebruiken.

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

Installeer/kopieer certificaten naar/etc/letsencryptmap.

# 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 certificaten worden om de 60 dagen automatisch vernieuwd.

Verlaat na het verkrijgen van de certs de root gebruiker en ga terug naar de normale sudo gebruiker:

exit

Stap 4 - Installeer en configureer Nginx

Installeer Nginx:

sudo apt install -y nginx

Controleer de Nginx versie:

sudo nginx -v
# nginx version: nginx/1.14.0

Configureer Nginx voor X-Cart door te draaien:

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

En vul het bestand met de onderstaande config.

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.3-fpm.sock;
    include fastcgi_params;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
}

Activeer de nieuwe xcart.conf configuratie door het bestand te koppelen aan de sites-enabled directory:

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

Test de configuratie:

sudo nginx -t

Herlaad Nginx:

sudo systemctl reload nginx

Stap 5 - Installeer X-Cart

Navigeer naar de /var/www directory:

cd /var/www/

Download de meest recente versie van X-Cart vanhttps://www.x-cart.com/download.html en pak het uit in je document root:

Verander na het downloaden het eigendom van de /var/www/xcart directory in www-data:

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

Navigeer naar example.com/install.php in je web browser en volg de instructies om de installatie te voltooien.

Stap 6 - Voltooi de installatie

Accepteer de licentieovereenkomst en klikVolgende.

X-Cart installatie wizard

Maak een Administrator Account aan.

Voeg admin account toe

De installatie wizard controleert of je server voldoet aan de systeemvereisten voor X-Cart 5

Vereisten controleren

Configureer de database instellingen:

Inloggegevens voor de databank

Directories instellen + Stap 6.Alle taken bij deze stappen zijn volledig geautomatiseerd, dus je hoeft alleen maar te wachten en X-Cart 5 het werk te laten doen

Voortgang van de installatie

Nu het installatieproces voltooid is,kun je de gegeven links gebruiken om toegang te krijgen tot het klanten front end en Admin gedeelte van je winkel.

x-Cart Installatie geslaagd