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-RELEASE

Configurez le fuseau horaire :

tzsetup

Mettez à 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 -y

Installez 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-opcache

Pour 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 Technologies

Démarrez et activez le service PHP-FPM :

sudo sysrc php_fpm_enable=yes  
sudo service php-fpm start

Nous 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.gz

Extrayez le chargeur :

tar xfz ioncube_loaders_fre_*.tar.gz

Trouvez 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/20170718

Copiez le IonCube Loader dans le répertoire des extensions PHP :

sudo cp /tmp/ioncube/ioncube_loader_fre_7.2.so /usr/local/lib/php/20170718

Incluez le chargeur via la configuration PHP :

sudo vim /usr/local/etc/php.ini

Ajoutez 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.so

Enregistrez 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-server

Vérifiez la version de MariaDB :

mysql --version  
# mysql  Ver 15.1 Distrib 10.2.23-MariaDB, for Linux (x86_64) using readline 5.1

Démarrez et activez le service MariaDB :

sudo sysrc mysql_enable="yes"  
sudo service mysql-server start

Exé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_installation

Ré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> exit

Remplacez 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.sh

Vérifiez la version d’acme.sh :

acme.sh --version  
# v2.8.2

Obtenez 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-256

Si 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 --list

Cré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 nginx

Vérifiez la version de NGINX :

nginx -v  
# nginx version: nginx/1.14.2

Démarrez et activez le service NGINX :

sudo sysrc nginx_enable=yes  
sudo service nginx start

Configurez Nginx pour Shopware en exécutant :

sudo vim /usr/local/etc/nginx/shopware.conf

Et 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 -t

Rechargez 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/shopware

Naviguez vers le répertoire racine des documents :

cd /usr/local/www/shopware

Té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.zip

REMARQUE : 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/shopware

Augmentez 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.ini

Après avoir apporté des modifications dans le fichier /etc/php/7.2/fpm/php.ini, rechargez php-fpm.service:

sudo service php-fpm reload

Ouvrez 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 : Assistant d'installation Shopware

Ensuite, assurez-vous que vous répondez à toutes les exigences de Shopware : Exigences système de Shopware

Acceptez les CGU de Shopware et cliquez sur Suivant : Conditions d'utilisation de ShopWare

Entrez les identifiants de la base de données et cliquez sur Suivant : Configurer la base de données

Démarrez l’installation pour créer les tables de la base de données : Créer des tables de base de données

Après cela, vous verrez un message concernant l’importation réussie de la base de données : Installation réussie

Choisissez une licence et cliquez sur Suivant : Licences

Remplissez quelques paramètres de base pour terminer la configuration et cliquez sur Suivant : Configuration de base du magasin

L’installation est terminée. Installation terminée

** Pour accéder à la zone d’administration, ajoutez /backend à votre URL.

Connexion Shopware

Vous avez installé Shopware avec succès. Profitez de votre nouvelle boutique en ligne !

Liens

Share: X/Twitter LinkedIn

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

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