Installation Shopware · 11 min read · Nov 11, 2025

Comment installer Shopware 6 avec NGINX et Let's Encrypt sur CentOS 8

Shopware est une plateforme gratuite et open-source qui vous aide à démarrer votre propre site e-commerce pour alimenter votre entreprise en ligne. Elle fournit de nombreux outils utiles qui vous aident à créer et personnaliser une boutique en ligne entièrement responsive. Elle est très similaire à Magento. Comparé à Magento, Shopware est une application très puissante, facile à utiliser et flexible. Elle vous aide à créer et gérer du contenu et des produits facilement depuis n’importe quel appareil grâce à son interface utilisateur moderne.

Dans ce tutoriel, nous allons vous montrer comment installer Shopware avec Nginx et Let’s Encrypt SSL sur CentOS 8.

Prérequis

  • Un serveur exécutant CentOS 8.
  • Un nom de domaine valide pointé vers l’IP de votre serveur.
  • Un mot de passe root configuré sur votre serveur.

Installer le serveur LEMP

Shopware fonctionne sur un serveur Web et est construit sur PHP avec des composants Symfony et Zend, et utilise MySQL ou MariaDB comme backend de base de données. Vous devrez donc installer Nginx, MariaDB, PHP et d’autres extensions sur votre serveur. Vous pouvez tous les installer avec la commande suivante :

dnf install nginx mariadb-server php php-cli php-intl php-fpm php-common php-mysqli php-curl php-json php-zip php-gd php-xml php-mbstring php-opcache unzip -y

Une fois tous les paquets installés, démarrez les services Nginx, MariaDB et PHP-FPM et activez-les pour qu’ils démarrent au redémarrage du système avec la commande suivante :

systemctl start mariadb  
systemctl enable mariadb  
systemctl start nginx  
systemctl start php-fpm  
systemctl enable nginx  
systemctl enable php-fpm

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Configurer PHP-FPM

Par défaut, PHP-FPM est configuré pour s’exécuter en tant qu’utilisateur et groupe apache. Vous devrez donc le configurer pour qu’il s’exécute en tant qu’utilisateur et groupe Nginx. Vous pouvez le faire en éditant le fichier /etc/php-fpm.d/www.conf :

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

Changez les lignes suivantes :

user = nginx 
group = nginx 

Enregistrez et fermez le fichier, puis créez un répertoire de session et définissez les droits de propriété appropriés avec la commande suivante :

mkdir -p /var/lib/php/session   
chown -R nginx:nginx /var/lib/php/session

Ensuite, éditez le fichier php.ini et ajustez quelques paramètres recommandés :

nano /etc/php.ini

Changez les lignes suivantes :

memory_limit = 512M
upload_max_filesize = 20M
date.timezone = Asia/Kolkata

Enregistrez et fermez le fichier, puis redémarrez le service PHP-FPM pour appliquer les modifications :

systemctl restart php-fpm

Créer une base de données pour Shopware

Ensuite, vous devrez créer une base de données et un utilisateur pour Shopware. Tout d’abord, connectez-vous à MariaDB en utilisant la commande suivante :

mysql

Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :

MariaDB [(none)]> CREATE DATABASE shopware;  
MariaDB [(none)]> GRANT ALL ON shopware.* TO 'shopware' IDENTIFIED BY 'password';

Ensuite, videz les privilèges et quittez MariaDB avec la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES;  
MariaDB [(none)]> EXIT;

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Télécharger Shopware

Ensuite, vous devrez télécharger la dernière version de Shopware depuis son site officiel. Tout d’abord, créez un répertoire pour Shopware dans le répertoire racine de Nginx :

mkdir /var/www/html/shopware

Ensuite, téléchargez Shopware avec la commande suivante :

wget https://www.shopware.com/en/Download/redirect/version/sw6/file/install_v6.3.5.0_ba08dbfc07784b5cefe7837f2abbda69dbf5b8b7.zip -O shopware.zip

Une fois le téléchargement terminé, extrayez le fichier téléchargé dans le répertoire shopware :

unzip shopware.zip -d /var/www/html/shopware

Ensuite, définissez les permissions et la propriété appropriées avec la commande suivante :

chown -R nginx:nginx /var/www/html/shopware  
chmod -R 775 /var/www/html/shopware

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Configurer Nginx pour Shopware

Ensuite, créez un fichier de configuration de l’hôte virtuel Nginx pour Shopware avec la commande suivante :

nano /etc/nginx/conf.d/shopware.conf

Ajoutez les lignes suivantes :

server {
    listen 80;

    # Gérer / vers index.php
    index index.php;

    # Notre nom de serveur
    server_name shopware.example.com;

    # Où se trouve le code
    root /var/www/html/shopware/public;

    # Nécessaire pour l'installation / mise à jour de Shopware
    location /recovery/install {
        index index.php;
        try_files $uri /recovery/install/index.php$is_args$args;
    }

    location /recovery/update/ {
        if (!-e $request_filename){
            rewrite . /recovery/update/index.php last;
        }
    }

    # Rediriger tout fichier non trouvé vers index.php. Permet également d'avoir de belles URL comme /homemade-products/
    location / {
        try_files $uri /index.php$is_args$args;
    }

    # Laisser php-fpm gérer les fichiers .php
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi.conf;
        fastcgi_param HTTP_PROXY "";
        fastcgi_buffers 8 16k;
        fastcgi_buffer_size 32k;
        fastcgi_read_timeout 300s;
        client_body_buffer_size 128k;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        http2_push_preload on;
    }
}

Enregistrez et fermez le fichier, puis vérifiez la configuration de Nginx pour toute erreur de syntaxe avec la commande suivante :

ginx -t

Vous devriez obtenir la sortie suivante :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Ensuite, redémarrez le service Nginx pour appliquer les modifications :

systemctl restart nginx

Vous pouvez également vérifier l’état de Nginx en utilisant la commande ci-dessous :

systemctl status nginx

Vous devriez obtenir la sortie suivante :

? nginx.service - Le serveur HTTP et proxy inverse nginx
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/nginx.service.d
           ??php-fpm.conf
   Active: active (running) since Tue 2021-02-02 00:40:04 EST; 19s ago
  Process: 76059 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 76057 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 76054 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 76060 (nginx)
    Tasks: 3 (limit: 12523)
   Memory: 5.5M
   CGroup: /system.slice/nginx.service
           ??76060 nginx: master process /usr/sbin/nginx
           ??76061 nginx: worker process
           ??76062 nginx: worker process

Feb 02 00:40:04 centos8 systemd[1]: Stopped Le serveur HTTP et proxy inverse nginx.
Feb 02 00:40:04 centos8 systemd[1]: Démarrage du serveur HTTP et proxy inverse nginx...
Feb 02 00:40:04 centos8 nginx[76057]: nginx: le fichier de configuration /etc/nginx/nginx.conf syntaxe est ok
Feb 02 00:40:04 centos8 nginx[76057]: nginx: le fichier de configuration /etc/nginx/nginx.conf test est réussi
Feb 02 00:40:04 centos8 systemd[1]: Démarré Le serveur HTTP et proxy inverse nginx.

Configurer SELinux et le pare-feu

Par défaut, SELinux est activé dans CentOS 8. Vous devrez donc configurer le contexte SELinux pour Shopware. Vous pouvez le configurer avec la commande suivante :

setsebool httpd_can_network_connect on -P  
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/shopware

Ensuite, autorisez le port 80 et 443 à travers le pare-feu avec la commande suivante :

firewall-cmd --permanent --add-service=http  
firewall-cmd --permanent --add-service=https  
firewall-cmd --reload

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Accéder à l’interface Web de Shopware

Maintenant, ouvrez votre navigateur Web et tapez l’URL http://shopware.example.com.

Sélectionnez votre langue et cliquez sur le bouton Suivant. Assurez-vous que toutes les exigences ont été satisfaites, puis cliquez sur le bouton Suivant. Vous devriez voir la page suivante :

Conditions d'utilisation de Shopware

Acceptez les CGU et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :

Configurer la base de données Shopware

Fournissez votre base de données, nom d’utilisateur, mot de passe et cliquez sur le bouton Démarrer l’installation. Une fois l’installation terminée, vous devriez voir la page suivante :

Shopware 6 a été installé avec succès

Cliquez sur la page suivante. On vous demandera de fournir le nom de votre boutique, votre adresse e-mail, votre devise, votre pays, votre nom d’utilisateur admin, votre mot de passe et cliquez sur le bouton Suivant. Vous serez redirigé vers le tableau de bord de Shopware :

Configurer le nom de la boutique

Configuration de la devise et de l'e-mail

Fournissez toutes les informations et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :

Tableau de bord de Shopware

Installez les plugins de langue souhaités et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :

Importation de données

Installez des données de démonstration ou passez cette étape et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :

Configuration de l'e-mail

Cliquez sur Configurer plus tard. Vous devriez voir la page suivante :

Configuration de Paypal

Cliquez sur le bouton Passer. Vous devriez voir la page suivante :

Installer des plugins

Cliquez sur le bouton Suivant. Vous devriez voir la page suivante :

Sécuriser le compte Shopware

Cliquez sur le bouton Passer. Vous devriez voir la page suivante :

Installation réussie de Shopware

Cliquez sur le bouton Terminer. Vous devriez voir la page d’accueil de Shopware :

Bienvenue dans Shopware 6

Sécuriser Shopware avec Let’s Encrypt SSL

Ensuite, vous devrez installer l’utilitaire Certbot sur votre système pour télécharger et installer Let’s Encrypt SSL pour le domaine Let’s Chat.

Vous pouvez installer le client Certbot avec la commande suivante :

wget https://dl.eff.org/certbot-auto  
mv certbot-auto /usr/local/bin/certbot-auto  
chown root /usr/local/bin/certbot-auto  
chmod 0755 /usr/local/bin/certbot-auto

Ensuite, obtenez et installez un certificat SSL pour votre domaine avec la commande suivante :

certbot-auto --nginx -d shopware.example.com

La commande ci-dessus installera d’abord toutes les dépendances requises sur votre serveur. Une fois installé, on vous demandera de fournir une adresse e-mail et d’accepter les conditions de service comme indiqué ci-dessous :

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for shopware.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/shopware.conf

Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS comme indiqué ci-dessous :

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Tapez 2 et appuyez sur Entrée pour continuer. Une fois l’installation terminée, vous devriez voir la sortie suivante :

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/shopware.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://shopware.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=shopware.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/shopware.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/shopware.example.com/privkey.pem
   Your cert will expire on 2021-04-2. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Vous pouvez maintenant accéder à Shopware de manière sécurisée en utilisant l’URL https://shopware.example.com.

Conclusion

Félicitations ! Vous avez réussi à installer et configurer Shopware avec Nginx et Let’s Encrypt SSL sur CentOS 8. Vous pouvez maintenant facilement héberger votre propre boutique en ligne avec Shopware. N’hésitez pas à me poser des questions si vous en avez.

Share: X/Twitter LinkedIn

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

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