OpenCar est une plate-forme de commerce électronique PHP gratuite et open source combinant des fonctionnalités puissantes avec une flexibilité et une interface conviviale.
Avec des fonctionnalités telles que la gestion des utilisateurs, le multi-magasins, les affiliés, les remises, les avis sur les produits, les passerelles de paiement multilingues et multiples, OpenCart est une plate-forme de choix pour de nombreux marchands en ligne.
Dans ce tutoriel, nous allons vous montrer comment installer OpenCart sur le serveur Ubuntu 18.04. Nous utiliserons Nginx comme serveur Web, le dernier PHP 7.2 et MySQL/MariaDB comme serveur de base de données.
Prérequis #
Assurez-vous que vous avez satisfait aux prérequis suivants avant de poursuivre ce didacticiel :
- Avoir un nom de domaine pointant vers l'adresse IP de votre serveur public. Nous utiliserons
example.com
. - Nginx est installé sur votre serveur Ubuntu en suivant ces instructions.
- Un certificat SSL installé pour votre domaine afin de chiffrer les informations de l'utilisateur. Vous pouvez installer un certificat SSL Let's Encrypt gratuit en suivant ces instructions.
Mettez à jour les packages système vers les dernières versions et installez l'utilitaire de décompression :
sudo apt update && sudo apt upgrade
sudo apt install unzip
Création de la base de données MySQL #
Si vous avez MySQL ou MariaDB installé sur votre serveur, vous pouvez ignorer cette étape, sinon vous pouvez installer le package de serveur MySQL 5.7 à partir des référentiels par défaut d'Ubuntu en tapant :
sudo apt install mysql-server mysql-client
Pour les nouvelles installations de MySQL, il est recommandé d'exécuter le mysql_secure_installation
commande pour améliorer la sécurité de votre serveur MySQL. Connectez-vous au shell MySQL à l'aide de la commande suivante :
sudo mysql
Depuis le shell MySQL, exécutez l'instruction SQL suivante pour créer une nouvelle base de données nommée opencart
:
CREATE DATABASE opencart;
Ensuite, créez un compte utilisateur MySQL nommé opencart
et accordez les autorisations nécessaires à l'utilisateur en exécutant la commande suivante :
GRANT ALL ON opencart.* TO 'opencart'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Assurez-vous de modifier change-with-strong-password
avec un mot de passe fort. Une fois cela fait, quittez la console mysql en tapant :
EXIT;
Installation et configuration de PHP #
PHP 7.2, qui est la version PHP par défaut dans Ubuntu 18.04, est entièrement pris en charge et recommandé pour OpenCart. Puisque nous utiliserons Nginx comme serveur Web, nous installerons également le package PHP-FPM.
Exécutez la commande suivante pour installer PHP et tous les modules PHP requis :
sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap
Le service PHP-FPM démarrera automatiquement une fois le processus d'installation terminé, vous pouvez le vérifier en imprimant l'état du service :
sudo systemctl status php7.2-fpm
La sortie doit indiquer que le service fpm est actif et en cours d'exécution.
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-02-25 10:45:42 UTC; 53s ago
Docs: man:php-fpm7.2(8)
Main PID: 27446 (php-fpm7.2)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 505)
CGroup: /system.slice/php7.2-fpm.service
├─27446 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
Définissez les options PHP requises et recommandées en modifiant le php.ini
fichier avec sed
::
sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini
Installation d'OpenCart #
Au moment de la rédaction de cet article, la dernière version stable d'OpenCart est la version 3.0.3.1
.
Avant de télécharger l'archive OpenCart, créez d'abord un répertoire qui contiendra nos fichiers OpenCart :
sudo mkdir -p /var/www/html/example.com
Téléchargez la dernière version d'OpenCart à partir du référentiel OpenCart Github à l'aide de la commande wget suivante :
cd /tmp
wget https://github.com/opencart/opencart/releases/download/3.0.3.1/opencart-3.0.3.1.zip
Une fois le téléchargement terminé, extrayez l'archive OpenCart et déplacez les fichiers extraits dans le répertoire racine des documents du domaine :
unzip opencart-*.zip
sudo mv /tmp/upload/* /var/www/html/example.com/
Copiez les fichiers de configuration en utilisant le cp
commande :
sudo cp /var/www/html/example.com/{config-dist.php,config.php}
sudo cp /var/www/html/example.com/admin/{config-dist.php,config.php}
Définissez les autorisations correctes afin que le serveur Web puisse avoir un accès complet aux fichiers et répertoires du site à l'aide de la commande chown suivante :
sudo chown -R www-data: /var/www/html
Configuration de Nginx #
À présent, vous devriez déjà avoir Nginx avec certificat SSL installé sur votre serveur Ubuntu, sinon vérifiez les prérequis pour ce tutoriel.
Ouvrez votre éditeur de texte et créez le fichier suivant :
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.com example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
# Redirect WWW -> NON WWW
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
root /var/www/html/example.com;
index index.php;
# SSL parameters
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.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.2-fpm.sock;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
N'oubliez pas de remplacer example.com par votre domaine OpenCart et de définir le chemin correct vers les fichiers de certificat SSL. Toutes les requêtes HTTP seront redirigées vers HTTPS. Les extraits utilisés dans cette configuration sont créés dans ce guide. Avant de redémarrer le service Nginx faites un test pour vous assurer qu'il n'y a pas d'erreurs de syntaxe :
sudo nginx -t
S'il n'y a pas d'erreurs, la sortie devrait ressembler à ceci :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Enfin, redémarrez le service Nginx en tapant :
sudo systemctl restart nginx
Fin de l'installation d'OpenCart #
Maintenant qu'OpenCart est téléchargé et que la configuration du serveur est terminée, vous pouvez terminer l'installation via l'interface Web.
Ouvrez votre navigateur, tapez votre domaine et un écran similaire au suivant apparaîtra :
Lisez le contrat de licence OpenCart, sélectionnez la langue que vous souhaitez utiliser et cliquez sur Continue
bouton.
Ensuite, vous verrez la page d'informations suivante :
Assurez-vous que toutes les exigences de pré-installation sont remplies et cliquez sur Continue
bouton.
Sur l'écran suivant, l'assistant de configuration vous demandera d'entrer les détails de connexion à votre base de données. Entrez l'utilisateur MySQL et les détails de la base de données que vous avez créés précédemment.
Entrez un nom d'utilisateur, un mot de passe et une adresse e-mail pour l'administration et lancez l'installation en cliquant sur Continue
bouton.
Une fois l'installation terminée, vous serez redirigé vers une page vous informant qu'OpenCart a été installé.
Pour accéder à votre tableau de bord administratif OpenCart cliquez sur le Login to your Administration
bouton. Entrez votre nom d'utilisateur et votre mot de passe et vous serez redirigé vers le tableau de bord d'administration.
Lors de votre première connexion, une fenêtre contextuelle apparaîtra vous demandant de déplacer le répertoire de stockage en dehors du répertoire Web.
Conservez la valeur par défaut Automatically Move
option et cliquez sur le rouge Move
bouton. Le répertoire dans lequel vous déplacez le storage
Le répertoire doit être accessible par le serveur Web.
À partir de là, vous pouvez commencer à personnaliser votre installation OpenCart et ajouter de nouveaux produits.
Vous devrez également supprimer le répertoire d'installation. Pour ce faire, retournez au terminal et tapez le rm
suivant commande :
sudo rm -rf /var/www/html/example.com/install