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 --staging
vlag 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.
Maak een Administrator Account aan.
De installatie wizard controleert of je server voldoet aan de systeemvereisten voor X-Cart 5
Configureer de database instellingen:
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
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.