GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Magento 2.1 sur CentOS 7

Magento est une boutique open source (logiciel e-commerce) et un système de gestion de contenu pour les sites e-commerce basés sur PHP Zend Framework. Magento applique les conventions de la programmation orientée objet et de l'architecture MVC (modèle-vue-contrôleur) et utilise MySQL/MariaDB comme base de données. Le logiciel développé a été lancé en 2008 par Varien Inc. Au cours des dernières années, Magento est devenu une plate-forme de confiance pour les logiciels de commerce électronique qui alimente les entreprises en ligne du monde entier.

Dans ce tutoriel, je vais vous guider à travers l'installation de Magento 2.1. Nous installerons Magento 2.1 avec Nginx et Php7.0-fpm et MySQL comme base de données. À cette fin, j'utiliserai un serveur CentOS 7 avec SELinux activé.

Étape 1 - Installer Nginx

Dans cette étape, nous allons installer Nginx à partir du référentiel epel. Epel n'est pas disponible par défaut, nous devons donc installer le référentiel epel avant d'installer Nginx.

Installez le référentiel epel avec cette commande yum.

yum -y install epel-release

Nous pouvons maintenant installer Nginx à partir du référentiel epel.

yum -y installer nginx

Une fois l'installation terminée, démarrez Nginx et ajoutez-le pour démarrer au démarrage.

systemctl démarrer nginx
systemctl activer nginx

Nginx est démarré sur le port 80, vous pouvez le vérifier avec la commande netstat ci-dessous.

netstat -plntu

Si vous voyez le résultat "commande introuvable", vous pouvez installer net-tools comme celui-ci.

yum -y install net-tools

Étape 2 - Installer et configurer PHP-FPM

Dans ce tutoriel, nous utiliserons PHP-FPM 7 pour l'installation de Magento. J'utiliserai les packages PHP 7 du référentiel Webtatic.

Téléchargez et ajoutez un nouveau référentiel webtatic au système.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Exécutez maintenant la commande ci-dessous pour installer PHP-FPM7 avec tous les packages et extensions nécessaires à l'installation de Magento.

yum -y install php70w-fpm php70w-mcrypt php70w-curl php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-json php70w-intl php70w-pear php70w-devel php70w-mbstring php70w-zip php70w-soap 

Lorsqu'une installation de PHP-FPM7 est terminée, nous devons la configurer. Nous allons configurer le fichier php.ini et le fichier 'www.conf' de configuration de php-fpm.

Editez php.ini avec vim.

vim /etc/php.ini

Décommentez la ligne cgi.fix_pathinfo 762 et changez la valeur en 0.

cgi.fix_pathinfo=0

Configurez la limite de mémoire, le temps d'exécution maximum et activez la compression de sortie zlib, assurez-vous de définir les valeurs comme indiqué ci-dessous.

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

Décommentez le répertoire du chemin de session et modifiez le répertoire comme ci-dessous.

session.save_path ="/var/lib/php/session"

Enregistrez et quittez.

Ensuite, éditez le fichier de configuration php-fpm www.conf avec la commande vim.

vim /etc/php-fpm.d/www.conf

PHP-FPM7 s'exécutera sous l'utilisateur et le groupe 'nginx', changez la valeur en 'nginx' pour les lignes d'utilisateur et de groupe.

utilisateur =nginx
groupe =nginx

Nous exécuterons php-fpm sous un fichier socket, pas un port serveur. Remplacez la valeur de la ligne d'écoute par le chemin du fichier socket.

écouter =/var/run/php/php-fpm.sock

Le fichier de socket doit appartenir à l'utilisateur et au groupe "nginx", décommentez les lignes d'écoute et modifiez les valeurs comme indiqué ci-dessous.

listen.owner =nginx
listen.group =nginx
listen.mode =0660

Enfin, décommentez les lignes d'environnement PHP-FPM 366-370.

env[HOSTNAME] =$HOSTNAME
env[PATH] =/usr/local/bin:/usr/bin:/bin
env[TMP] =/tmp
env[ TMPDIR] =/tmp
env[TEMP] =/tmp

Enregistrez et quittez.

Ensuite, créez un nouveau répertoire pour le chemin de la session et l'emplacement du fichier de chaussette php. Changez ensuite le propriétaire en utilisateur et groupe 'nginx'.

Créez un nouveau répertoire pour le chemin de la session.

mkdir -p /var/lib/php/session/
chown -R nginx:nginx /var/lib/php/session/

Créez un nouveau répertoire pour l'emplacement du fichier socket php-fpm.

mkdir -p /run/php/
chown -R nginx:nginx /run/php/

La configuration de PHP-FPM7 est terminée, démarrez le démon maintenant et activez-le au démarrage avec la commande systemctl ci-dessous.

systemctl start php-fpm
systemctl enable php-fpm

Lorsqu'il n'y a pas d'erreurs, vous pouvez utiliser la commande ci-dessous pour vérifier si php-fpm s'exécute sous le fichier socket.

netstat -pl | grep php-fpm.sock

Étape 3 - Installer le serveur MySQL 5.7

Magento 2.1 nécessite une version actuelle de MySQL, vous pouvez utiliser MySQL 5.6 ou 5.7 pour l'installation. Dans ce tutoriel, nous utiliserons MySQL 5.7 qui peut être installé à partir du référentiel MySQL officiel. Nous devons donc d'abord ajouter le nouveau référentiel MySQL.

Téléchargez et ajoutez le nouveau référentiel MySQL pour l'installation de MySQL 5.7.

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

Installez maintenant MySQL 5.7 à partir du référentiel MySQL avec la commande yum ci-dessous.

yum installer mysql-community-server

Une fois l'installation terminée, démarrez mysql et ajoutez-le pour démarrer au démarrage.

systemctl démarrer mysqld
systemctl activer mysqld

MySQL 5.7 a été installé avec un mot de passe root par défaut, il est stocké dans le fichier mysqld.log. Utilisez la commande grep pour voir le mot de passe par défaut pour MySQL 5.7. Exécutez la commande ci-dessous.

grep 'temporaire' /var/log/mysqld.log

Maintenant que vous voyez le mot de passe root MySQL actuel, vous devez changer le mot de passe par défaut.

Connectez-vous au shell mysql avec l'utilisateur root et le mot de passe par défaut.

mysql -u root -p
TYPE DE MOT DE PASSE PAR DÉFAUT

Modifiez le mot de passe root par défaut avec la requête ci-dessous. J'utiliserai ici le nouveau mot de passe "[email protected]". Veuillez choisir un mot de passe sécurisé.

ALTER USER 'root'@'localhost' IDENTIFIED BY '[email protected]' ;
flush privilèges ;

Le mot de passe root MySQL par défaut a été modifié. Ensuite, nous devons créer un nouvel utilisateur et une nouvelle base de données pour l'installation de Magento.

Nous allons créer une nouvelle base de données nommée 'magentodb' et un nouvel utilisateur 'magentouser' avec le mot de passe '[email protected]'. Accordez ensuite tous les privilèges de la base de données au nouvel utilisateur. Exécutez la requête mysql ci-dessous.

créer la base de données magentodb ;
créer un utilisateur [email protected] identifié par '[email protected]' ;
accorder tous les privilèges sur magentodb.* à [email protected] identifié par '[email protected]';
flush privilèges ;

L'installation et la configuration de MySQL 5.7 sont terminées et une base de données pour l'installation de Magento a été créée.

Étape 4 Installer et configurer Magento

Dans cette étape, nous allons commencer à installer et configurer Magento. Pour le répertoire racine web, nous utiliserons le répertoire '/var/www/magento2'. Nous avons besoin de PHP composer pour l'installation du package Magento.

Installer PHP Composer

Nous utiliserons Composer pour l'installation des dépendances du package PHP. Installez composer avec la commande curl ci-dessous.

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

Une fois l'installation terminée, vous pouvez vérifier la version de composer comme indiqué ci-dessous.

composer -v

PHP Composer a été installé.

Télécharger et extraire Magento

Allez dans le répertoire '/var/www' et téléchargez le code Magento avec la commande wget.

cd /var/www/
wget https://github.com/magento/magento2/archive/2.1.zip

Installez unzip avec yum.

yum -y installer décompresser

Extrayez le code Magento et renommez le répertoire en répertoire 'magento2'.

décompressez 2.1.zip
mv magento2-2.1 magento2

Installer les dépendances PHP

Allez dans le répertoire magento2 et installez toutes les dépendances de Magento avec la commande composer.

cd magento2
composer install -v

Attendez la fin de l'installation de la dépendance PHP.

Configurer l'hôte virtuel Magento

Allez dans le répertoire Nginx et créez un nouveau fichier de configuration d'hôte virtuel nommé 'magento.conf' dans le répertoire 'conf.d'.

cd /etc/nginx/
vim conf.d/magento.conf

Collez la configuration de l'hôte virtuel ci-dessous.

fastcgi_backend {
        serveur  unix :/run/php/php-fpm.sock ;
}

serveur {

        écouter 80 ;
        nom_serveur magento.hakase-labs.com ;
        définir $MAGE_ROOT /var/www/magento2 ;
        définir $MAGE_MODE développeur ;
        inclure /var/www/magento2/nginx. conf.sample;
}

Enregistrez et quittez.

Testez maintenant la configuration. Lorsqu'il n'y a pas d'erreur, redémarrez le service Nginx.

nginx -t
systemctl redémarre nginx

Installer Magento 2.1

Allez dans le répertoire magento2 pour installer Magento en ligne de commande.

cd /var/www/magento2

Exécutez la commande ci-dessous, assurez-vous d'avoir la bonne configuration. Les valeurs que vous devez modifier sont expliquées ci-dessous.

bin/magento setup:install --backend-frontname="adminlogin" \
--key="biY8vdWx4w8KV5Q59380Fejy36l6ssUb" \
--db-host="localhost" \
- -db-name="magentodb" \
--db-user="magentouser" \
--db-password="[email protected]" \
--language="en_US " \
--currency="USD" \
--timezone="Amérique/New_York" \
--use-rewrites=1 \
--use-secure=0 \
--base-url="http://magento.hakase-labs.com" \
--base-url-secure="https://magento.hakase-labs.com " \
--admin-user=adminuser \
[email protected] \
[email protected] \
--admin-firstname=admin \
-- admin-lastname=utilisateur \
--cleanup-database

Modifier la valeur pour :

  • --backend-frontname :page de connexion de l'administrateur Magento "adminlogin"
  • --key :générez votre propre clé
  • --db-host :hôte local de la base de données
  • --db-name :nom de la base de données 'magentodb'
  • --db-user :utilisateur de la base de données 'magentouser'
  • --db-password :mot de passe de la base de données '[email protected]'
  • --base-url :URL Magento
  • --admin-user :votre utilisateur administrateur
  • --admin-password :votre mot de passe administrateur Magento
  • --admin-email :votre adresse e-mail

Lorsque vous n'avez aucune erreur dans la commande, vous verrez les résultats ci-dessous.

Magento 2.1 est installé. Exécutez la commande ci-dessous pour modifier l'autorisation pour le répertoire etc et changer le propriétaire du répertoire magento2 en utilisateur 'nginx'.

chmod 700 /var/www/magento2/app/etc
chown -R nginx:nginx /var/www/magento2

Configurer Magento Cron

Ce cronjob est nécessaire pour l'indexeur Magento. Créez un nouveau cronjob en tant qu'utilisateur 'nginx' (car magento s'exécute sous l'utilisateur et le groupe nginx).

crontab -u nginx -e

Collez la configuration ci-dessous.

* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Tâches exécutées par planification">> /var/www/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/magento2/update /cron.php> > /var/www/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/magento2/bin/magento setup:cron :run>> /var/www/magento2/var/log/setup.cron.log

Enregistrez et quittez.

Étape 5 - Configurer SELinux et Firewalld

Dans ce tutoriel, nous laisserons SELinux en mode 'Enforcing'. Exécutez les commandes ci-dessous pour vérifier l'état de SELinux.

statut

SELinux est en mode "Application".

Installez l'outil de gestion SELinux "policycoreutils-python" avec la commande yum ci-dessous.

yum -y install policycoreutils-python

Allez dans le répertoire '/var/www/'.

cd /var/www/

Exécutez les commandes ci-dessous pour modifier le contexte de sécurité des fichiers et répertoires Magento.

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/app/etc(/.* ) ?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/var(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/pub /media(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/pub/static(/.*)?'
restorecon -Rv '/var/www /magento2/'

La configuration de SELinux est terminée. Nous devons maintenant configurer firewalld.

Installez le package firewalld si vous ne l'avez pas déjà sur votre serveur.

yum -y install firewalld

Démarrez le pare-feu et ajoutez firewalld pour qu'il démarre au démarrage.

systemctl start firewalld
systemctl enable firewalld

Ouvrez les ports pour HTTP et HTTPS afin que nous puissions accéder à l'URL de Magento à partir d'un navigateur Web.

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Voir les ports ouverts pour les services avec la commande ci-dessous.

firewall-cmd --list-all

HTTP et HTTPS sont prêts pour les connexions.

Étape 6 - Tester

Ouvrez votre navigateur Web, puis parcourez l'URL de Magento. Le mien est :

magento.hakase-labs.com

Et vous verrez la page d'accueil par défaut de Magento.

Ensuite, connectez-vous au tableau de bord d'administration en ouvrant l'URL de connexion admin.

magento.hakase-labs.com/adminlogin

Connectez-vous avec votre utilisateur administrateur et votre mot de passe.

Tableau de bord d'administration Magento.

Magento 2.1 a été installé avec succès avec Nginx, PHP-FPM7 et MySQL 5.7 sur un serveur CentOS 7.


Cent OS
  1. Comment installer et configurer Nginx sur CentOS 7

  2. Comment installer Nginx sur CentOS 7

  3. Comment installer R sur CentOS 7

  4. Comment installer phpMyAdmin avec Nginx sur CentOS 7

  5. Comment installer Nginx sur CentOS 8

Comment installer Nginx sur CentOS 6

Comment installer Magento sur CentOS 7

Comment installer Magento sur CentOS 8

Comment installer Nginx sur CentOS 7

Comment installer Nginx sur CentOS 7 ?

Comment installer Nginx sur CentOS 8