Recherche de site Web

Comment installer Magento sur Rocky Linux et AlmaLinux


Écrit en PHP, Magento est une plateforme de commerce électronique open source populaire et polyvalente qui fournit aux entreprises un panier d'achat en ligne. Il exploite divers frameworks PHP tels que Symfony et Laminas pour améliorer ses fonctionnalités et sa convivialité.

Magento vous fournit un panneau de contrôle d'administrateur qui vous aide à créer votre boutique en ligne, à gérer votre catalogue de produits, à surveiller les transactions et les factures et à suivre le comportement d'achat des clients, entre autres tâches.

Sans plus attendre, commençons par installer Magento sur Rocky Linux et AlmaLinux.

Conditions préalables

Pour réussir l'installation de Magento, vous devez tout d'abord avoir une pile LAMP installée sur :

  • Comment installer la pile LAMP sur Rocky Linux
  • Comment installer la pile LAMP dans AlmaLinux

Assurez-vous également que vous disposez d'un nom de domaine complet (FQDN) pointant vers l'adresse IP publique du serveur. Dans ce guide, nous utiliserons le domaine linuxtechgeek.info.

Enfin, assurez-vous d'avoir un accès SSH avec un utilisateur sudo configuré.

Étape 1 : Installer des modules PHP supplémentaires et d’autres dépendances

Nous commencerons par l'installation des modules php qui sont indispensables à l'installation de Magento.

sudo dnf install php-mysqlnd php-xml php-cli php-soap php-pd php-opcache php-iconv php-bcmath php-gd o  php-intl php-mbstring php-json  php-zip unzip wget -y

Une fois installé, rendez-vous et modifiez le fichier de configuration php.ini.

sudo vim /etc/php.ini

Assurez-vous que les valeurs fournies ci-dessous reflètent ce dont vous disposez. Bien sûr, définissez votre valeur date.timezone en conséquence pour qu'elle corresponde à votre fuseau horaire.

memory_limit = 1024M
upload_max_filesize = 256M
zlib.output_compression = on
max_execution_time = 18000
date.timezone = Europe/London

Enregistrez les modifications et quittez.

Ensuite, vous devez installer l'extension PHP sodium – libsodium. Il s'agit d'un module qui fournit des fonctionnalités de cryptage de manière simple et efficace. Pour installer le module, nous devons installer le référentiel EPEL qui fournit des packages et des dépendances supplémentaires pour prendre en charge son installation.

Pour installer EPEL, exécutez la commande :

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Ensuite, installez des dépendances supplémentaires.

sudo dnf install php-cli libsodium php-pear php-devel libsodium-devel make

Une fois tous les packages et dépendances en place, installez le module PHP libsodium en exécutant les commandes suivantes dans cet ordre.

sudo pecl channel-update pecl.php.net
sudo pecl install libsodium

Revenez au fichier php.ini.

sudo vim /etc/php.ini 

Ajoutez la ligne suivante.

extension=sodium.so

Sauvegarder et quitter.

Pour vérifier si PHP sodium a été installé, exécutez la commande :

php -i | grep sodium

Super! Passez maintenant à l'étape suivante.

Étape 2 : Créer une base de données pour Magento

L'étape suivante implique la création d'une base de données et d'un utilisateur de base de données pour Magento. Connectez-vous donc au serveur de base de données MariaDB :

sudo mysql -u root -p

Créez une base de données et un utilisateur de base de données en exécutant les requêtes SQL suivantes.

CREATE DATABASE magento_db;
CREATE USER 'magento_user'@'localhost' IDENTIFIED BY 'password';

Ensuite, accordez des privilèges à l'utilisateur de la base de données sur la base de données Magento.

GRANT ALL ON magento_db.* TO 'magento_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Enfin, permettez aux modifications de prendre effet en rechargeant les tables de subventions.

FLUSH PRIVILEGES;
EXIT;

Vous trouverez ci-dessous un résumé des requêtes SQL.

Étape 3 : installer et configurer Elasticsearch sous Linux

L'étape suivante consiste à installer Elasticsearch. Il s'agit d'un moteur de recherche et d'analyse distribué open source basé sur Apache Lucene. Il est utilisé pour rechercher, stocker et analyser d’énormes volumes de données de manière rapide et pratique.

Elasticsearch est écrit en Java et, comme condition préalable, nous devons d'abord installer Java. Nous allons installer OpenJDK 11 qui est la dernière version stable de OpenJDK.

sudo dnf install openjdk-11-jdk -y

Une fois l'installation de OpenJDK terminée, vérifiez la version de Java installée.

java -version

Ensuite, importez la clé Elasticsearch GPG.

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Une fois cela fait, créez un référentiel pour Elasticsearch.

sudo vim /etc/yum.repos.d/elasticsearch.repo

Collez le contenu suivant.

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Enregistrez les modifications et quittez le fichier du référentiel Elasticsearch.

Utilisez maintenant le gestionnaire de packages DNF pour installer elasticsearch.

sudo dnf install elasticsearch

Une configuration supplémentaire est requise pour Elasticsearch. Modifiez donc le fichier elasticsearch.yml.

sudo vim etc/elasticsearch/elasticsearch.yml

Décommentez les lignes ci-dessous et assurez-vous que la directive network.host est définie sur 127.0.0.1.

cluster.name: my-application
     node.name: node-1
     path.data: /var/lib/elasticsearch
     network.host: 127.0.0.1

Enregistrez les modifications et quittez le fichier.

Maintenant, activez le service Elasticsearch pour qu'il démarre au démarrage et démarrez le service à l'aide des commandes suivantes.

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

Vérifiez ensuite l'état d'exécution d'Elasticsearch.

sudo systemctl status elasticsearch

De plus, vous pouvez tester Elasticsearch en envoyant une requête GET à l'aide de la commande curl comme indiqué.

curl -X GET ‘localhost:9200’

Vous devriez obtenir le résultat suivant au format JSON.

Ceci est une confirmation qu'Elasticsearch a été installé avec succès.

Étape 4 : Téléchargez et installez Composer sous Linux

L'étape suivante consiste à installer composer qui est un gestionnaire de packages PHP. Alors, commencez par télécharger le fichier d’installation.

sudo curl -sS https://getcomposer.org/installer | php

Déplacez ensuite le fichier vers le chemin /usr/local/bin/.

sudo mv composer.phar /usr/local/bin/composer

Pour confirmer l'installation, exécutez la commande :

composer -V

Étape 5 : Téléchargez et installez Magento sous Linux

L'étape suivante consiste à télécharger le fichier zip Magento. Actuellement, la dernière version est Magento 2.4.2. À l'aide de l'utilitaire de ligne de commande wget, téléchargez le fichier d'installation comme suit.

wget https://github.com/magento/magento2/archive/refs/tags/2.4.2.zip

Une fois téléchargé, extrayez le contenu du fichier d'archive.

unzip 2.4.2.zip

Déplacez ensuite le répertoire décompressé vers le répertoire racine du document et renommez-le en magento2 par souci de simplicité.

sudo mv magento2-* /var/www/html/magento2

Accédez ensuite au répertoire magento

cd /var/www/html/magento2

Et utilisez composer pour installer toutes les dépendances PHP.

sudo /usr/local/bin/composer install

REMARQUE : vous obtiendrez forcément une erreur lorsque vous utilisez sudo pour exécuter composer. Ceci est simplement un avertissement car exécuter composer en tant que root peut être risqué en fonction de ce qui est installé. Alors continuez et exécutez-le néanmoins.

Une fois toutes les dépendances installées, définissez les autorisations suivantes pour le répertoire magento2.

sudo chown -R apache:apache /var/www/html/magento2
sudo chmod 755 /var/www/html/magento2

Toujours dans le répertoire magento2, invoquez les autorisations supplémentaires suivantes.

sudo find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
sudo find var generated vendor pub/static pub/media app/etc -type d -exec 
sudo chown -R apache:apache .
sudo chmod u+x bin/magento

Nous avons maintenant terminé de définir les autorisations. Continuons et configurons Apache pour Magento.

Étape 6 : Créer un hôte virtuel Apache pour Magento

Ensuite, nous configurerons un fichier hôte virtuel Apache pour l'installation de Magento.

sudo vim /etc/httpd/conf.d/magento.conf

Collez le fichier de configuration suivant.

<VirtualHost *:80>
ServerAdmin [email 
ServerName example.com
DocumentRoot /var/www/html/magento2/
DirectoryIndex index.php

<Directory /var/www/html/magento2/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ErrorLog /var/log/httpd/magento_error.log
CustomLog /var/log/httpd/magento_access.log combined
</VirtualHost>

Enregistrez les modifications et quittez le fichier.

Redémarrez ensuite le serveur HTTP Apache

sudo systemctl restart httpd

Étape 7 : Installer Magento et configurer les tâches Magento Cron

Pour installer Magento, exécutez la commande suivante qui configure un nouvel utilisateur, un utilisateur administrateur et plusieurs autres variables importantes.

sudo -u apache bin/magento setup:install --admin-firstname="james" --admin-lastname="kiarie" --admin-email="[email " --admin-user="admin" --admin-password="Secure@123" --db-name="magento_db" --db-host="localhost" --db-user="magento_user" --db-password="P@ssword@321" --language=en_US --currency=USD --timezone=Europe/London  --cleanup-database --base-url=http://"linuxtechgeek.info"

À la toute fin, vous obtiendrez le résultat suivant fournissant le chemin de la page d’administration.

Avant d'accéder à Magento depuis le navigateur, configurez les politiques SELinux comme indiqué.

sudo restorecon -R /var/www/magento
sudo setsebool -P httpd_unified 1

Ensuite, ouvrez le navigateur et saisissez l'URL complète comme indiqué.

http://linuxtechgeek.info/admin_yquaor

Vous serez redirigé vers la page de connexion suivante. Connectez-vous à l'aide des informations d'identification de l'administrateur comme spécifié précédemment et cliquez sur « Connexion ».

Cela vous amène au tableau de bord Magento.

À partir de là, vous pouvez créer votre boutique en ligne, gérer les prix des articles, les factures et suivre l'activité des clients, entre autres tâches. Nous avons installé avec succès Magento sur Rocky Linux et AlmaLinux.