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 -yUne 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-fpmUne 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.confChangez 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/sessionEnsuite, éditez le fichier php.ini et ajustez quelques paramètres recommandés :
nano /etc/php.iniChangez les lignes suivantes :
memory_limit = 512M
upload_max_filesize = 20M
date.timezone = Asia/KolkataEnregistrez et fermez le fichier, puis redémarrez le service PHP-FPM pour appliquer les modifications :
systemctl restart php-fpmCré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 :
mysqlUne 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/shopwareEnsuite, 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.zipUne fois le téléchargement terminé, extrayez le fichier téléchargé dans le répertoire shopware :
unzip shopware.zip -d /var/www/html/shopwareEnsuite, 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/shopwareUne 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.confAjoutez 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 -tVous 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 successfulEnsuite, redémarrez le service Nginx pour appliquer les modifications :
systemctl restart nginxVous pouvez également vérifier l’état de Nginx en utilisant la commande ci-dessous :
systemctl status nginxVous 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/shopwareEnsuite, 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 --reloadUne 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 :

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

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 :

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 :


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

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

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

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

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

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

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

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

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-autoEnsuite, obtenez et installez un certificat SSL pour votre domaine avec la commande suivante :
certbot-auto --nginx -d shopware.example.comLa 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.confEnsuite, 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): 2Tapez 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-leVous 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.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.