GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer PrestaShop sur Debian 9

Dans ce guide, nous allons vous montrer comment installer et configurer la dernière version de Prestashop sur la version Debian 9.1, afin de créer votre panier d'achat en ligne gratuit.

Prestashop est une plate-forme de gestion de contenu de commerce électronique Open Source gratuite écrite en langage de programmation PHP qui est souvent déployée sur Linux sous des serveurs Web Apache/Nginx, PHP et un système de gestion de base de données MySQL/MariaDB. Le CMS Prestashop est aujourd'hui très utilisé pour créer des boutiques en ligne pour différentes entreprises et annoncer et vendre des services et des marchandises.

Exigences

  • Installation minimale de Debian 9 sur une machine sans système d'exploitation ou sur un serveur privé virtuel.
  • Une adresse IP statique configurée pour l'une des cartes d'interface réseau de votre système.
  • Privilèges sudo root pour un compte local ou distant ou accès direct au compte root.
  • Un nom de domaine, privé ou public, selon votre déploiement, avec les enregistrements DNS appropriés configurés.

Configuration initiale

Avant de commencer à installer et à configurer Prestashop à partir de la source sur votre propre serveur, assurez-vous d'abord que le système répond à toutes les exigences logicielles pour compiler et installer l'application. Dans un premier temps, mettez à jour vos référentiels système et vos progiciels en exécutant la commande ci-dessous.

apt update
apt upgrade

À l'étape suivante, exécutez la commande suivante afin d'installer certains utilitaires nécessaires qui seront utilisés pour gérer davantage votre système à partir de la ligne de commande.

apt install wget bash-completion zip unzip

Ensuite, configurez le nom de votre système en exécutant la commande suivante. Remplacez votre variable de nom d'hôte en conséquence.

hostnamectl set-hostname shop

Vérifiez le nom d'hôte de la machine et le fichier d'hôtes en exécutant les commandes ci-dessous.

hostnamectl
cat /etc/hostname
hostname –s
hostname –f

Enfin, redémarrez le serveur Debian afin d'appliquer les mises à jour du noyau et les changements de nom d'hôte correctement.

systemctl reboot

Prestashop est une plate-forme de commerce électronique CMS basée sur le Web, écrite principalement en langage de programmation côté serveur PHP. Afin d'exécuter les scripts de fichiers PHP Prestashop, un serveur Web, tel qu'un serveur HTTP Apache, et une passerelle de traitement PHP doivent être installés et opérationnels sur le serveur. Afin d'installer le serveur Web Apache et l'interpréteur PHP avec tous les modules PHP requis par Prestashop pour fonctionner correctement, exécutez la commande suivante dans la console de votre serveur.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-xml php7.0-gd php7.0-json php7.0-zip php7.0-intl php7.0-mcrypt php7.0-curl php7.0-intl php7.0-opcache

Une fois Apache et PHP installés, testez si le serveur Web est opérationnel et écoute les connexions réseau sur le port 80 en exécutant la commande suivante avec les privilèges root.

netstat –tlpn

Si l'utilitaire réseau netstat n'est pas installé par défaut sur votre système Debian, exécutez la commande ci-dessous pour l'installer.

apt install net-tools

En inspectant la sortie de la commande netstat, vous pouvez voir que le serveur Web apache écoute les connexions réseau entrantes sur le port 80. Pour la même tâche, vous pouvez également utiliser le ss commande, qui est automatiquement installée par défaut dans Debian 9.

ss -tlpn

Si un pare-feu est activé sur votre système, tel qu'une application de pare-feu UFW, vous devez ajouter une nouvelle règle pour autoriser le trafic HTTP à traverser le pare-feu en exécutant la commande suivante.

ufw allow WWW

ou

ufw allow 80/tcp

Si vous utilisez iptables règles brutes pour gérer les règles du pare-feu sur votre serveur Debian, ajoutez la règle suivante pour autoriser le trafic entrant du port 80 sur le pare-feu afin que les visiteurs puissent parcourir la boutique en ligne Prestashop.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Ensuite, activez et appliquez les modules Apache suivants requis par Prestashop CMS pour fonctionner correctement, en exécutant la commande ci-dessous.

a2enmod rewrite
systemctl restart apache2

Enfin, testez si la page Web par défaut du serveur Web Apache peut être affichée dans les navigateurs de votre client en visitant l'adresse IP de votre machine Debian ou votre nom de domaine ou FQDN de serveur via le protocole HTTP, comme indiqué dans l'image ci-dessous. Si vous ne connaissez pas l'adresse IP de votre machine, exécutez ifconfig ou ip a commandes pour révéler l'adresse IP de votre serveur.

http://your_domain.tld

Afin d'installer et d'accéder au panneau d'administration Web Prestashop et au site Web frontal via le protocole HTTPS qui sécurisera le trafic pour vos clients, exécutez la commande suivante pour activer le module SSL du serveur Web Apache et le fichier de configuration du site SSL.

a2enmod ssl
a2ensite default-ssl.conf

Ensuite, ouvrez le fichier de configuration du site SSL par défaut d'Apache avec un éditeur de texte et activez les règles de réécriture d'URL en ajoutant les lignes de code suivantes après DocumentRoot directive, comme illustré dans l'exemple ci-dessous :

nano /etc/apache2/sites-enabled/default-ssl.conf

Extrait du fichier de configuration du site SSL :

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Apportez également la modification suivante à la ligne VirtualHost pour qu'elle ressemble à celle illustrée dans l'extrait ci-dessous :

        <VirtualHost *:443>

Fermez le fichier SSL Apache et ouvrez /etc/apache2/sites-enabled/000-default.conf fichier à modifier et ajoutez les mêmes règles de réécriture d'URL que pour le fichier de configuration SSL. Insérez les lignes de code après DocumentRoot déclaration comme indiqué dans l'exemple ci-dessous.

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Enfin, redémarrez le démon Apache pour appliquer toutes les règles configurées jusqu'à présent et visitez votre domaine via le protocole HTTP. Étant donné que vous utilisez les paires de certificats auto-signés automatiquement émis par Apache lors de l'installation, un avertissement d'erreur doit s'afficher dans le navigateur. Acceptez l'avertissement pour continuer et être redirigé vers la page Web par défaut d'Apache.

systemctl restart apache2

https://votredomaine.tld

Si l'application de pare-feu UFW bloque les connexions réseau entrantes au port HTTPS, vous devez ajouter une nouvelle règle pour autoriser le trafic HTTPS à traverser le pare-feu en exécutant la commande suivante.

ufw allow 'WWW Full'

ou

ufw allow 443/tcp

Si iptables est l'application de pare-feu par défaut installée pour protéger votre système Debian au niveau du réseau, ajoutez la règle suivante pour autoriser le trafic entrant du port 443 dans le pare-feu afin que les visiteurs puissent parcourir votre nom de domaine.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Dans l'étape suivante, nous devons apporter d'autres modifications au fichier de configuration PHP par défaut afin de nous assurer que les variables PHP suivantes sont activées et que le fuseau horaire PHP est correctement configuré et correspond à l'emplacement géographique de votre système. Ouvrez /etc/php/7.0/apache2/php.ini fichier à éditer et assurez-vous que les lignes suivantes sont configurées comme suit. Aussi, dans un premier temps, faites une sauvegarde du fichier de configuration PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Recherchez, modifiez et modifiez les variables suivantes dans php.ini fichier de configuration :

file_uploads = On
allow_url_fopen = On
memory_limit = 128 M
upload_max_file_size = 64M
date.timezone = Europe/London

Augmenter memory_limit variable appropriée pour prendre en charge les pièces jointes volumineuses et remplacer le time.zone variable en fonction de votre heure physique en consultant la liste des fuseaux horaires fournie par les docs PHP au lien suivant http://php.net/manual/en/timezones.php

Si vous souhaitez augmenter la vitesse de chargement des pages de votre site Web via le plug-in OPCache disponible pour PHP7, ajoutez les paramètres OPCache suivants au bas du fichier de configuration de l'interpréteur PHP, comme indiqué ci-dessous :

opcache.enable=1 
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Fermez le fichier de configuration php.ini et vérifiez si la vérification de la fin du fichier de configuration PHP pour vérifier si les variables ont été correctement ajoutées en exécutant la commande ci-dessous.

tail /etc/php/7.0/apache2/php.ini

Après avoir apporté toutes les modifications expliquées ci-dessus, redémarrez le démon apache pour appliquer les nouvelles modifications en exécutant la commande suivante.

systemctl restart apache2

Enfin, créez un fichier d'informations PHP en exécutant la commande suivante et vérifiez si le fuseau horaire PHP a été correctement configuré en visitant le fichier de script d'informations PHP à partir d'un navigateur à l'URL suivante, comme illustré dans l'image ci-dessous. Faites défiler jusqu'à date paramètre pour vérifier la configuration du fuseau horaire php.

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

https://domain.tld/info.php

Prestashop stocke différentes configurations, telles que les utilisateurs, les sessions, les contacts, les produits, les catalogues et autres, dans une base de données RDBMS. Dans ce guide, nous allons configurer Prestashop pour utiliser la base de données MariaDB comme backend. Exécutez la commande ci-dessous pour installer la base de données MariaDB et le module PHP nécessaire pour accéder à la base de données mysql.

apt install mariadb-server php7.0-mysql

Après avoir installé MariaDB, vérifiez si le démon est en cours d'exécution et écoute les connexions sur localhost, port 3306, en exécutant netstat commande.

netstat –tlpn | grep mysql

Ensuite, connectez-vous à la console MySQL et sécurisez le compte racine MariaDB en exécutant les commandes suivantes.

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit

À l'étape suivante, sécurisez MariaDB en exécutant le script mysql_secure_installation fourni par les packages d'installation à partir des dépôts Debian Stretch. Lors de l'exécution, le script posera une série de questions conçues pour sécuriser la base de données MariaDB, telles que :changer le mot de passe root MySQL, supprimer les utilisateurs anonymes, désactiver les connexions root à distance et supprimer la base de données de test. Exécutez le script en exécutant la commande ci-dessous et assurez-vous de taper oui à toutes les questions posées afin de sécuriser complètement le démon MySQL. Utilisez la sortie de script ci-dessous, sauf comme guide.

sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
 
You already have a root password set, so you can safely answer 'n'.
 
Change the root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
 
 
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
 
Remove anonymous users? [Y/n] y
 ... Success!
 
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
 
Disallow root login remotely? [Y/n] y
 ... Success!
 
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
 
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
 
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
 
Reload privilege tables now? [Y/n] y
 ... Success!
 
Cleaning up...
 
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
 
Thanks for using MariaDB!

Afin de tester la sécurité de MariaDB, essayez de vous connecter à la base de données depuis la console sans mot de passe root. L'accès à la base de données doit être refusé si aucun mot de passe n'est fourni pour le compte root. Si le mot de passe est fourni, le processus de connexion doit être accordé à la console MySQL, comme indiqué dans la capture d'écran ci-dessous.

mysql -h localhost -u root
mysql -h localhost -u root –p

Ensuite, connectez-vous à la console de base de données MariaDB, créez une base de données pour Prestashop et un utilisateur avec un mot de passe qui sera utilisé pour gérer la base de données Prestashop, en exécutant les commandes suivantes. Remplacez le nom, l'utilisateur et le mot de passe de la base de données PrestaShop en conséquence.

mysql –u root -p
create database my_shop;
grant all privileges on my_shop.* to 'shop_user' identified by 'shop_password';
flush privileges;
exit

Afin d'appliquer toutes les modifications apportées jusqu'à présent, redémarrez les démons MySQL et Apache et vérifiez si les démons sont en cours d'exécution en exécutant les commandes suivantes.

systemctl restart mysql apache2
systemctl status mysql apache2

Installer PrestaShop

Une fois que toutes les exigences système sont remplies pour l'installation de votre boutique en ligne de commerce électronique, visitez la page des versions de Prestashop sur GitHub https://github.com/PrestaShop/PrestaShop/releases et téléchargez la dernière archive compressée du package zip en exécutant l'utilitaire wget, comme illustré dans l'exemple suivant.

wget https://github.com/PrestaShop/PrestaShop/releases/download/1.7.2.3/prestashop_1.7.2.3.zip

Une fois le téléchargement de l'archive zip terminé, extrayez l'archive zip Prestashop directement à la racine du document de votre serveur Web et répertoriez les fichiers extraits en exécutant les commandes ci-dessous. Supprimez également le fichier index.html par défaut installé par le serveur Web Apache sur le chemin Webroot et supprimez également le fichier info.php créé précédemment.

rm /var/www/html/index.html
rm /var/www/html/info.php
unzip prestashop_1.7.2.3.zip -d /var/www/html/
ls /var/www/html/

Ensuite, exécutez les commandes ci-dessous afin d'accorder à l'utilisateur d'exécution Apache des autorisations d'écriture complètes sur le chemin racine Web. Utilisez ls commande pour répertorier les autorisations pour les fichiers d'installation de Prestashop situés dans le répertoire /var/www/html/.

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Procédez à l'installation du CMS Prestashop en ouvrant un navigateur et parcourez l'adresse IP ou le nom de domaine de votre serveur via le protocole HTTPS. Sur le premier écran d'installation, le script d'installation de Prestashop dépliera le contenu du fichier prestashop.zip à partir du chemin racine du serveur Web, comme indiqué dans l'image ci-dessous.

https://yourdomain.tld

Une fois l'extraction terminée, vous pouvez passer en ligne de commande et lister le contenu du répertoire /var/www/html/ afin d'afficher tous les fichiers extraits de Prestashop.

ls -la /var/www/html/

Sur l'écran suivant, le programme d'installation de Prestashop affichera un écran de bienvenue et vous demandera de choisir la langue d'installation afin de poursuivre le processus d'installation. Choisissez votre langue et appuyez sur le bouton Suivant pour passer à l'étape suivante.

Sur l'écran d'installation suivant, cochez "J'accepte les termes de la licence" et appuyez sur le bouton Suivant pour continuer, comme illustré dans l'image ci-dessous.

Le programme d'installation de Prestashop effectuera maintenant une série de vérifications afin de déterminer la compatibilité avec votre système et votre environnement et répertoriera les éventuelles erreurs, si elles sont trouvées. Si votre environnement système est compatible avec l'installation de PrestaShop, un message vert devrait s'afficher sur votre page Web, comme indiqué dans la capture d'écran ci-dessous. Encore une fois, appuyez sur le bouton Suivant pour aller plus loin dans le processus d'installation.

Sur l'écran suivant, ajoutez les informations requises sur votre boutique, telles que le nom de la boutique, l'activité principale, le pays où votre boutique est enregistrée et les détails du compte. Fournissez une adresse e-mail afin d'accéder au panneau Web backend de Prestashop et un mot de passe fort qui sera utilisé pour ce compte, comme indiqué dans la capture d'écran ci-dessous. Lorsque vous avez terminé, cliquez sur le bouton Suivant pour continuer.

sur l'écran d'installation suivant, ajoutez l'adresse de la base de données MySQL, le nom et les informations d'identification créés précédemment pour Prestashop, appuyez sur 'Testez votre connexion à la base de données maintenant' bouton. Si la connexion à la base de données MySQL est réussie, cliquez sur le bouton Suivant pour lancer le processus d'installation.

Attendez quelques minutes que le programme d'installation remplisse la base de données avec toutes les informations requises et que le processus d'installation se termine, comme indiqué dans les captures d'écran ci-dessous.

Une fois l'installation terminée, le programme d'installation affichera les informations de connexion de votre panneau d'administration Web sauvegardé et les hyperliens requis pour accéder à Prestashop Backend Office , qui servira à gérer votre boutique en ligne, et Front Office de votre magasin, qui sera affiché à vos clients.

Assurez-vous d'appuyer sur le bouton Back Office Manage afin d'accéder au backend du magasin. Vous devez noter ou mettre en signet l'adresse du Back Office du magasin afin de vous connecter au panneau d'administration Web à partir d'autres navigateurs à l'avenir.

Lorsque vous essayez de vous connecter au Back Office, un message d'avertissement, comme indiqué dans l'image ci-dessous, vous informe que vous devez supprimer le répertoire d'installation du chemin Webroot de votre domaine.

Afin de pouvoir vous connecter au panneau d'administration de Prestashop, revenez à la console de votre serveur et exécutez la commande suivante pour supprimer le répertoire d'installation de Prestashop.

rm -rf /var/www/html/install/

Ensuite, rechargez la page Prestashop Back Office et connectez-vous au panneau d'administration avec la configuration des informations d'identification pendant le processus d'installation, comme illustré dans la capture d'écran suivante.

Lors de la première connexion, un message de bienvenue s'affichera dans le navigateur. Appuyer sur le bouton de démarrage vous redirigera vers le catalogue à partir duquel vous pourrez commencer à ajouter votre premier produit, comme indiqué dans la capture d'écran ci-dessous.

Pour visiter la page Web frontale de Prestashop, tapez simplement votre nom de domaine dans le navigateur et vous serez automatiquement redirigé vers la page initiale, comme décrit dans la capture d'écran suivante.

Cependant, pour l'instant, la boutique n'est accessible que de manière non sécurisée via le protocole HTTP non crypté. Afin d'activer la prise en charge HTTPS dans Prestashop, connectez-vous au panneau Back Office et accédez à Configurer -> Paramètres de la boutique -> Général et appuyez sur Veuillez cliquer ici pour vérifier si votre boutique prend en charge HTTPS lien, comme illustré dans l'image ci-dessous.

Une fois les tests SSL effectués, activez l'option Activer SSL bouton sur OUI et faites défiler vers le bas de la page et appuyez sur Enregistrer bouton, pour appliquer la configuration. Cependant, cette configuration n'active jusqu'à présent le support SSL que pour le lien Back Office. Les clients qui visiteront le nom de domaine de votre boutique seront dirigés via des connexions non cryptées.

Pour sécuriser le trafic des visiteurs sur votre domaine, activez l'option Activer SSL sur toutes les pages bouton sur Oui, comme indiqué dans l'image ci-dessous et faites défiler vers le bas et appuyez sur Enregistrer bouton en bas de la page pour appliquer les paramètres.

Pour tester si les clients sont maintenant automatiquement redirigés pour visiter votre domaine via une connexion sécurisée via le protocole HTTPS, actualisez la page d'accueil de Prestashop ou tapez votre nom de domaine dans le navigateur. Le nom de domaine de votre boutique devrait maintenant être accessible via le protocole HTTP, comme illustré dans l'image ci-dessous.

C'est tout! Vous avez installé et configuré avec succès PrestaShop sur Debian 9.1. Cependant, étant donné que votre serveur HTTP Apache utilise des certificats auto-signés pour crypter le trafic entre le serveur et les navigateurs des visiteurs, un message d'avertissement sera toujours généré et affiché dans leurs navigateurs lors de leur première visite dans la boutique. Cet avertissement est mauvais pour votre entreprise de boutique en ligne. Dans ce cas, vous devez acheter un certificat émis par une autorité de certification de confiance ou obtenir une paire de certificats gratuite auprès de Let's Encrypt CA.

Pour d'autres configurations personnalisées concernant Prestashop, visitez la page de documentation à l'adresse suivante :http://doc.prestashop.com/display/PS17/Installing+PrestaShop


Debian
  1. Comment installer le serveur Redis sur Debian 11

  2. Comment installer MySQL 8.0 / 5.7 sur Debian 11 / Debian 10

  3. Comment installer Java 17 dans Debian 11

  4. Comment installer ProFTPD sur Debian 8

  5. Comment installer le serveur MySQL sur Debian 9

Comment installer OpenOffice sur Debian 10

Comment installer FastPanel sur Debian 11

Comment installer I2P sur le serveur Debian :

Comment installer VNC sur Debian 10

Comment installer le serveur VNC sur Debian 11

Comment installer PrestaShop sur Debian 11