Opencart est une plateforme de commerce électronique GRATUITE et open-source. Tout ce dont vous avez besoin pour créer, faire évoluer et gérer votre entreprise ». Il s'agit d'un système de gestion de boutique en ligne Open Source. Il est basé sur PHP, utilisant une base de données MySQL et des composants HTML.
Apache est un logiciel de serveur Web populaire qui est souvent utilisé pour diffuser du contenu PHP. Mysql est également un système de gestion relationnelle populaire utilisé par les sites Web populaires.
Contenu associé
- Comment configurer Opencart avec LAMP (PHP, Apache, Mariadb) sur Ubuntu 20.04
- Comment installer et configurer PHP et Apache (pile LAMP) sur Debian 11
- Comment installer et configurer Mariadb 10 dans Debian 11
- Autorisations MySQL – Créer, mettre à jour, supprimer des utilisateurs de la base de données
- Installer la pile Apache PHP 7.4 (LAMP) sur Centos 8
- Comment installer et activer le référentiel Remi dans Centos 6/7/8
Prérequis
Pour suivre, assurez-vous d'avoir les éléments suivants :
- Un serveur Debian 11 mis à jour
- Accès root ou utilisateur avec accès sudo
- Accès Internet
Étapes
Nous allons l'exécuter en suivant les étapes suivantes :
- Assurez-vous que le serveur est à jour
- Installer et configurer Mariadb 10 dans Debian 11
- Création d'un utilisateur mysql pour Opencart
- Installer php dans Debian 11
- Installer Apache sur Debian 11
- Configuration d'Opencart sur le serveur
- Créer un hôte virtuel pour servir l'Opencart
- Passer par le processus d'installation d'Opencart
1. Assurez-vous que le serveur est à jour
Avant de continuer, il est toujours recommandé de s'assurer que le serveur est à jour. Utilisez ces commandes pour y parvenir
sudo apt update
sudo apt upgrade -y
Installez quelques packages courants dont nous aurons besoin plus tard
sudo apt install -y vim unzip
2. Installer Mariadb dans Debian 11
Mariadb est un système de gestion relationnelle Opensource populaire. Il est disponible dans les dépôts par défaut en tant que mariadb-server
.
Installez-le avec cette commande :
sudo apt install -y mariadb-server
Mariadb sera installé et démarré par défaut dans Debian 11. Vérifiez l'état avec ceci
$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.5.12 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-12-14 05:51:32 UTC; 26s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Process: 20983 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 20984 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 20986 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq>
Process: 21048 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 21050 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
Main PID: 21034 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 14 (limit: 4626)
Memory: 78.3M
CPU: 672ms
CGroup: /system.slice/mariadb.service
└─21034 /usr/sbin/mariadbd
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: mysql
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: performance_schema
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: Phase 6/7: Checking and upgrading tables
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: Processing databases
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: information_schema
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: performance_schema
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: OK
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21713]: Checking for insecure root accounts.
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21720]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables
Pour vous assurer que mariadb démarre au démarrage, activez-le avec cette commande systemd :
sudo systemctl enable mariadb
Une fois le service mysql en cours d'exécution, vous devez le sécuriser. Mysql fournit un utilitaire en ligne de commande qui fera cela :
sudo mysql_secure_installation
La commande ci-dessus vous guidera à travers les invites pour sécuriser et définir un mot de passe root pour l'instance mysql.
Consultez plus d'informations sur l'installation et la configuration de mysql dans ce guide ici
3. Création d'un utilisateur mysql pour OpenCart
Il est toujours recommandé d'avoir un utilisateur dédié pour chaque application qui se connecte à la base de données. Consultez ce guide sur la gestion des autorisations MySQL ici. Nous allons configurer une base de données, un utilisateur et un mot de passe à utiliser par Opencart :
Connectez-vous au serveur mysql :
mysql -u root -p
Après avoir fourni votre mot de passe, entrez ce qui suit à l'invite mysql :
create database opencart;
create user 'opencart_user'@'%' identified by 'S0mStrongPa$$word';
grant all privileges on opencart.* to 'opencart_user'@'%';
Maintenant que nous avons configuré notre connexion mysql, passons à la section suivante où nous installons et configurons PHP et Nginx.
4. Installer PHP dans Debian 11
Opencart fonctionne bien avec PHP 7.4. Cette version est disponible dans les dépôts Debian par défaut.
Ensuite, installez php et ses dépendances, utilisez cette commande :
sudo apt install -y \
php \
php-cli \
php-gd \
php-curl \
php-zip \
php-dom \
php-xml \
php-simplexml \
php-mbstring \
php-intl \
php-json
Pour plus d'informations sur la configuration de PHP et d'Apache, consultez ce guide ici.
5. Installer apache sur Debian 11
Les packages Apache sont disponibles dans les dépôts Debian 11 par défaut sous le nom apache2
. Installez-le à l'aide de cette commande :
sudo apt install -y apache2
Confirmez les packages installés à l'aide de cette commande :
$ apt-cache policy apache2
apache2:
Installed: 2.4.51-1~deb11u1
Candidate: 2.4.51-1~deb11u1
Version table:
*** 2.4.51-1~deb11u1 500
500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
100 /var/lib/dpkg/status
2.4.48-3.1+deb11u1 500
500 http://cdn-aws.deb.debian.org/debian bullseye/main amd64 Packages
Le service sera démarré par défaut. Vérifiez l'état à l'aide de cette commande :
$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-12-14 03:01:04 UTC; 5min ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 19103 (apache2)
Tasks: 6 (limit: 4626)
Memory: 12.8M
CPU: 59ms
CGroup: /system.slice/apache2.service
├─19103 /usr/sbin/apache2 -k start
├─19105 /usr/sbin/apache2 -k start
├─19106 /usr/sbin/apache2 -k start
├─19107 /usr/sbin/apache2 -k start
├─19108 /usr/sbin/apache2 -k start
└─19109 /usr/sbin/apache2 -k start
Dec 14 03:01:04 ip-10-2-40-188 systemd[1]: Starting The Apache HTTP Server...
Dec 14 03:01:04 ip-10-2-40-188 systemd[1]: Started The Apache HTTP Server.
Pour activer le service au démarrage, utilisez cette commande
sudo systemctl enable apache2
Pour confirmer qu'Apache est installé et fonctionne correctement, veuillez visiter l'adresse IP du serveur dans le navigateur (http://server_ip). Si vous ne connaissez pas l'adresse IP du serveur, obtenez-la en utilisant cette commande dans votre terminal :
curl -4 icanhazip.com
Si tout va bien, vous devriez voir la page Apache2 Debian par défaut .
6. Configuration d'Opencart
Après avoir configuré mysql, php et apache, nous devons télécharger le fichier d'installation d'Opencart et le configurer sur le serveur. Nous devons créer un répertoire sur le serveur où le contenu sera hébergé.
Je vais configurer Opencart pour qu'il soit servi depuis le domaine http://opencart.citizix.com
. Étant donné qu'Apache diffuse le contenu de /var/www/html
, je vais créer mon répertoire de sites dans ce /var/www
répertoire :
sudo mkdir /var/www/opencart.citizix.com
Assurez-vous que votre utilisateur Web est autorisé à lire, écrire et exécuter tous les répertoires sous le chemin du site :
sudo chown -R $USER:$GROUP /var/www/opencart.citizix.com
Maintenant, téléchargeons et extrayons le contenu Opencart. Opencart utilise github pour suivre ses sorties. Rendez-vous sur la page des versions de github pour Opencart ici et récupérez la dernière version. Au moment de la rédaction de cet article, la dernière version est 3.0.3.8
.
Téléchargez-le avec cette commande :
curl -LO https://github.com/opencart/opencart/releases/download/3.0.3.8/opencart-3.0.3.8.zip
Maintenant que le fichier a été téléchargé, nous devons l'extraire. Vous avez besoin de la commande zip pour l'extraire.
unzip opencart-3.0.3.8.zip
Le contenu sera extrait vers le upload
annuaire. Déplaçons-le vers le chemin de notre site avec cette commande :
sudo mv upload/* /var/www/opencart.citizix.com/
Renommer config-dist.php
vers config.php
et admin/config-dist.php
à admin/config.php
:
cd /var/www/opencart.citizix.com/
mv config-dist.php config.php
mv admin/config-dist.php admin/config.php
7. Créez un hôte virtuel pour servir Opencart
Maintenant que les packages logiciels requis ont été installés et que le contenu Opencart a été copié, nous avons besoin d'un hôte virtuel Apache pour diffuser le contenu de notre site http://opencart.citizix.com
.
Les fichiers d'hôte virtuel Apache spécifient la configuration de chaque site et indiquent au serveur Web Apache comment répondre aux différentes demandes de domaine.
Veuillez noter que le DNS du domaine à utiliser doit déjà être configuré pour pointer vers l'adresse IP du serveur.
Confirmez cela avec :
dig -t A opencart.citizix.com
Les configurations Apache seront stockées dans le répertoire /etc/httpd/conf.d/
. Créons une configuration pour notre site :
sudo vim /etc/apache2/sites-available/opencart.citizix.com.conf
Ajoutez le contenu suivant :
<VirtualHost *:80>
ServerName opencart.citizix.com
ServerAlias opencart.citizix.com
DocumentRoot /var/www/opencart.citizix.com
DirectoryIndex index.php
ErrorLog /var/log/apache2/opencart.citizix.com.error.log
CustomLog /var/log/apache2/opencart.citizix.com.requests.log combined
</VirtualHost>
Pour appliquer les modifications, veuillez redémarrer apache :
sudo systemctl reload apache2
8. Passer par le processus d'installation d'Opencart
Une fois la configuration ci-dessus terminée, nous devrions être prêts à commencer à installer opencart. Visitez l'URL définie dans l'hôte virtuel ci-dessus pour lancer le processus de configuration. Dans mon cas, lorsque je visite http://opencart.citizix.com
, je suis accueilli par cette page :
La page ci-dessus vous demande d'accepter les conditions. Cliquez sur Continuer pour passer à la page suivante :
L'étape ci-dessus consiste à vérifier que le serveur est configuré comme prévu. Si vous avez installé les packages php requis ci-dessus, vous devriez voir une coche verte pour chacun des éléments.
Cliquez sur Continuer pour passer à l'étape suivante :
L'étape ci-dessus vous permet de configurer la configuration de votre base de données et l'utilisateur administrateur. Remplissez les détails requis et cliquez sur Continuer.
Si tout est OK, vous serez redirigé vers l'étape finale qui vous indique que l'installation a réussi :
Jusqu'à présent, Opencart est configuré et prêt à être utilisé.
Configuration finale
Supprimons le répertoire d'installation du serveur comme recommandé par cet avertissement dans la dernière page
cd /var/www/opencart.citizix.com/
rm -rf installation
Déplaçons le répertoire de stockage et mettons à jour les configurations comme indiqué dans cette capture d'écran :
sudo mv /var/www/opencart.citizix.com/system/storage/ /var/www/storage/
Mettez à jour les fichiers de configuration comme indiqué dans la capture d'écran.
Conclusion
À partir des étapes ci-dessus, nous avons pu configurer le serveur Debian 11 pour servir Opencart.