GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Comment installer Magento 2.4 avec la pile LEMP sur Ubuntu 20.04

Dans ce guide, nous allons vous montrer comment installer Magento 2.4 avec la pile LEMP sur un VPS Ubuntu 20.04.

Magento est l'une des plateformes de commerce électronique open source les plus populaires disponibles, grâce à sa personnalisation et sa flexibilité. Il est créé à l'aide du Zend Framework et utilise MySQL comme système de gestion de base de données. Magento offre aux marchands en ligne un panier d'achat très flexible et un ensemble complet de fonctionnalités, ce qui en fait un excellent choix pour les entreprises qui souhaitent mettre en place un arrêt en ligne sans tracas.

Installer Magento 2.4 avec une pile LEMP sur Ubuntu 20.04 devrait prendre moins de 10 minutes à remplir. Commençons par le didacticiel.

Prérequis

  • Un VPS Ubuntu 20.04 avec accès root activé, ou un utilisateur avec des privilèges sudo
  • 4 Go de RAM ou plus
  • Nginx
  • MariaDB 10.4
  • Elasticsearch 7.6.x car Magento 2.4 est testé avec cette version
  • PHP 7.4 avec les extensions bcmath, ctype, curl, dom, gd, hash, iconv, intl, libxml, mbstring, openssl, pdo_mysql, simplexml, soap, xsl et zip activées. De plus, pour des raisons de performances, il est conseillé d'installer et d'activer l'extension opcache.
  • Un nom de domaine valide pour accéder au site Web Magento 2. De plus, un certificat SSL valide est requis pour accéder au site Web via HTTPS.

Si vous n'avez pas configuré de pile LEMP (Nginx, MariaDB, PHP), pas de problème - nous expliquerons également comment les installer dans ce didacticiel.

Mise en route

Tout d'abord, nous allons devoir nous connecter à notre serveur en utilisant SSH. Vous pouvez le faire en saisissant cette commande :

ssh root@IP_Address -p Port_number

Remplacez "root" par un utilisateur disposant des privilèges sudo si nécessaire. De plus, remplacez "IP_Address" et "Port_Number" par l'adresse IP et le numéro de port SSH respectifs de votre serveur.

Une fois connecté, vous devez mettre à jour tous vos packages de système d'exploitation Ubuntu vers leurs dernières versions disponibles.

apt-get update 
apt-get upgrade

Une fois que tous les packages du système d'exploitation sont à jour, redémarrez votre serveur si nécessaire pour appliquer les nouvelles modifications de configuration.

Installer LEMP et Elasticsearch

LEMP est un acronyme qui décrit un système d'exploitation Linux avec Nginx, MySQL (ou MariaDB) et PHP. Il s'agit d'une pile générale d'applications et de serveurs qui peut servir de base à de nombreux progiciels. Installons LEMP sur notre VPS Ubuntu 20.04.

Installer Nginx

Si un serveur Web Apache est déjà installé sur le serveur, arrêtez le service Apache et empêchez-le de démarrer au démarrage du serveur :

systemctl stop apache2
systemctl disable apache2

Installez Nginx avec la commande suivante :

apt-get install nginx

C'est tout ce que nous devons faire avec Nginx pour l'instant.

Installer MySQL

Ensuite, nous installerons le serveur de base de données MySQL, qui sera utilisé pour stocker les données de notre site Web Magento, telles que les produits, les catégories, les clients et les commandes.
Pour les besoins de ce tutoriel, nous allons installer et utiliser MariaDB. Pour installer le serveur de base de données MariaDB, saisissez les commandes suivantes :

apt-get install software-properties-common

Nous devons ajouter une clé afin d'ajouter notre référentiel MariaDB.

apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

Maintenant que nous avons la clé, installons le dépôt :

add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.lstn.net/mariadb/repo/10.4/ubuntu bionic main'

Mettez à jour vos référentiels APT afin que les listes de packages soient lues.

apt update

Enfin, nous pouvons installer MariaDB.

apt install mariadb-server

Une fois MariaDB installé, activez le service MariaDB pour qu'il démarre au démarrage du serveur :

systemctl enable mariadb.service

Vérifiez l'état du service MariaDB :

systemctl status mariadb.service

Il devrait fonctionner. C'est tout ce que nous devons faire avec MariaDB pour le moment.

Installer Elasticsearch

Basculez vers un répertoire dans lequel vous pouvez télécharger temporairement un fichier.

cd /opt

Téléchargeons le fichier du package Elasticsearch.

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.1-amd64.deb

Installez-le en exécutant la commande suivante :

dpkg -i elasticsearch-7.6.1-amd64.deb

Démarrez le service Elasticsearch :

systemctl start elasticsearch

Vérifiez l'état :

systemctl status elasticsearch

Vérifiez la version et d'autres informations sur Elasticsearch :

curl -XGET 'http://localhost:9200'

Si tout semble normal jusqu'à présent, nous pouvons maintenant installer PHP.

Installer PHP 7.4

Ajoutez le PPA pour PHP 7.4 :

add-apt-repository ppa:ondrej/php

Ensuite, mettez à jour la liste des packages du système d'exploitation et installez PHP 7.4 avec la commande suivante :

apt-get update
apt-get install php7.4

Installez toutes les extensions PHP requises avec la commande suivante :

apt install php7.4-fpm php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip php7.4-bcmath

Une fois les extensions PHP installées sur le serveur, installez quelques autres packages de système d'exploitation nécessaires à l'installation de Magento 2 :

apt-get install git curl software-properties-common

Ensuite, ouvrez le fichier de configuration PHP principal /etc/php/7.4/fpm/php.ini :

nano /etc/php/7.4/fpm/php.ini

Modifiez les paramètres suivants :

file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 256M
cgi.fix_pathinfo = 0
zlib.output_compression = On
upload_max_filesize = 128M
max_execution_time = 600
max_input_time = 900
date.timezone = America/Chicago

Enregistrez et fermez le fichier de configuration PHP.

Créer une base de données pour Magento 2

Sécurisez votre installation MariaDB en utilisant mysql_secure_installation scénario. Ce script supprimera les utilisateurs anonymes, interdira la connexion root à distance et supprimera la base de données de test.

mysql_secure_installation

Nous vous recommandons de répondre à toutes les questions comme indiqué ci-dessous :

Enter current password for root (enter for none): Press [Enter] since no password is set by default
Set root password? [Y/n]: N (You can set a password if you like)
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

Ensuite, nous allons créer notre utilisateur MySQL et notre base de données pour notre site Web Magento 2. Connectez-vous à votre serveur MySQL avec la commande suivante et entrez votre mot de passe root MySQL lorsque vous y êtes invité :

mysql -u root -p

Pour créer une nouvelle base de données pour notre instance Magento 2, exécutez les commandes suivantes :

mysql> set global log_bin_trust_function_creators=1;
mysql> CREATE USER 'magento'@'localhost' IDENTIFIED WITH mysql_native_password BY 'strongPassword';
mysql> create database magentodb;
mysql> GRANT ALL PRIVILEGES ON magentodb.* TO 'magento'@'localhost';
mysql> flush privileges;
mysql> quit

Assurez-vous de donner votre magento Utilisateur MariaDB un mot de passe réel et fort.

Installer Magento 2

Nous pouvons maintenant procéder à l'installation de Magento 2. Au moment de la rédaction de cet article, la dernière version stable de Magento est la version 2.4.

Tout d'abord, rendez-vous sur le dépôt GitHub et téléchargez la dernière version de Magento avec la commande suivante :

mkdir -p /var/www/magento2/
cd /var/www/magento2/
git clone https://github.com/magento/magento2.git /var/www/magento2/

Ensuite, nous devrons installer Composer pour installer tous les composants Magento nécessaires. Vous pouvez installer Composer en exécutant simplement la commande suivante :

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer

Exécutez ces commandes suivantes pour configurer composer.

cd /var/www/magento2
composer install
bin/magento setup:install --base-url=http://yourdomain.com/ --db-host=localhost --db-name=magentodb --db-user=magento --db-password=strongPassword --admin-firstname=FirstName --admin-lastname=LastName [email protected] --admin-user=magentoadmin --admin-password=strong-password --language=en_US --currency=USD --timezone=America/Chicago --use-rewrites=1

N'oubliez pas pour remplacer le nom de domaine , mot de passe de la base de données , nom d'utilisateur administrateur , mot de passe et l'adresse e-mail de l'administrateur en conséquence.
Une fois l'installation terminée, vous devriez recevoir le résultat suivant :

[Progress: 699 / 701]
Post installation file permissions check...
For security, remove write permissions from these directories: '/var/www/magento2/app/etc'
[Progress: 700 / 701]
Write installation date...
[Progress: 701 / 701]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1k4pc0
Nothing to import.

N'oubliez pas l'URI d'administration de Magento. Vous aurez besoin de ces informations plus tard car c'est l'URL que vous utiliserez pour vous connecter au back-end Magento.

Changer la propriété du magento2 répertoire vers www-data avec la commande suivante :

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

Créer un fichier de configuration Nginx

Créez un fichier de configuration Nginx avec votre éditeur de texte :

nano /etc/nginx/sites-available/magento2

Ajoutez ensuite ce qui suit comme contenu du fichier :

upstream fastcgi_backend {
server unix:/run/php/php7.4-fpm.sock;
}
server {
server_name yourdomain.com;
listen 80;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer; # or production
access_log /var/log/nginx/magento2-access.log;
error_log /var/log/nginx/magento2-error.log;
include /var/www/magento2/nginx.conf.sample;
}

Assurez-vous d'avoir défini yourdomain.com à votre nom de domaine enregistré.

Supprimez le fichier de configuration Nginx par défaut, s'il n'est pas utilisé :

rm -f /etc/nginx/sites-enabled/default

Activez le fichier de configuration Nginx nouvellement créé, puis testez la configuration Nginx et assurez-vous qu'il n'y a pas d'erreur :

ln -s /etc/nginx/sites-available/magento2 /etc/nginx/sites-enabled/magento2
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

C'est ça! Votre serveur Web est maintenant configuré avec succès.

Installer un certificat SSL

Nous allons installer un certificat SSL gratuit de Let's Encrypt. Installez les packages requis en exécutant cette commande :

apt-get install certbot python3-certbot-nginx

Installez ensuite un nouveau certificat SSL pour votre nom de domaine, en vous assurant que yourdomain.com est défini sur votre nom de domaine enregistré :

certbot --nginx -d yourdomain.com -d www.yourdomain.com

Veuillez sélectionner "2" et choisir de rediriger le trafic HTTP vers HTTPS :

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Utilisez les commandes CLI Magento 2 suivantes pour mettre à jour le base-url Magento et le base-url-secure valeurs :

cd /var/www/magento2/
php bin/magento setup:store-config:set --base-url="https://yourdomain.com/"
php bin/magento setup:store-config:set --base-url-secure="https://yourdomain.com/"

Modifiez le fichier de configuration Nginx et activez HTTP/2 :

nano /etc/nginx/sites-enabled/magento2

Remplacer :

listen 443 ssl;

Avec :

listen 443 ssl http2;

Redémarrez le service Nginx pour que les modifications prennent effet :

systemctl restart cron.service

Installer la tâche Cron

Magento nécessite une configuration de tâche cron pour de nombreuses fonctions système importantes. Créons la tâche cron suivante :

crontab -u www-data -e

Ajoutez ceci au fichier :

* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/magento2/var/log/magento.cron.log

Enregistrez et fermez le fichier.

Redémarrez le service cron :

systemctl restart cron.service

C'est tout ! Magento 2 a été installé avec succès sur votre serveur.

Vous pouvez accéder au front-end de Magento sur http://yourdomain.com :

Connectez-vous au back-end Magento 2 sur http://yourdomain.com /URI d'administration Magento , et configurez Magento selon vos besoins. Vous pouvez installer des extensions, ajouter des produits, des catégories, etc.

Il devient de plus en plus important d'avoir une présence en ligne dans le monde numérique d'aujourd'hui. Vous n'avez pas besoin d'être un expert en administration système Linux lorsque vous utilisez notre hébergement Magento géré - nous allons tout configurer pour vous et le maintenir, le tout inclus avec notre VPS. Nous pouvons même optimiser votre serveur ainsi que répondre à toutes les demandes que vous pourriez avoir. Vous aurez toujours le contrôle total de votre serveur, mais vous n'aurez plus jamais à vous soucier de quoi que ce soit.

Nous espérons que ce tutoriel vous a aidé à installer Magento 2 sur votre VPS Ubuntu 20.04. Si c'est le cas, pensez à partager ce message sur les réseaux sociaux avec nos raccourcis de partage, ou laissez un commentaire ci-dessous avec toute question ou suggestion que vous pourriez avoir. Merci.


Panels
  1. Comment installer LEMP sur Ubuntu 18.04

  2. Comment installer Magento sur Ubuntu 18.04

  3. Comment installer WordPress avec une pile LEMP sur Ubuntu 18.04

  4. Comment installer WordPress avec LAMP Stack sur Ubuntu 20.04

  5. Comment installer Nextcloud sur Ubuntu 20.04

Comment installer la pile LEMP sur Ubuntu 16.04

Comment installer la pile LEMP (Nginx, MariaDB, PHP7.1) sur Ubuntu 17.10

Comment installer LAMP Stack avec PhpMyAdmin dans Ubuntu 20.04

Comment installer Magento sur Ubuntu 20.04 LTS

Comment installer la pile LEMP avec PhpMyAdmin dans Ubuntu 20.04

Comment installer Magento 2.4.3 sur Ubuntu 20.04 avec LAMP