Installation PrestaShop · 22 min read · Oct 14, 2025

Comment installer PrestaShop sur Rocky Linux 9

PrestaShop est une application web de commerce électronique open-source écrite en utilisant le framework Symfony PHP. Elle vous permet de concevoir, construire et héberger une boutique en ligne pour vendre des produits, recevoir des paiements et gérer tous les aspects associés. Elle est utilisée par plus de 300 000 sites, ce qui en fait l’une des plateformes de commerce électronique les plus populaires. Elle prend en charge des modules qui vous permettent d’étendre encore plus sa fonctionnalité. Vous pouvez la personnaliser en utilisant divers thèmes de haute qualité. Elle offre des modèles personnalisables, des passerelles de paiement sécurisées, une gestion des stocks et des outils optimisés pour le référencement afin d’optimiser les classements dans les moteurs de recherche.

Dans ce tutoriel, vous apprendrez à installer PrestaShop sur un serveur Rocky Linux 9.

Prérequis

  • Un serveur exécutant Rocky Linux 9 avec un minimum de 1 Go de RAM.
  • Un utilisateur non-root avec des privilèges sudo.
  • Un nom de domaine entièrement qualifié (FQDN) comme prestashop.example.com pointant vers votre serveur.
  • Un compte SMTP avec un service de messagerie comme Amazon SES ou Mailgun.
  • Tout est à jour. $ sudo dnf update
  • Quelques paquets essentiels sont requis pour le tutoriel et le fonctionnement de PrestaShop. Certains d’entre eux seront déjà sur votre serveur. $ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -y

Étape 1 - Configurer le pare-feu

La première étape consiste à configurer le pare-feu. Rocky Linux utilise le pare-feu Firewalld. Vérifiez l’état du pare-feu.

$ sudo firewall-cmd --state
running

Le pare-feu fonctionne avec différentes zones, et la zone publique est celle par défaut que nous allons utiliser. Listez tous les services et ports actifs sur le pare-feu.

$ sudo firewall-cmd --permanent --list-services

Il devrait afficher la sortie suivante.

cockpit dhcpv6-client ssh

Autorisez les ports HTTP et HTTPS.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Vérifiez à nouveau l’état du pare-feu.

$ sudo firewall-cmd --permanent --list-services

Vous devriez voir une sortie similaire.

cockpit dhcpv6-client http https ssh

Rechargez le pare-feu pour activer les modifications.

$ sudo firewall-cmd --reload

Étape 2 - Installer Nginx

Rocky Linux 9 est livré avec une version plus ancienne de Nginx. Pour installer la dernière version, vous devez télécharger le dépôt officiel de Nginx.

Créez et ouvrez le fichier /etc/yum.repos.d/nginx.repo pour l’édition.

$ sudo nano /etc/yum.repos.d/nginx.repo

Collez le code suivant dedans.

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

Une fois que vous avez terminé, enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.

Installez Nginx.

$ sudo dnf install nginx -y

Vérifiez l’installation.

$ nginx -v
nginx version: nginx/1.24.0

Activez et démarrez le service du serveur Nginx.

$ sudo systemctl enable nginx --now

Vérifiez l’état du service.

$ sudo systemctl status nginx
? nginx.service - nginx - serveur web haute performance
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
     Active: active (running) since Sat 2023-11-25 10:58:03 UTC; 5s ago
       Docs: http://nginx.org/en/docs/
    Process: 4220 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
   Main PID: 4222 (nginx)
      Tasks: 2 (limit: 10841)
     Memory: 1.9M
        CPU: 9ms
     CGroup: /system.slice/nginx.service
             ??4222 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ??4223 "nginx: worker process"

Ouvrez l’adresse IP de votre serveur dans votre navigateur web. Vous devriez voir la page suivante, ce qui signifie que votre serveur est opérationnel.

Page par défaut de Nginx

Étape 3 - Installer PHP et extensions

Rocky Linux 9 est livré avec PHP 8.1 par défaut. Pour rester toujours sur la dernière version de PHP ou si vous souhaitez installer plusieurs versions de PHP, nous devons utiliser le dépôt REMI.

La première étape consiste à récupérer le dépôt Epel.

$ sudo dnf install epel-release -y

Ensuite, installez le dépôt Remi.

$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

Vérifiez les flux PHP disponibles.

$ dnf module list php -y
Name    Stream              Profiles                                      Summary
php     8.1                 common [d], devel, minimal                    PHP scripting language

Remi's Modular repository for Enterprise Linux 9 - x86_64
Name    Stream              Profiles                                      Summary
php     remi-7.4            common [d], devel, minimal                    PHP scripting language
php     remi-8.0            common [d], devel, minimal                    PHP scripting language
php     remi-8.1            common [d], devel, minimal                    PHP scripting language
php     remi-8.2            common [d], devel, minimal                    PHP scripting language
php     remi-8.3            common [d], devel, minimal                    PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

La version par défaut est 8.1. Au moment de la rédaction de ce tutoriel, PrestaShop est compatible avec PHP 8.1. Par conséquent, activez le dépôt PHP 8.1 de Remi.

$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.1

Installez PHP et ses extensions requises par PrestaShop.

$ sudo dnf install php php-bcmath php-cli php-curl php-common \
    php-fpm php-gd php-gmp php-intl php-mbstring \
    php-mysql php-opcache php-xml php-zip -y

Vérifiez la version de PHP installée.

$ php --version
PHP 8.1.26 (cli) (built: Nov 21 2023 21:53:48) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.26, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.26, Copyright (c), by Zend Technologies

Activez et démarrez le service PHP-FPM.

$ sudo systemctl enable php-fpm --now

Vérifiez l’état du service.

$ sudo systemctl status php-fpm
? php-fpm.service - Le gestionnaire de processus PHP FastCGI
     Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled)
     Active: active (running) since Sat 2023-11-25 12:54:31 UTC; 2s ago
   Main PID: 6160 (php-fpm)
     Status: "Prêt à gérer les connexions"
      Tasks: 6 (limit: 10841)
     Memory: 15.2M
        CPU: 56ms
     CGroup: /system.slice/php-fpm.service
             ??6160 "php-fpm: master process (/etc/php-fpm.conf)"
             ??6161 "php-fpm: pool www"
             ??6162 "php-fpm: pool www"
             ??6163 "php-fpm: pool www"
             ??6164 "php-fpm: pool www"
             ??6165 "php-fpm: pool www"

Étape 4 - Installer Percona MySQL Server

PrestaShop nécessite un serveur de base de données MySQL pour le stockage des données. Mais au lieu d’installer MySQL, nous allons installer le serveur MySQL Percona. Il fonctionne comme un remplacement direct pour MySQL et offre plus de fonctionnalités et de sécurité.

La première étape consiste à installer le dépôt de version Percona pour Rocky Linux.

$ sudo dnf install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm

Si vous obtenez l’erreur suivante, vous pouvez l’ignorer en toute sécurité et continuer, car cela n’affecte pas l’installation. La clé GPG sera toujours importée plus tard.

error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Resource temporarily unavailable)
error: /etc/pki/rpm-gpg/RPM-GPG-KEY-Percona: key 1 import failed.

Une fois le dépôt installé, configurez le dépôt Percona Server pour MySQL 8.0 en émettant la commande suivante.

$ percona-release setup ps80

La commande ci-dessus demande si vous souhaitez désactiver le module MySQL par défaut. Entrez y pour continuer. Cela désactivera le module d’installation de MySQL et activera le module MySQL de Percona.

Installez le serveur Percona pour MySQL 8.0.

$ sudo dnf -y install percona-server-server

Cela installera le serveur et le client Percona pour MySQL, qui sont les paquets de base dont vous avez besoin pour l’instant.

Vérifiez l’installation.

$ mysql --version
mysql  Ver 8.0.34-26 for Linux on x86_64 (Percona Server (GPL), Release 26, Revision 0fe62c85)

Démarrez le service MySQL.

$ sudo systemctl start mysqld

Vérifiez l’état du service MySQL.

$ sudo systemctl status mysqld
? mysqld.service - Serveur MySQL
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: active (running) since Sun 2023-11-26 06:25:37 UTC; 7s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 6522 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
   Main PID: 6598 (mysqld)
     Status: "Le serveur est opérationnel"
      Tasks: 39 (limit: 10841)
     Memory: 486.8M
        CPU: 8.131s
     CGroup: /system.slice/mysqld.service
             ??6598 /usr/sbin/mysqld

Nov 26 06:25:28 prestashop.example.com systemd[1]: Starting MySQL Server...
Nov 26 06:25:37 prestashop.example.com systemd[1]: Started MySQL Server.

Percona génère un mot de passe root temporaire lors de l’installation. Récupérez ce mot de passe en utilisant la commande suivante.

$ sudo grep "temporary password" /var/log/mysqld.log
2023-11-26T06:25:33.316696Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: (sDeLSgjs7pI

Connectez-vous à la console MySQL.

$ sudo mysql -u root -p

Exécutez l’assistant de configuration de sécurité MySQL.

$ sudo mysql_secure_installation

Entrez le mot de passe root lorsque vous y êtes invité.

Securing the MySQL server deployment.

Enter password for user root:

Le mot de passe étant temporaire, il a déjà expiré et vous serez invité à définir un nouveau mot de passe root. Choisissez un mot de passe fort pour le compte root. Votre mot de passe doit satisfaire aux exigences de la politique de mot de passe actuelle, ce qui signifie qu’il doit contenir un caractère minuscule, un caractère majuscule, un chiffre et un caractère spécial.

The existing password for the user account root has expired. Please set a new password.

New password:

Re-enter new password:

Ensuite, la force du mot de passe sera affichée et vous serez invité à savoir si vous souhaitez la changer. Tapez N pour continuer.

The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N

 ... skipping.

Tapez Y pour supprimer les utilisateurs anonymes.

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : Y
Success.

Tapez Y pour interdire la connexion root à distance.

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? (Press y|Y for Yes, any other key for No) : Y
Success.

Tapez Y pour supprimer la base de données de test.

By default, MySQL 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? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Et enfin, tapez N pour recharger les tables de privilèges.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.

All done!

C’est tout. La prochaine fois que vous voudrez vous connecter à la console MySQL, utilisez la commande suivante et entrez le mot de passe root lorsque vous y êtes invité.

$ sudo mysql -u root -p

Vous obtiendrez l’invite de commande suivante de MySQL.

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.34-26 Percona Server (GPL), Release 26, Revision 0fe62c85

Copyright (c) 2009-2023 Percona LLC and/or its affiliates
Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Tapez exit pour quitter la console.

Étape 5 - Configurer le serveur MySQL Percona

Connectez-vous à la console MySQL.

$ sudo mysql -u root -p

Créez une nouvelle base de données MySQL, un utilisateur de base de données et un mot de passe pour votre installation de PrestaShop.

mysql> CREATE DATABASE prestashop COLLATE utf8mb4_general_ci;
mysql> CREATE USER 'prestauser'@'localhost' IDENTIFIED BY 'Your_password2';
mysql> GRANT ALL PRIVILEGES ON prestashop.* TO 'prestauser'@'localhost';

Remplacez prestashop, prestauser et yourpassword par les identifiants de votre choix. Choisissez un mot de passe fort et assurez-vous qu’il respecte la politique de mot de passe décrite ci-dessus.

Rafraîchissez les privilèges pour vous assurer qu’ils sont enregistrés dans la session actuelle.

mysql> FLUSH PRIVILEGES;

Quittez la console MySQL.

mysql> exit

Étape 6 - Télécharger PrestaShop

Créez un répertoire pour PrestaShop.

$ sudo mkdir /var/www/html/prestashop -p

Il existe deux versions de PrestaShop disponibles - la version de base avec marque et la version sans marque. La version avec marque est disponible sur le site Web de PrestaShop tandis que la version sans marque est disponible sur le dépôt GitHub. La différence entre les deux versions est que la version avec marque contient des modules supplémentaires, y compris un processeur de paiement, des modules Facebook et Google pour la promotion et le référencement, et divers autres modules pour se connecter à PrestaShop et à des fins d’analyse.

La version de base est publiée après la version sans marque. Par conséquent, au moment de la rédaction de ce tutoriel, la dernière version de l’édition de base disponible est 8.1.1 et la version sans marque est 8.1.2. Pour notre tutoriel, nous utiliserons l’édition de base avec marque. Vous pouvez utiliser la version sans marque si vous le souhaitez. Le processus d’installation pour les deux versions est exactement le même.

Téléchargez la dernière version en utilisant la commande suivante.

$ cd /tmp
$ wget https://assets.prestashop3.com/dst/edition/corporate/8.1.1/prestashop_edition_basic_version_8.1.1.zip

Vous pouvez obtenir le lien en visitant la page de téléchargement de PrestaShop, en entrant votre e-mail et en téléchargeant le fichier. La version sans marque peut être récupérée à partir de la page des versions de PrestaShop sur GitHub.

Décompressez l’archive téléchargée.

$ unzip prestashop_*.zip

Cette archive contient un autre fichier zip nommé prestashop.zip qui contient tous les fichiers. Extrayez les fichiers dans le répertoire PrestaShop.

$ sudo unzip prestashop.zip -d /var/www/html/prestashop

Changez le propriétaire du répertoire PrestaShop en utilisateur nginx.

$ sudo chown -R nginx: /var/www/html/prestashop

Étape 7 - Installer SSL

Nous devons installer Certbot pour générer le certificat SSL. Nous utiliserons le gestionnaire de paquets Snapd pour cela. Comme Rocky Linux ne l’inclut pas, installez le gestionnaire Snapd. Il nécessite le dépôt EPEL (Extra Packages for Enterprise Linux) pour fonctionner. Mais comme nous l’avons déjà installé à l’étape 3, nous pouvons directement avancer.

Installez Snapd.

$ sudo dnf install -y snapd

Activez et démarrez le service Snap.

$ sudo systemctl enable snapd --now

Installez le paquet de base Snap, et assurez-vous que votre version de Snapd est à jour.

$ sudo snap install core && sudo snap refresh core

Créez les liens nécessaires pour que Snapd fonctionne.

$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh

Installez Certbot.

$ sudo snap install --classic certbot

Utilisez la commande suivante pour vous assurer que la commande Certbot peut être exécutée en créant un lien symbolique vers le répertoire /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Vérifiez si Certbot fonctionne correctement.

$ certbot --version
certbot 2.7.4

Exécutez la commande suivante pour générer un certificat SSL.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d prestashop.example.com

La commande ci-dessus téléchargera un certificat dans le répertoire /etc/letsencrypt/live/prestashop.example.com sur votre serveur.

Générez un certificat de groupe Diffie-Hellman.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Vérifiez le service de planification de renouvellement de Certbot.

$ sudo systemctl list-timers

Vous trouverez snap.certbot.renew.service comme l’un des services programmés pour s’exécuter.

NEXT                        LEFT           LAST                        PASSED      UNIT                      ACTIVATES     
---------------------------------------------------------------------------------------------------------------------------               
Sun 2023-11-26 17:12:40 UTC 1h 34min left Sun 2023-11-26 15:25:36 UTC 12min ago    dnf-makecache.timer       dnf-makecache.service
Sun 2023-11-26 17:48:00 UTC 2h 10min left -                           -            snap.certbot.renew.timer  snap.certbot.renew.service
Mon 2023-11-27 00:00:00 UTC 8h left       Sun 2023-11-26 00:00:00 UTC 15h ago      logrotate.timer           logrotate.service

Faites un essai à blanc du processus pour vérifier si le renouvellement SSL fonctionne correctement.

$ sudo certbot renew --dry-run

Si vous ne voyez aucune erreur, vous êtes prêt. Votre certificat sera renouvelé automatiquement.

Étape 8 - Configurer SELinux

Changez le contexte de sécurité des fichiers pour PrestaShop.

$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/prestashop(/.*)?"

Appliquez la politique.

$ sudo restorecon -Rv /var/www/html/prestashop/

Appliquez la politique pour permettre à Nginx d’accéder à MariaDB.

$ sudo setsebool -P httpd_can_network_connect_db 1

Appliquez la politique pour permettre les connexions vers des hôtes externes. Cela est nécessaire pour l’envoi d’e-mails.

$ sudo setsebool -P httpd_can_network_connect 1

Avec MariaDB 10.11, vous rencontrerez un autre problème qui est que SELinux empêche PHP-FPM de se connecter à MariaDB. Cela peut être résolu en installant un module SELinux. La première étape consiste à créer un fichier de type enforcement.

Créez le fichier my-phpfpm.te dans votre répertoire personnel et ouvrez-le pour l’édition.

$ cd ~
$ nano my-phpfpm.te

Collez le code suivant dedans.

module my-phpfpm 1.0;

require {
        type unconfined_service_t;
        type httpd_t;
        type httpd_sys_content_t;
        class dir write;
        class unix_stream_socket connectto;
}

#============= httpd_t ============== 

#!!!! This avc is allowed in the current policy
allow httpd_t httpd_sys_content_t:dir write;

#!!!! This avc is allowed in the current policy
allow httpd_t unconfined_service_t:unix_stream_socket connectto;

Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.

L’étape suivante consiste à le convertir en module de politique en utilisant la commande suivante. Ne modifiez pas le nom de fichier dans la commande sinon cela ne fonctionnera pas. Le module est nommé my-phpfpm et le nom du fichier doit être le même que le nom du module.

$ sudo checkmodule -M -m -o my-phpfpm.mod my-phpfpm.te

Ensuite, nous devons compiler le module de politique pour créer un paquet de politique.

$ sudo semodule_package -o my-phpfpm.pp -m my-phpfpm.mod

La dernière étape consiste à charger le paquet de politique en utilisant la commande semodule qui installe la politique à utiliser.

$ sudo semodule -i my-phpfpm.pp

Étape 9 - Configurer PHP-FPM

Ouvrez php.ini pour l’édition.

$ sudo nano /etc/php.ini

Pour définir les tailles de téléchargement de fichiers, changez les valeurs des variables upload_max_filesize et post_max_size. Cette valeur détermine la taille du fichier que vous pouvez télécharger sur PrestaShop. Par défaut, elle est fixée à 10 Mo, ce qui est ce que nous allons configurer avec PHP.

$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 16M/' /etc/php.ini
$ sudo sed -i 's/post_max_size = 8M/post_max_size = 16M/' /etc/php.ini

Configurez la limite de mémoire de PHP en fonction de vos ressources serveur et de vos besoins.

$ sudo sed -i 's/memory_limit = 128M/memory_limit = 256M/' /etc/php.ini

Ouvrez le fichier /etc/php-fpm.d/www.conf.

$ sudo nano /etc/php-fpm.d/www.conf

Nous devons définir l’utilisateur/groupe Unix des processus PHP sur nginx. Trouvez les lignes user=apache et group=apache dans le fichier et changez-les en nginx.

...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...

Trouvez les lignes listen.owner = nobody, listen.group = nobody, listen.mode = 0660 dans le fichier et changez-les comme suit après les avoir décommentées.

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. The owner
; and group can be specified either by name or by their numeric IDs.
; Default Values: user and group are set as the running user
;                 mode is set to 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.

Redémarrez le processus PHP-fpm. Assurez-vous d’avoir Nginx installé avant de redémarrer le service PHP, sinon il échouera car il ne pourra pas trouver le groupe nginx.

$ sudo systemctl restart php-fpm

Changez le groupe du répertoire des sessions PHP en Nginx.

$ sudo chgrp -R nginx /var/lib/php/session

Étape 10 - Configurer Nginx

Ouvrez le fichier /etc/nginx/nginx.conf pour l’édition.

$ sudo nano /etc/nginx/nginx.conf

Ajoutez la ligne suivante avant la ligne include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size 64;

Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.

Créez et ouvrez le fichier /etc/nginx/conf.d/prestashop.conf pour l’édition.

$ sudo nano /etc/nginx/conf.d/prestashop.conf

Collez le code suivant dedans. Remplacez prestashop.example.com par votre nom de domaine. Assurez-vous que la valeur de client_max_body_size est fixée à 10 Mo, ce qui est la taille de téléchargement par défaut des fichiers dans PrestaShop. C’est la même valeur que nous avons configurée avec PHP précédemment.

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    # [EDIT] Your domain name(s) go here.
    server_name prestashop.example.com;

    # [EDIT] Path to your domain Nginx logs.
    access_log /var/log/nginx/prestashop.access.log;
    error_log /var/log/nginx/prestashop.error.log;

    # [EDIT] Path to your SSL certificates (take a look at Certbot https://certbot.eff.org).
    ssl_certificate      /etc/letsencrypt/live/prestashop.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/prestashop.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/prestashop.example.com/chain.pem;

    ssl_session_timeout  5m;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    # [EDIT] Path to your PrestaShop directory.
    root /var/www/html/prestashop;

    index index.php;

    # This should match the `post_max_size` and/or `upload_max_filesize` settings
    # in your php.ini.
    client_max_body_size 16M;

    # Redirect 404 errors to PrestaShop.
    error_page 404 /index.php?controller=404;

    # HSTS (Force clients to interact with your website using HTTPS only).
    # For enhanced security, register your site here: https://hstspreload.org/.
    # WARNING: Don't use this if your site is not fully on HTTPS!
    # add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" preload; always;

    # [EDIT] If you are using multiple languages.
    # rewrite ^/fr$ /fr/ redirect;
    # rewrite ^/fr/(.*) /$1;

    # Images.
    rewrite ^/(
    # ... (truncated for brevity)

Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.

Vérifiez votre configuration Nginx.

$ sudo nginx -t

Redémarrez le serveur Nginx.

$ sudo systemctl restart nginx

Étape 11 - Installer PrestaShop

Visitez l’URL https://prestashop.example.com dans votre navigateur et vous verrez l’écran d’installation suivant.

Page d'installation de PrestaShop

Cliquez sur Suivant pour passer à la page suivante.

Page d'accord de licence de PrestaShop

Vous verrez la licence de PrestaShop. Cochez le bouton J’accepte les termes et conditions ci-dessus pour accepter la licence et cliquez sur Suivant pour continuer.

Page d'informations sur la boutique PrestaShop

Ensuite, on vous demandera de partager des informations sur la boutique. Donnez un nom à votre boutique, le pays, le fuseau horaire et le type de magasin, et activez l’option SSL. Entrez également votre nom de compte, votre adresse e-mail et votre mot de passe pour vous connecter à la boutique. Cliquez sur Suivant une fois que vous avez terminé.

Page de contenu de la boutique PrestaShop

Ensuite, on vous demandera si vous souhaitez ajouter des produits de démonstration à la boutique. Sélectionnez non si vous ne les souhaitez pas. Sélectionnez également l’option Installer tous les modules ou vous pouvez choisir quels modules vous souhaitez installer. Cliquez sur Suivant lorsque vous avez terminé.

Configuration de la base de données PrestaShop

Ensuite, entrez les identifiants de la base de données que nous avons créés à l’étape 5. Laissez les autres options intactes. Cliquez sur l’option Tester de la base de données pour vérifier la connexion.

Test de connexion à la base de données PrestaShop

Cliquez sur Suivant après une connexion réussie à la base de données pour passer à la page suivante.

Progression de l'installation de PrestaShop

Ici, vous verrez la progression de l’installation de PrestaShop. Une fois terminé, il ouvrira automatiquement la page suivante.

Page d'installation terminée de PrestaShop

Cliquez sur le bouton Gérer votre boutique pour ouvrir le tableau de bord d’administration et configurer votre boutique.

Avertissement sur le répertoire d'installation de PrestaShop

Ici, vous recevrez un avertissement concernant la suppression du répertoire install avant d’essayer de gérer la boutique pour améliorer la sécurité. Connectez-vous à nouveau à votre site via SSH et exécutez la commande suivante.

$ sudo rm -rf /var/www/html/petrashop/install

Retournez à la page finale de l’installateur et ouvrez à nouveau l’URL. Si vous remarquez, l’URL de la page d’administration est randomisée. Cela est fait pour améliorer la sécurité. Chaque installation de PrestaShop obtient une URL d’administration différente. Pour notre tutoriel, le lien généré est https://prestashop.example.com/admin705saygwpwquwnhixx1. Vous obtiendrez la page de connexion suivante.

Page de connexion de PrestaShop

Entrez vos identifiants de compte et cliquez sur le bouton SE CONNECTER pour accéder au tableau de bord.

Tableau de bord Admin de PrestaShop

La page de la boutique PrestaShop pour une installation par défaut devrait ressembler à ceci.

Page d'accueil de PrestaShop

Vous pouvez commencer à utiliser PrestaShop à partir de maintenant.

Étape 12 - Mettre à jour PrestaShop

Il existe plusieurs façons de mettre à jour PrestaShop. La plus simple est d’utiliser le module d’assistance à la mise à niveau intégré. Votre installation de PrestaShop est livrée avec le module.

La première étape consiste à mettre votre boutique en mode maintenance. Cliquez sur l’option Configurer >> Paramètres de la boutique >> Général dans le menu de gauche de la page d’administration. Passez à l’onglet de maintenance sur la page.

Désactivez la boutique et ajoutez votre adresse IP en tant qu’IP de maintenance en cliquant sur le bouton Ajouter mon IP. Cela garantira que vous pouvez accéder à la boutique même lorsqu’elle est en maintenance. Cliquez sur le bouton Enregistrer lorsque vous avez terminé.

Page de maintenance de PrestaShop

Ensuite, ouvrez la page Gestionnaire de modules sur votre panneau d’administration en sélectionnant l’option Améliorer >> Modules >> Gestionnaire de modules sur le côté gauche.

Une fois là-bas, installez le module Mise à niveau en 1 clic en cliquant sur le bouton Installer. Une fois installé, cliquez sur le bouton Configurer pour ouvrir une nouvelle page où vous configurez les paramètres avant d’effectuer la mise à niveau.

La première partie de la page répertorie quelques vérifications pré-mise à niveau. Toutes les vérifications doivent être satisfaites avant que la mise à niveau puisse être effectuée.

Liste de vérification pré-mise à niveau de PrestaShop

La première configuration vous permet de sélectionner quel type de mise à niveau vous souhaitez effectuer. Comme nous utilisons l’édition de base 8.1.1, l’édition open-source 8.1.2 est disponible pour la mise à niveau. Il est recommandé de s’en tenir aux branches mineures/majeures.

Type de mise à niveau de PrestaShop

Faites défiler la page jusqu’aux Options de sauvegarde où vous pouvez sélectionner PrestaShop pour sauvegarder les fichiers, la base de données et les images. Ces fonctionnalités sont expérimentales, mais vous devriez quand même les inclure.

Options de sauvegarde de PrestaShop

Ensuite, choisissez les options de mise à niveau concernant ce que vous souhaitez conserver et ce que vous souhaitez mettre à niveau.

Options de mise à niveau de PrestaShop

Cliquez sur le bouton Enregistrer dans chaque section pour enregistrer les options. Une fois que vous êtes satisfait, cliquez sur le bouton Mettre à jour PrestaShop maintenant ! sur la même page pour mettre à niveau votre boutique. Si la mise à niveau échoue pour une raison quelconque, vous aurez la possibilité de revenir en arrière.

Conclusion

Cela conclut notre tutoriel où vous avez appris à installer PrestaShop sur un serveur Rocky Linux 9. Si vous avez des questions, postez-les dans les commentaires ci-dessous.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.