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.