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

  1. Installer Nginx sur Ubuntu 18.04
  2. Installer et configurer PHP-FPM 7.1
  3. Installer et configurer le serveur MySQL
  4. Installer et configurer Magento 2 1. Installer PHP Composer
  5. Télécharger Magento 2
  6. Installer les composants Magento
  7. Générer SSL Letsencrypt
  8. Configurer l’hôte virtuel Nginx pour Magento
  9. Post-installation de Magento
  10. 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 upgrade

Maintenant, installez le serveur web Nginx en utilisant la commande apt ci-dessous.

sudo apt install nginx -y

Aprè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 nginx

Le 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

Installer le serveur web Nginx

É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

Installer PHP 7.1

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

Après l’installation, vérifiez la version de PHP et les extensions installées en utilisant les commandes PHP.

php -v  
php -me

Vérifier l'installation de PHP

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

Changez la valeur de ces lignes comme ci-dessous.

memory_limit = 512M
max_execution_time = 180
zlib.output_compression = On

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

L’installation et la configuration de PHP-FPM 7.1 sont terminées, vérifiez le service en utilisant la commande netstat.

netstat -pl | grep php

Et vous obtiendrez le fichier de socket PHP-fpm comme ci-dessous.

Vérifier le socket PHP-FPM

É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 -y

Aprè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 mysql

Maintenant, nous allons configurer le mot de passe root de MySQL en utilisant la commande ‘mysql_secure_installation’.

mysql_secure_installation

Dans 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.

Sécuriser l'installation de 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) : Y

Le 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 -p

Maintenant, 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.

Créer une base de données MySQL et un utilisateur pour Magento

É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 -y

Après l’installation, vérifiez la version de composer installée sur le système.

composer -V

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

Maintenant, 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 -v

Aprè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 -y

Après l’installation, arrêtez le service nginx.

systemctl stop nginx

Maintenant, 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.pw

Tapez votre adresse e-mail, acceptez les TOS de Letsencrypt, puis tapez ‘N’ pour le partage d’e-mail.

Activer le certificat SSL Let's encrypt

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

Certificat SSL émis avec succès

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 magento

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

Maintenant, redémarrez le service PHP-FPM et Nginx.

systemctl restart php7.1-fpm  
systemctl restart nginx

Et 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’.

Installateur web 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.

Vérifier les prérequis

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’.

Configuration de la base de données

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.

Configuration web

Cliquez à nouveau sur le bouton ‘Suivant’.

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

Personnaliser le magasin Magento

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

Configurer le compte admin

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

Démarrer l'installation de Magento

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

Installation de Magento réussie

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/etc

Magento 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/

Page d'accueil Magento

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/

Connexion au backend Magento

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.

Tableau de bord Magento

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

Maintenant, vérifiez la liste des scripts crontab pour l’utilisateur ‘www-data’.

crontab -u www-data -l

Configurer le cronjob d'indexeur Magento

Référence

Share: X/Twitter LinkedIn

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

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