Installation Shopware · 8 min read · Dec 14, 2025
Comment installer Shopware avec NGINX et Let's Encrypt sur FreeBSD 12

Shopware est la prochaine génération de logiciels de commerce électronique open source. Basé sur des technologies de pointe comme Symfony 3, Doctrine 2 et Zend Framework, Shopware est la plateforme parfaite pour votre prochain projet de commerce électronique. Ce tutoriel vous guidera à travers l’installation de la version Community Edition (CE) de Shopware sur un système FreeBSD 12 en utilisant NGINX comme serveur web.
Exigences
Assurez-vous que votre système répond aux exigences minimales suivantes :
- Système d’exploitation basé sur Linux avec NGINX ou Apache 2.x (avec mod_rewrite) installé.
- PHP 5.6.4 ou supérieur avec les extensions ctype, gd, curl, dom, hash, iconv, zip, json, mbstring, openssl, session, simplexml, xml, zlib, fileinfo et pdo/mysql. PHP 7.1 ou supérieur est fortement recommandé.
- MySQL 5.5.0 ou supérieur.
- Possibilité de configurer des tâches cron.
- Minimum de 4 Go d’espace disque dur disponible.
- IonCube Loader version 5.0.0 ou supérieure ( optionnel).
*REMARQUE : Shopware 5 est actuellement compatible avec PHP 7.2.x.*
Prérequis
- Un système d’exploitation exécutant FreeBSD 12.
- Un utilisateur non-root avec des privilèges sudo.
J’utiliserai le nom de domaine example.com dans ce tutoriel. Veuillez remplacer le mot example.com par votre propre nom de domaine chaque fois qu’il apparaît dans les commandes et fichiers de configuration ci-dessous (en particulier dans le fichier de configuration Nginx et les commandes Let’s encrypt).
Étapes initiales
Vérifiez votre version de FreeBSD :
uname -ro
# FreeBSD 12.0-RELEASEConfigurez le fuseau horaire :
tzsetupMettez à jour les paquets de votre système d’exploitation (logiciel). C’est une première étape importante car elle garantit que vous disposez des dernières mises à jour et correctifs de sécurité pour les paquets logiciels par défaut de votre système d’exploitation :
freebsd-update fetch install
pkg update && pkg upgrade -yInstallez quelques paquets essentiels nécessaires à l’administration de base du système d’exploitation FreeBSD 12.0 :
pkg install -y sudo vim unzip wget bash socatÉtape 1 - Installer PHP et les extensions PHP
Installez PHP, ainsi que les extensions PHP nécessaires pour Shopware :
sudo pkg install -y php72 php72-ctype php72-curl php72-dom php72-hash php72-iconv php72-gd php72-json php72-mbstring php72-openssl php72-session php72-simplexml php72-xml php72-zip php72-zlib php72-pdo php72-pdo_mysql php72-filter php72-ftp php72-tokenizer php72-calendar php72-pecl-APCu php72-opcachePour afficher les modules compilés dans PHP, vous pouvez exécuter :
php -m
ctype
curl
exif
fileinfo
. . .
. . .Vérifiez la version de PHP :
php --version
# PHP 7.2.16 (cli) (built: Apr 30 2019 08:37:17) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.5, Copyright (c) 1999-2018, by Zend TechnologiesDémarrez et activez le service PHP-FPM :
sudo sysrc php_fpm_enable=yes
sudo service php-fpm startNous pouvons passer à l’étape suivante, qui est l’installation de IonCube Loader.
Étape 2 - Installer IonCube Loader (optionnel)
Cette étape est optionnelle car Shopware fonctionne sans IonCube maintenant, mais il peut encore y avoir des extensions ou des thèmes qui utilisent IonCube, donc cela ne fait pas de mal de l’installer. Téléchargez IonCube Loader :
cd /tmp && wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_fre_11_x86-64.tar.gzExtrayez le chargeur :
tar xfz ioncube_loaders_fre_*.tar.gzTrouvez le répertoire des extensions PHP sur le système en exécutant la commande ci-dessous :
php -i | grep extension_dir
# extension_dir => /usr/local/lib/php/20170718 => /usr/local/lib/php/20170718Copiez le IonCube Loader dans le répertoire des extensions PHP :
sudo cp /tmp/ioncube/ioncube_loader_fre_7.2.so /usr/local/lib/php/20170718Incluez le chargeur via la configuration PHP :
sudo vim /usr/local/etc/php.iniAjoutez ensuite une ligne dans le fichier pour inclure le chargeur ionCube. Cela peut être n’importe où dans le fichier sous la ligne [PHP] :
zend_extension = /usr/local/lib/php/20170718/ioncube_loader_fre_7.2.soEnregistrez le fichier et redémarrez PHP-FPM :
sudo service php-fpm restartÉtape 3 - Installer MariaDB et créer une base de données pour Shopware
Installez le serveur de base de données MariaDB :
sudo pkg install -y mariadb102-client mariadb102-serverVérifiez la version de MariaDB :
mysql --version
# mysql Ver 15.1 Distrib 10.2.23-MariaDB, for Linux (x86_64) using readline 5.1Démarrez et activez le service MariaDB :
sudo sysrc mysql_enable="yes"
sudo service mysql-server startExécutez le script mysql_secure_installation pour améliorer la sécurité de MariaDB et définir le mot de passe pour l’utilisateur root de MariaDB :
sudo mysql_secure_installationRépondez à chacune des questions :
`Souhaitez-vous configurer le plugin VALIDATE PASSWORD ? N
Nouveau mot de passe : votre_mot_de_passe_sécurisé
Ressaisissez le nouveau mot de passe : votre_mot_de_passe_sécurisé
Supprimer les utilisateurs anonymes ? [Y/n] Y
Interdire la connexion root à distance ? [Y/n] Y
Supprimer la base de données de test et l'accès à celle-ci ? [Y/n] Y
Recharger les tables de privilèges maintenant ? [Y/n] Y`Connectez-vous à l’interface de commande de MariaDB en tant qu’utilisateur root :
sudo mysql -u root -p
# Entrez le mot de passe
Créez une base de données MariaDB vide et un utilisateur pour Shopware et notez les identifiants :
mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;Quittez MariaDB :
mysql> exitRemplacez dbname, username et password par vos propres noms.
Étape 4 - Installer le client Acme.sh et obtenir un certificat Let’s Encrypt (optionnel)
Sécuriser votre site web avec HTTPS n’est pas nécessaire, mais c’est une bonne pratique de sécuriser le trafic de votre site. Afin d’obtenir un certificat TLS de Let’s Encrypt, nous utiliserons le client acme.sh. Acme.sh est un logiciel shell Unix pur pour obtenir des certificats TLS de Let’s Encrypt sans dépendances.
Téléchargez et installez acme.sh :
sudo pkg install -y acme.shVérifiez la version d’acme.sh :
acme.sh --version
# v2.8.2Obtenez des certificats RSA et ECC/ECDSA pour votre domaine/nom d’hôte :
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256Si vous souhaitez des certificats fictifs pour les tests, vous pouvez ajouter le drapeau --staging aux commandes ci-dessus.
Après avoir exécuté les commandes ci-dessus, vos certificats et clés seront dans :
- Pour RSA : le répertoire
/home/username/example.com. - Pour ECC/ECDSA : le répertoire
/home/username/example.com_ecc.
Pour lister vos certificats émis, vous pouvez exécuter :
acme.sh --listCréez un répertoire pour stocker vos certificats. Nous utiliserons un répertoire /etc/letsencrypt.
`mkdir -p /etc/letsecnrypt/example.com`
`sudo mkdir -p /etc/letsencrypt/example.com_ecc`Installez/copiez les certificats dans le répertoire /etc/letsencrypt.
# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo service nginx reload"Tous les certificats seront automatiquement renouvelés tous les 60 jours.
Après avoir obtenu les certificats, quittez l’utilisateur root et revenez à l’utilisateur sudo normal :
exitÉtape 5 - Installer et configurer NGINX
Installez le serveur web NGINX :
sudo pkg install -y nginxVérifiez la version de NGINX :
nginx -v
# nginx version: nginx/1.14.2Démarrez et activez le service NGINX :
sudo sysrc nginx_enable=yes
sudo service nginx startConfigurez Nginx pour Shopware en exécutant :
sudo vim /usr/local/etc/nginx/shopware.confEt remplissez le fichier avec la configuration suivante :
server {
listen 80;
listen [::]:80;
server_name example.com;
root /usr/local/www/shopware;
index shopware.php index.php;
location / {
try_files $uri $uri/ /shopware.php$is_args$args;
}
location /recovery/install {
index index.php;
try_files $uri /recovery/install/index.php$is_args$args;
}
location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
}
}Exécutez sudo vim /usr/local/etc/nginx/nginx.conf et ajoutez la ligne ci-dessous au bloc http {} pour inclure la configuration de Shopware.
include shopware.conf;Vérifiez la configuration Nginx pour les erreurs de syntaxe :
sudo nginx -tRechargez le service Nginx :
sudo service nginx reloadÉtape 6 - Installer Shopware
Créez un répertoire racine de documents pour Shopware :
sudo mkdir -p /usr/local/www/shopwareNaviguez vers le répertoire racine des documents :
cd /usr/local/www/shopwareTéléchargez et décompressez Shopware :
sudo wget https://releases.shopware.com/install_5.5.8_d5bf50630eeaacc6679683e0ab0dcba89498be6d.zip?_ga=2.141661361.269357371.1556739808-1418008019.1556603459 -O shopware.zip
sudo unzip shopware.zip
sudo rm shopware.zipREMARQUE : Mettez à jour l’URL de téléchargement s’il existe une version plus récente.
Fournissez la propriété appropriée :
sudo chown -R www:www /usr/local/www/shopwareAugmentez memory_limit = 256M et upload_max_filesize = 6M, et définissez allow_url_fopen = On s’il n’est pas déjà défini dans le fichier /usr/local/etc/php.ini :
sudo vim /usr/local/etc/php.iniAprès avoir apporté des modifications dans le fichier /etc/php/7.2/fpm/php.ini, rechargez php-fpm.service:
sudo service php-fpm reloadOuvrez votre domaine/IP dans le navigateur web et suivez l’assistant d’installation. L’arrière-plan de Shopware se trouve à /backend, exemple : http://example.com/backend.
Étape 7 - Compléter la configuration de Shopware
Commencez par sélectionner la langue et cliquez sur Suivant : 
Ensuite, assurez-vous que vous répondez à toutes les exigences de Shopware : 
Acceptez les CGU de Shopware et cliquez sur Suivant : 
Entrez les identifiants de la base de données et cliquez sur Suivant : 
Démarrez l’installation pour créer les tables de la base de données : 
Après cela, vous verrez un message concernant l’importation réussie de la base de données : 
Choisissez une licence et cliquez sur Suivant : 
Remplissez quelques paramètres de base pour terminer la configuration et cliquez sur Suivant : 
L’installation est terminée. 
** Pour accéder à la zone d’administration, ajoutez /backend à votre URL.

Vous avez installé Shopware avec succès. Profitez de votre nouvelle boutique en ligne !
Liens
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.