Installer PrestaShop sur Debian
PrestaShop est un CMS à l’instar du célèbre wordpress, cependant il est plus spécialiser dans l’e-commerce. C’est un outil open source, donc utilisable gratuitement sur ces serveurs, voyons ensemble comment installer PrestaShop sur son serveur Debian.
Prérequis
- Debian 11
- Se connecter avec un utilisateur ayant les droit root
Comme toujours on met à jour son système dans un premier temps :
apt update && apt full-upgrade -y
Installer un serveur LAMP
Pour le serveur LAMP, je passe rapidement sur les détail, j’ai déjà fait un tuto plus explicatif sur le sujet ici
Prestashop est un CMS, il à donc besoin d’un serveur LAMP, c’est ce que nous allons installer
apt install apache2 mariadb-server
Il nous faut activer le module rewrite d’apache2 :
a2enmod rewrite
systemctl restart apache2
Pour PHP on va ajouter le dépôt de php 7.4. Debian fournit désormais par défaut php 8, or prestashop supporte pour le moment que le version 7.4.
apt install software-properties-common apt-transport-https curl -y
curl -sSL https://packages.sury.org/php/README.txt | bash -x
apt update && apt upgrade -y
Une fois le dépôt ajouté, on installe php7.4 ainsi que quelques extensions requis pour le bon fonctionnement de prestashop.
apt install php7.4
apt install php7.4-simplexml php7.4-zip php7.4-curl php7.4-gd php7.4-pdo php7.4-intl php7.4-mysql php7.4-mbstring
systemctl reload apache2
Création de la base de données
Je le montre rarement dans mes tutos, mais lors de l’installation de mariadb il est important surtout pour de la production d’exécuter le script suivant :
mariadb-secure-installation
Cela permet de sécuriser la base de données, il vous posera quelques questions.
unix_socket → n
Définit le mdp root de mariadb → y
Remove anonymous user → y
Disallow root login → y
Remove test database → y
Ensuite j’entre dans ma console mariadb à l’aide de la commande :
mariadb
Je créer ma base de données nommée ‘prestashop’, je créer un utiliser avec un mot de passe et j’attribue les droits à cet utilisateur sur la base de données. je ne peux que vous inciter à modifier le mot de passe par défaut !
create database prestashop;
create user prestashopuser@localhost identified by 'p';
grant all privileges on prestashop.* to prestashopuser@localhost;
flush privileges;
exit
Installation de PrestaShop
Ensuite on télécharge PrestaShop sur github, pour obtenir le lien il suffit de se rendre sur la dernière version et de copier le lien via un clique droit. On télécharge ensuite PrestaShop directement sur le serveur à l’aide de la commande wget :
cd /tmp
wget https://github.com/PrestaShop/PrestaShop/releases/download/1.7.8.6/prestashop_1.7.8.6.zip
On installe unzip afin de dézipper l’archive.
apt install unzip
unzip prestashop_1.7.8.6.zip
Je copie la seconde archive qui contient uniquement le code de PrestaShop à l’aide de « cp ». Je me déplace dans le répertoire de travail d’apache2 et je supprime l’index.html qui est généré par apache2 à son installation. Enfin j’extrait l’archive
cp prestashop.zip /var/www/html
cd /var/www/html
rm index.html
unzip prestashop.zip
Il ne me reste qu’à donner les droits sur les fichiers de PrestaShop à l’utilisateur d’apache2.
chown www-data:www-data /home/mduqbvd/www/ -R
chmod 775 -R /home/mduqbvd/www/
Initialisation de PrestaShop
Rendez-vous sur votre navigateur web à l’adresse de votre serveur. Pour ma part l’ip de mon serveur est 192.168.20.109. Je me rend à cette adresse et j’ai bien l’assistant d’installation.
Rien de très sorcier, je choisi la langue de mon futur shop.
J’accepte les termes et conditions d’utilisation.
Ensuite je renseigne un tas d’informations.
Pour se connecter à la base de données, modifier les informations ici et tester la connexion avant de valider. Si vous avez suivi le tuto à la lettre sur la partie base de données, alors les informations à renseigner seront les mêmes que l’image ci-dessous.
À noter que le mot de passe de la base est « p », que j’ai renseigné à l’utilisateur SQL créé précédemment.
La base de données va s’initialiser. Une fois finis, on nous demande pour des raisons de sécurité de supprimer le dossier d’installation sur le serveur.
Retourne sur votre serveur et supprimer le dossier d’installation :
rm -rf /home/mduqbvd/www/install/
Dans le même temps, il faut également renommer le dossier qui contient le backend de la boutique pour des raisons de sécurité. Je le renomme « admin1 » mais libre court à votre imagination !
je n’oublie pas de recharger apache2 pour prendre en compte les modifications.
mv /home/mduqbvd/www/admin /home/mduqbvd/www/admin1
systemctl reload apache2
Pour se connecter au backend, je me rend donc à l’adresse : http://ip-serveur/admin1
Le CMS est maintenant installer sur notre serveur Debian11. Vous avez les cartes en main pour devenir le futur Jeff Bezos !