GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Magento 2 avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04 LTS

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 PHP Zend Framework. Il utilise MySQL ou MariaDB comme backend de base de données. Le développement de Magento a été lancé en 2008 par Varien.

Dans ce tutoriel, nous allons vous montrer étape par étape comment installer Magento 2 sur la dernière version Ubuntu 20.04. Nous installerons Magento sous la pile LEMP, le serveur Web Nginx, PHP-FPM 7.3 et le serveur MariaDB.

Exigences

Pour ce tutoriel, nous allons installer Magento 2 sur le système Ubuntu 20.04 avec 2 Go de RAM, 50 Go d'espace disque libre et 2 processeurs.

Qu'allons-nous faire ?

  • Installer le serveur Web Nginx
  • Installer et configurer PHP-FPM 7.3
  • Installer et configurer le serveur MySQL
  • Installer PHP Composer
  • Télécharger et installer Magento
  • Générer SSL Letsencrypt
  • Configurer Nginx Virtualhost pour Magento
  • Post-installation de Magento

Étape 1 - Installer le serveur Web Nginx

Tout d'abord, nous allons installer le serveur Web Nginx sur le système Ubuntu 20.04.

Installez Nginx à l'aide de la commande apt ci-dessous.

sudo apt install nginx

Une fois l'installation terminée, démarrez le service Nginx et ajoutez-le au démarrage du système.

systemctl start nginx
systemctl enable nginx

Après cela, vérifiez l'état du service Nginx à l'aide de la commande suivante.

systemctl status nginx

Le serveur Web Nginx est opérationnel sur le serveur Ubuntu 20.04.

Ensuite, nous allons ouvrir les ports HTTP et HTTPS sur notre système Ubuntu.

Exécutez la commande ufw ci-dessous.

for svc in ssh http https
do
ufw allow $svc
done

Par conséquent, les services SSH, HTTP et HTTPS ont été ajoutés à la règle de pare-feu ufw.

Exécutez maintenant l'activation du pare-feu ufw à l'aide de la commande suivante.

ufw enable

Tapez 'y' et appuyez sur Entrée, et vous avez activé le pare-feu ufw.

Étape 2 - Installer et configurer PHP-FPm 7.3

Après avoir installé le serveur Web Nginx, nous installerons le PHP-FPM sur notre serveur Ubuntu 20.04.

Par défaut, Ubuntu 20.04 est livré avec la dernière version de PHP/PHP-FPM 7.4. Mais pour l'instant, le Magento ne fonctionne qu'avec PHP/PHP-FPM 7.3. Et dans cette étape, nous allons installer PHP-FPM 7.3 à partir du référentiel PPA.

Avant d'aller plus loin, installez le package 'software-properties-common' et ajoutez le référentiel PPA pour PHP 7.3 à l'aide de la commande suivante.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Le "add-apt-repository" mettra automatiquement à jour tous les référentiels du système.

Installez maintenant les packages PHP-FPM 7.3 à partir du référentiel PPA à l'aide de la commande apt ci-dessous.

sudo apt install php7.3-fpm php7.3-common php7.3-curl php7.3-cli php7.3-mysql php7.3-gd php7.3-xml php7.3-json php7.3-intl php-pear php7.3-dev php7.3-common php7.3-mbstring php7.3-zip php7.3-soap php7.3-bcmath php7.3-opcache -y

Et l'installation de PHP-FPM 7.3 est terminée.

Après cela, allez dans le répertoire '/etc/php/7.3' et modifiez la configuration 'php.ini' pour PHP-FPM.

cd /etc/php/7.3/
vim fpm/php.ini

Décommentez et modifiez la configuration comme ci-dessous.

date.timezone = Asia/Singapore
memory_limit = 1G
max_execution_time = 1800
zlib.output_compression = On
cgi.fix_pathinfo = 0

opcache.enable=1
opcache.save_comments = 1

Enregistrez et fermez.

Ensuite, démarrez le service PHP-FPM et ajoutez-le au démarrage du système.

systemctl start php7.3-fpm
systemctl enable php7.3-fpm

Le service PHP-FPM est opérationnel, vérifiez-le à l'aide de la commande ci-dessous.

ss -xa | grep php
systemctl status php7.3-fpm

En conséquence, le PHP-FPM est opérationnel sur le serveur Ubuntu 20.04, il s'exécute sous le fichier sock '/run/php/php7.3-fpm.sock'.

Étape 3 - Installer et configurer le serveur MariaDB

Dans cette étape, nous allons installer le serveur de base de données MariaDB, configurer le mot de passe root par défaut pour MariaDB et créer une nouvelle base de données et un nouvel utilisateur pour Magento.

Installez les packages MariaDB Server sur Ubuntu 20.04 à l'aide de la commande apt ci-dessous.

sudo apt install mariadb-server

Une fois l'installation terminée, démarrez le service MariaDB et ajoutez-le au démarrage du système.

systemctl start mariadb
systemctl enable mariadb

Le service MariaDB est opérationnel.

Ensuite, nous allons configurer le mot de passe root de MariaDB à l'aide de l'utilitaire 'mysql_secure_instalaltion'.

Exécutez la commande 'mysql_secure_instalaltion' ci-dessous.

mysql_secure_installation

Tapez votre mot de passe fort pour l'utilisateur root de MariaDB et tapez 'Y' pour toute la configuration.

Set a root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

En conséquence, le mot de passe root MariaDB a été configuré.

Ensuite, nous allons créer une nouvelle base de données et un nouvel utilisateur pour l'installation de Magento.

Connectez-vous au shell MariaDB/MySQL à l'aide de la commande mysql ci-dessous.

mysql -u root -p

Créez maintenant une nouvelle base de données pour notre installation Magento. Créez la base de données 'magentodb' et l'utilisateur 'magentouser' avec le mot de passe 'magentodbpass'.

Exécutez les requêtes MySQL ci-dessous.

create database magentodb;
create user [email protected]'localhost' identified by 'magentopassdb';
grant all privileges on magentodb.* to [email protected]'localhost';
flush privileges;

Tapez maintenant 'exit' pour vous déconnecter du shell MySQL.

En conséquence, l'installation de la nouvelle base de données et de l'utilisateur pour Magento est terminée.

Étape 4 - Installer Composer

Composer est un gestionnaire de dépendances pour PHP. il s'agit d'un gestionnaire de packages au niveau de l'application pour PHP qui vous permet de télécharger des dépendances et des bibliothèques PHP supplémentaires dans votre projet PHP.

Dans cette étape, nous allons installer PHP Composer à partir du référentiel Ubuntu.

Installez Composer à l'aide de la commande apt ci-dessous.

sudo apt install composer -y

Une fois l'installation terminée, vérifiez la version de composer ci-dessous.

composer --version

Vous trouverez ci-dessous la réponse que vous obtiendrez.

Composer 1.10.1 2020-03-13 20:34:27

Comme on peut le voir, Composer 1.10 a été installé sur le serveur Ubuntu 20.04.

Étape 5 - Télécharger et installer Magento 2

Dans cette étape, nous allons télécharger et installer Magento 2 et tous les packages PHP nécessaires à l'aide de Composer.

Tout d'abord, allez dans le répertoire '/var/www/' et téléchargez le code source de Magento 2.3.5 CE (Community Edition) en utilisant la commande wget comme ci-dessous.

cd /var/www/
wget -q https://github.com/magento/magento2/archive/2.3.5.tar.gz

Une fois que tout est terminé, extrayez le code source de Magento et renommez le répertoire extrait en répertoire 'magento2'.

tar -xf 2.3.5.tar.gz
mv magento2-*/ magento2/

Ensuite, allez dans le répertoire d'installation de Magento '/var/www/magento2' et installez toutes les dépendances des packages PHP pour Magento en utilisant la commande Composer comme ci-dessous.

cd /var/www/magento2/
composer install

Une fois toute l'installation terminée, fixez la propriété du répertoire d'installation de Magento 2 à l'utilisateur 'www-data'.

chown -R www-data:www-data /var/www/magento2

En conséquence, l'installation de Magento 2 et de toutes les dépendances de packages est terminée.

Étape 6 - Générer SSL Letsencrypt

Pour ce tutoriel, nous allons sécuriser l'installation de Magento 2 à l'aide du SSL Letsencrypt. Et dans cette étape, nous allons générer le SSL Letsencrypt à l'aide de la commande certbot. Assurez-vous également que votre nom de domaine correspond à l'adresse IP du serveur.

Installez l'outil certbot à l'aide de la commande apt ci-dessous.

sudo apt install certbot

Une fois l'installation terminée, arrêtez le service Nginx.

systemctl stop nginx
certbot certonly --standalone --agree-tos --no-eff-email --email [email protected] -d magento.hakase-labs.io

Une fois que tout est terminé, vous obtiendrez vos certificats SSL dans le répertoire '/etc/letsencrypt/live/magento.your-domain.com'.

En conséquence, l'installation de SSL Letsencrypt pour Magento 2 a été générée.

Étape 7 - Configurer Nginx Virtualhost pour Magento 2

Dans cette étape, nous ajouterons une nouvelle configuration d'hôte virtuel Nginx pour Magento 2.

Allez dans le répertoire '/etc/nginx/sites-available/' et créez une nouvelle configuration 'magento' à l'aide de l'éditeur vim.

cd /etc/nginx/sites-available/
vim magento

Collez-y la configuration suivante.

upstream fastcgi_backend {
        server  unix:/run/php/php7.3-fpm.sock;
}

server {
    listen 80;
    listen [::]:80;
    server_name magento.hakase-labs.io;
    return 301 https://$server_name$request_uri;
}

server {

        listen 443 ssl http2;
        server_name magento.hakase-labs.io;

        ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.io/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.io/privkey.pem;

        set $MAGE_ROOT /var/www/magento2;
        set $MAGE_MODE developer;
        include /var/www/magento2/nginx.conf.sample;
}

Enregistrez et fermez.

Ensuite, activez l'hôte virtuel Magento Nginx et testez la configuration nginx, et assurez-vous qu'il n'y a pas d'erreur.

ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
nginx -t

Redémarrez maintenant le service Nginx à l'aide de la commande suivante.

systemctl restart nginx

En conséquence, la configuration de l'hôte virtuel Nginx pour Magento 2 a été créée et activée.

Étape 8 - Post-installation de Magento

Ouvrez votre navigateur Web et saisissez votre nom de domaine d'installation Magento dans la barre d'adresse.

https://magento.hakase-labs.io/

Vous serez maintenant redirigé vers la connexion sécurisée HTTPS et vous obtiendrez la page d'accueil et les conditions d'utilisation de Magento.

Cliquez sur 'Accepter et configurer Magento ' pour continuer.

Sur la page "Vérification de l'état de préparation", assurez-vous que toutes les exigences sont en vert et cliquez sur "Suivant ' bouton.

Tapez les détails de la base de données MariaDB et l'utilisateur que nous avons créé ci-dessus et cliquez sur 'Suivant '.

Pour la 'Configuration Web', changez tous les protocoles HTTP en HTTPS et assurez-vous de changer l''Adresse d'administration Magento'.

Maintenant, cliquez sur "Options avancées" et cochez toutes les options HTTPS, puis décochez l'option "Apache réécrit" et cliquez sur "Suivant ' à nouveau.

Ensuite, sur la configuration Magento "Customize Your Store", laissez-la par défaut et cliquez sur "Suivant ' bouton.

Tapez maintenant les détails de l'utilisateur administrateur, de l'e-mail et du mot de passe. Cliquez ensuite sur Suivant bouton.

Cliquez sur "Installer maintenant" bouton pour installer votre boutique Magento 2.

Maintenant, assurez-vous que toutes les installations n'ont pas d'erreur.

Une fois toute l'installation terminée, vous obtiendrez 'Réussite ' comme ci-dessous.

Cliquez sur 'Lancer l'administration Magento ' pour vous connecter à votre tableau de bord d'administration Magento.

Tapez maintenant votre utilisateur et votre mot de passe administrateur Magento, puis cliquez sur 'Connexion' et vous obtiendrez le tableau de bord d'administration de Magento comme ci-dessous.

Pour la page d'index par défaut de Magento, ouvrez un nouvel onglet et saisissez votre nom de domaine dans la barre d'adresse.

Ci-dessous se trouve la page d'index par défaut de Magento.

En conséquence, l'installation de Magento 2 est terminée.

Ensuite, revenez à votre shell de serveur et nous configurerons le Magento Cron et supprimerons l'autorisation d'écriture de certains répertoires d'installation de Magento.

Pour configurer le cron Magento, exécutez la commande ci-dessous.

cd /var/www/magento2
sudo -u www-data php bin/magento cron:install --force

Le cron Magento s'exécutera sous l'utilisateur 'www-data', vérifiez-le à l'aide de la commande suivante.

crontab -u www-data -l

En conséquence, le Magento Cron a été ajouté au système.

Ensuite, nous devons supprimer l'autorisation d'écriture du répertoire '/var/www/magento2/app/etc'.

Exécutez la commande chmod ci-dessous.

chmod u-w /var/www/magento2/app/etc

Et enfin, l'installation de Magento 2 avec le serveur Web Nginx, le serveur MariaDB, PHP-FPM 7.3 sur le dernier Ubuntu 20.04 s'est terminée avec succès.


Ubuntu
  1. Comment installer Nextcloud avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04 LTS

  2. Comment installer Magento 2 avec Nginx et Letsencrypt sur Ubuntu 18.04

  3. Comment installer Magento avec Nginx sur Ubuntu 16.04

  4. Comment installer Shopware avec NGINX et Lets encrypt sur Ubuntu 18.04 LTS

  5. Installez Automad CMS avec Nginx et Lets Encrypt SSL sur Ubuntu 18.04

Comment installer ProjectSend avec Apache et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer Moodle avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer MediaWiki avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer Gitea avec Nginx et Lets Encrypt SSL gratuit sur Ubuntu 20.04

Comment installer Let's Encrypt SSL avec Nginx sur Ubuntu 16.04 LTS

Comment installer Nginx avec Let's Encrypt SSL sur Ubuntu 20.04 LTS