Installation Magento · 9 min read · Oct 14, 2025
Comment installer Magento 2 avec Nginx et Letsencrypt sur Ubuntu 18.04
Magento est un logiciel de commerce électronique open source largement utilisé et un système de gestion de contenu pour les sites Web de commerce électronique basé sur le framework PHP Zend. Il utilise MySQL ou MariaDB comme backend de base de données. Le développement de Magento a commencé en 2008 par Varien.
Dans ce tutoriel, je vais vous montrer comment installer Magento 2 avec Nginx, PHP 7.1 FPM et MySQL comme base de données. J’utiliserai Ubuntu 18.04 (Bionic Beaver) comme système d’exploitation serveur. Si vous n’avez pas encore de configuration serveur minimale, veuillez consulter ce tutoriel pour obtenir une configuration de base appropriée.
Prérequis
- Ubuntu 18.04
- 2 Go ou plus de mémoire RAM
- Privilèges root
Ce que nous allons faire
- Installer Nginx sur Ubuntu 18.04
- Installer et configurer PHP-FPM 7.1
- Installer et configurer le serveur MySQL
- Installer et configurer Magento 2 1. Installer PHP Composer
- Télécharger Magento 2
- Installer les composants Magento
- Générer SSL Letsencrypt
- Configurer l’hôte virtuel Nginx pour Magento
- Post-installation de Magento
- Tests
Étape 1 - Installer Nginx sur Ubuntu 18.04 LTS
Dans ce tutoriel, nous utiliserons le serveur web Nginx pour notre installation Magento.
Connectez-vous au serveur, mettez à jour le dépôt et mettez à niveau tous les paquets.
sudo apt update
sudo apt upgradeMaintenant, installez le serveur web Nginx en utilisant la commande apt ci-dessous.
sudo apt install nginx -yAprès l’installation, démarrez le service Nginx et activez-le pour qu’il se lance à chaque démarrage du système.
systemctl start nginx
systemctl enable nginxLe serveur web Nginx a été installé, vérifiez-le en utilisant la commande netstat et assurez-vous que le port HTTP 80 est en état ‘LISTEN’. Une autre façon est d’utiliser la commande curl comme ci-dessous.
netstat -plntu
curl -I localhost
Étape 2 - Installer et configurer PHP-FPM 7.1
Après l’installation du serveur web Nginx, nous allons installer PHP 7.1 sur le serveur car Magento ne prend pas encore en charge PHP 7.2. Nous allons installer PHP-FPM avec toutes les extensions nécessaires à Magento 2.
Liste des extensions PHP nécessaires pour l’installation de Magento 2 :
- bc-math
- ctype
- curl
- dom
- gd, ImageMagick 6.3.7 (ou plus récent) ou les deux
- intl
- mbstring
- mcrypt
- hash
- openssl
- PDO/MySQL
- SimpleXML
- soap
- spl
- libxml
- xsl
- zip
- json
- iconv
Pour ce guide, nous allons installer les paquets PHP-FPM depuis le dépôt PPA. Nous utiliserons le dépôt ‘ondrej/php’.
Installez le paquet ‘software-properties-common’ et ajoutez le dépôt ‘ondrej/php’ en utilisant les commandes ci-dessous.
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
Maintenant, installez PHP-FPM 7.1 avec toutes les extensions nécessaires.
sudo apt install php7.1-fpm php7.1-mcrypt php7.1-curl php7.1-cli php7.1-mysql php7.1-gd php7.1-xsl php7.1-json php7.1-intl php-pear php7.1-dev php7.1-common php7.1-mbstring php7.1-zip php7.1-soap php7.1-bcmath -yAprès l’installation, vérifiez la version de PHP et les extensions installées en utilisant les commandes PHP.
php -v
php -me
Ensuite, nous allons configurer le fichier php.ini pour PHP-FPM et PHP-CLI.
Éditez les fichiers php.ini en utilisant vim.
vim /etc/php/7.1/fpm/php.ini
vim /etc/php/7.1/cli/php.iniChangez la valeur de ces lignes comme ci-dessous.
memory_limit = 512M
max_execution_time = 180
zlib.output_compression = OnEnregistrez et quittez.
Maintenant, redémarrez le service PHP-fpm et activez-le pour qu’il se lance à chaque démarrage du système.
systemctl restart php7.1-fpm
systemctl enable php7.1-fpmL’installation et la configuration de PHP-FPM 7.1 sont terminées, vérifiez le service en utilisant la commande netstat.
netstat -pl | grep phpEt vous obtiendrez le fichier de socket PHP-fpm comme ci-dessous.

Étape 3 - Installer et configurer le serveur MySQL
Le logiciel Magento nécessite MySQL 5.6.x, et Magento 2.1.2 ou plus nécessite MySQL 5.7.x. Dans ce tutoriel, nous allons installer le dernier serveur MySQL 5.8 sur le système Ubuntu 18.04.
Installez MySQL 5.8 en utilisant la commande apt ci-dessous.
sudo apt install mysql-server mysql-client -yAprès l’installation, démarrez le service MySQL et activez-le pour qu’il se lance à chaque démarrage du système.
systemctl start mysql
systemctl enable mysqlMaintenant, nous allons configurer le mot de passe root de MySQL en utilisant la commande ‘mysql_secure_installation’.
mysql_secure_installationDans cette version de MySQL 5.8, il y a une amélioration de sécurité pour la politique de mot de passe MySQL. Vous devez choisir la politique de mot de passe - 0 pour la politique FAIBLE, 1 pour la politique MOYENNE, et 2 pour une politique de mot de passe FORT.
Pour ce guide, nous allons utiliser la politique de mot de passe ‘MOYENNE’, et il est recommandé d’utiliser la politique de mot de passe ‘FORT’ sur le serveur de production.
Choisissez le numéro ‘1’ et appuyez sur Entrée, puis tapez votre nouveau mot de passe ‘root’ MySQL.

Supprimer les utilisateurs anonymes ? (Appuyez sur y|Y pour Oui, toute autre touche pour Non) : Y
Interdire la connexion root à distance ? (Appuyez sur y|Y pour Oui, toute autre touche pour Non) : Y
Supprimer la base de données de test et y accéder ? (Appuyez sur y|Y pour Oui, toute autre touche pour Non) : Y
Recharger les tables de privilèges maintenant ? (Appuyez sur y|Y pour Oui, toute autre touche pour Non) : YLe mot de passe root de MySQL a été configuré.
Ensuite, nous allons créer une nouvelle base de données pour notre installation Magento. Nous allons créer une nouvelle base de données nommée ‘magentodb’ avec l’utilisateur ‘magentouser’ et le mot de passe ‘Magento0463@#’.
Connectez-vous à l’interface MySQL en utilisant l’utilisateur root.
mysql -u root -pMaintenant, exécutez les requêtes MySQL ci-dessous pour créer la base de données et l’utilisateur.
create database magentodb;
create user magentouser@localhost identified by 'Magento0463@#';
grant all privileges on magentodb.* to magentouser@localhost identified by 'Magento0463@#';
flush privileges;L’installation et la configuration du serveur MySQL pour l’installation de Magento sont terminées.

Étape 4 - Installer et configurer Magento 2
Dans cette étape, nous allons installer la dernière version de Magento 2.2.4 depuis le dépôt Github. Nous allons installer le PHP composer pour installer les composants Magento, télécharger Magento depuis le dépôt Github, configurer l’hôte virtuel Nginx pour Magento, et installer Magento en utilisant l’installation post-web.
- Installer PHP Composer
Installez PHP Composer sur Ubuntu 18.04 en utilisant la commande apt ci-dessous.
sudo apt install composer -yAprès l’installation, vérifiez la version de composer installée sur le système.
composer -VLa dernière version de PHP Composer a été installée.
- Télécharger Magento 2
Allez dans le répertoire ‘/var/www’ et téléchargez l’archive source de Magento depuis Github en utilisant la commande wget.
cd /var/www/
wget https://github.com/magento/magento2/archive/2.2.4.tar.gzMaintenant, extrayez le fichier d’archive Magento et renommez le répertoire en ‘magento2’.
tar -xf 2.2.4.tar.gz
mv magento2-2.2.4/ magento2/Le code source de Magento a été téléchargé, et le répertoire ‘/var/www/magento2’ sera la racine web pour le site Magento.
- Installer les composants Magento
Installez les composants Magento en utilisant le PHP composer. Allez dans le répertoire ‘magento2’ et installez tous les composants PHP nécessaires à Magento en utilisant la commande ‘composer’.
cd /var/www/magento2
composer install -vAprès l’installation, vous obtiendrez le résultat comme indiqué ci-dessous.
- Générer SSL Letsencrypt
Nous allons sécuriser notre installation Magento en utilisant SSL de Letsencrypt. Installez le Letsencrypt en utilisant la commande apt ci-dessous.
sudo apt install letsencrypt -yAprès l’installation, arrêtez le service nginx.
systemctl stop nginxMaintenant, générez les certificats SSL pour le nom de domaine en utilisant la commande certbot comme ci-dessous.
certbot certonly --standalone -d magento.hakase-labs.pwTapez votre adresse e-mail, acceptez les TOS de Letsencrypt, puis tapez ‘N’ pour le partage d’e-mail.

Lorsque c’est terminé, vous obtiendrez le résultat comme ci-dessous.

Les fichiers de certificat SSL Letsencrypt ont été générés dans le répertoire ‘/etc/letsencrypt/live’.
- Configurer l’hôte virtuel Nginx
Allez dans le répertoire ‘/etc/nginx/sites-available’ et créez un nouveau fichier d’hôte virtuel ‘magento’ en utilisant vim.
cd /etc/nginx/sites-available/
vim magentoCollez la configuration suivante là-bas.
upstream fastcgi_backend {
server unix:/run/php/php7.1-fpm.sock;
}
server {
listen 80;
listen [::]:80;
server_name magento.hakase-labs.pw;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name magento.hakase-labs.pw;
ssl on;
ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.pw/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.pw/privkey.pem;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer;
include /var/www/magento2/nginx.conf.sample;
}Enregistrez la configuration et quittez.
Maintenant, activez l’hôte virtuel en créant le lien symbolique pour le fichier d’hôte virtuel Magento dans le répertoire ‘sites-enabled’.
ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/Testez le fichier de configuration nginx et assurez-vous qu’il n’y a pas d’erreur.
nginx -tMaintenant, redémarrez le service PHP-FPM et Nginx.
systemctl restart php7.1-fpm
systemctl restart nginxEt changez le propriétaire du répertoire racine web de Magento en l’utilisateur et le groupe ‘www-data’.
chown -R www-data:www-data /var/www/magento2/L’hôte virtuel nginx pour Magento a été ajouté.
- Post-installation de Magento
Ouvrez le navigateur web et tapez l’URL de Magento. La mienne est :
https://magento.hakase-labs.pw/
Pour les ‘Conditions et Accord’, cliquez sur le bouton ‘Accepter et configurer Magento’.

Maintenant, vérifiez toute la configuration système et serveur pour le ‘Vérification des lignes de lecture’ de Magento, et assurez-vous qu’il ‘passe’ tous les contrôles système et de configuration comme ci-dessous.

Maintenant, cliquez sur le bouton ‘Suivant’.
Configuration de la base de données pour Magento - tapez toutes nos informations de base de données et cliquez sur ‘Suivant’.

Pour la configuration web, changez l’adresse ‘store’ en HTTPS, ‘Adresse Admin Magento’ avec votre URL de chemin admin et décochez les ‘Réécritures Apache’, car nous utilisons le serveur web Nginx.

Cliquez à nouveau sur le bouton ‘Suivant’.
Laissez le ‘Personnaliser votre magasin’ par défaut et cliquez sur ‘Suivant’.

Tapez votre utilisateur admin et mot de passe, puis cliquez sur ‘Suivant’.

Et cliquez sur le bouton ‘Installer maintenant’ pour installer Magento.

Et lorsque l’installation est terminée, vous obtiendrez le résultat ‘succès’ comme ci-dessous.

Maintenant, nous devons désactiver l’accès en écriture pour le répertoire ‘/var/www/magento2/app/etc’. Exécutez la commande ci-dessous.
sudo chmod -w /var/www/magento2/app/etcMagento a été installé sur le serveur Ubuntu 18.04 Bionic Beaver.
Étape 5 - Tests
Tapez l’adresse URL d’accueil de Magento et assurez-vous d’obtenir la page d’accueil par défaut de Magento. La mienne est : https://magento.hakase-labs.pw/

Maintenant, connectez-vous au tableau de bord admin de Magento en visitant l’URL définie lors de l’installation ‘admin_hakase’. La mienne est :
https://magento.hakase-labs.pw/admin_hakase/

Tapez le nom d’utilisateur et le mot de passe, puis cliquez sur le bouton ‘Se connecter’.
Et vous obtiendrez le tableau de bord admin de Magento comme ci-dessous.

Magento 2 a été installé sur Ubuntu 18.04 avec le serveur web Nginx, la base de données MySQL et PHP-FPM 7.1.
Supplémentaire :
Si vous obtenez une erreur concernant un cronjob d’indexeur Magento manquant, vous pouvez le résoudre en générant le script crontab en utilisant la commande ci-dessous :
cd /var/www/magento2
sudo -u www-data php bin/magento cron:install --forceMaintenant, vérifiez la liste des scripts crontab pour l’utilisateur ‘www-data’.
crontab -u www-data -l
Référence
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.