Magento est une plate-forme de commerce électronique d'entreprise de premier plan basée sur une technologie open source combinant des fonctionnalités puissantes avec une flexibilité et une interface conviviale.
Avec des fonctionnalités telles que des expériences d'achat engageantes, une architecture modulaire flexible et une évolutivité et des performances de niveau entreprise, Magento est une plate-forme de choix pour la plupart des marchands en ligne.
Ceci est le premier article de la série Comment installer et configurer Magento 2 sur CentOS 7. Dans ce tutoriel, nous vous guiderons à travers les étapes d'installation de Magento 2 sur votre machine CentOS 7.
Prérequis #
Comme prérequis pour suivre ce tutoriel, vous aurez besoin de :
- Serveur CentOS 7, selon la configuration système officielle de Magento 2, vous avez besoin d'au moins 2 Go de RAM. Si vous utilisez un serveur avec moins de 2 Go de RAM, vous devez créer un fichier d'échange.
- Connecté en tant qu'utilisateur avec des privilèges sudo.
- Un nom de domaine pointant vers l'adresse IP de votre serveur public. Dans ce tutoriel, nous utiliserons
example.com. - Installation et configuration de Nginx, MySQL et PHP 7.1. Si ce n'est pas le cas, consultez notre guide LEMP sur CentOS 7.
- Un certificat SSL valide. Si vous n'en avez pas, vous pouvez créer un certificat SSL Let's Encrypt gratuit en suivant Secure Nginx avec Let's Encrypt sur CentOS 7.
Paire de clés d'accès Magento #
Nous devons générer des clés d'accès pour authentifier l'accès au référentiel de code Magento 2 et aux extensions et thèmes tiers.
Si vous n'avez pas de compte Magento Marketplace, vous pouvez en créer un ici. Une fois le compte créé, veuillez consulter ces instructions pour savoir comment générer un nouveau jeu de clés d'accès.
Créer la base de données MySQL #
Magento 2 est compatible avec MySQL 5.6 et 5.7, MariaDB 10.x et Percona 5.7. Si MySQL ou MariaDB n'est pas installé sur votre serveur, vous pouvez consulter ce guide.
Connectez-vous au shell MySQL :
mysql -u root -p Et exécutez les commandes suivantes pour créer une nouvelle base de données et un nouvel utilisateur et accordez des privilèges à cet utilisateur sur la base de données nouvellement créée :
CREATE DATABASE magento;GRANT ALL ON magento.* TO magento@localhost IDENTIFIED BY 'P4ssvv0rD';
Installer les extensions PHP #
Nous supposons que vous avez déjà activé le référentiel PHP 7.1 Remi à l'aide de notre guide.
Installez toutes les extensions PHP requises avec la commande suivante :
sudo yum install php-mysql php-opcache php-xml php-mcrypt php-gd php-soap php-redis php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-zip
Une fois l'installation terminée, définissez les options PHP requises et recommandées en modifiant le php.ini fichier avec sed :
sudo sed -i "s/memory_limit = .*/memory_limit = 756M/" /etc/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php.d/10-opcache.ini
Installer le compositeur #
Composer est un gestionnaire de dépendances pour PHP qui est utilisé pour installer, mettre à jour et gérer les bibliothèques.
Pour installer composerglobally, téléchargez le programme d'installation de Composer avec curl et déplacez le fichier vers /usr/local/bin répertoire :
curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer
Créer un nouveau numéro d'utilisateur système
Créez un nouvel utilisateur et groupe, qui exécutera notre installation Magento, pour plus de simplicité nous nommerons notre utilisateur magento :
sudo useradd -m -U -r -d /opt/magento magento
Ajouter le nginx utilisateur au magento groupand changer le /opt/magento autorisations de répertoire pour que le Nginx puisse accéder à notre installation Magento :
sudo usermod -a -G magento nginxsudo chmod 750 /opt/magento
Configurer PHP FPM #
Ensuite, nous devons configurer PHP et créer un pool FPM pour notre magento utilisateur.
Ouvrez votre éditeur de texte et créez le fichier suivant :
/etc/php-fpm.d/magento.conf[magento]
user = magento
group = nginx
listen.owner = magento
listen.group = nginx
listen = /run/php-fpm/magento.sock
pm = ondemand
pm.max_children = 50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /
Enregistrez le fichier et redémarrez le service PHP FPM pour que les modifications prennent effet :
sudo systemctl restart php-fpm Installer Magento #
Il existe plusieurs façons d'installer Magento. Évitez d'installer Magento à partir du référentiel Github car cette version est destinée au développement et non aux installations de production. Dans ce didacticiel, nous allons installer Magento à partir de leurs référentiels à l'aide de composer.
Passez à l'utilisateurmagento :
sudo su - magento
Démarrez l'installation en téléchargeant les fichiers magento sur /opt/magento/public_html répertoire :
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html
Lors de la création du projet, le compositeur vous demandera de saisir les clés d'accès, de copier les clés de votre compte marketplace Magento et de les stocker dans le auth.json fichier, ainsi plus tard lors de la mise à jour de votre installation, vous n'aurez pas à ajouter à nouveau les mêmes clés.
Authentication required (repo.magento.com):
Username: e758ec1745d190520ca246e4e832e12c
Password:
Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? [Yn]
Une fois le projet créé, nous pouvons commencer l'installation. Nous pouvons installer Magento soit en utilisant la ligne de commande, soit en utilisant l'assistant de configuration Web. Dans ce tutoriel, nous allons installer Magento en utilisant la ligne de commande.
Nous utiliserons les options suivantes pour installer notre boutique Magento :
- Les URL sécurisées de base et de base sont définies sur
https://example.com, remplacez-le par votre domaine. - Administrateur Magento :
JohnDoecomme prénom et nom.[email protected]par e-mail.Johncomme nom d'utilisateur etj0hnP4ssvv0rDcomme mot de passe.
- Nom de la base de données
magento, nom d'utilisateurmagento, mot de passeP4ssvv0rD, et le serveur de base de données se trouve sur le même hôte que le serveur Web. en_US, anglais américain comme langue par défaut.USDdollars comme devise par défaut.America/Chicagocomme fuseau horaire.
Passez à Magento ~/public_html répertoire :
cd ~/public_html Exécutez la commande suivante pour démarrer l'installation :
php bin/magento setup:install --base-url=https://example.com/ \
--base-url-secure=https://example.com/ \
--admin-firstname="John" \
--admin-lastname="Doe" \
--admin-email="[email protected]" \
--admin-user="john" \
--admin-password="j0hnP4ssvv0rD" \
--db-name="magento" \
--db-host="localhost" \
--db-user="magento" \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1 \
--db-password="P4ssvv0rD"
N'oubliez pas de changer le mot de passe (j0hnP4ssvv0rD ) à quelque chose de plus sûr. Si l'installation réussit, un message contenant l'URI du tableau de bord d'administration de Magento s'affichera.
[Progress: 485 / 485]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1csalp
Nothing to import.
Créer le crontab Magento #
Magento utilise des tâches cron pour planifier des tâches telles que la réindexation, les notifications, les plans de site, les e-mails, etc.
Pour créer la crontab Magento, exécutez la commande suivante en tant que magento utilisateur :
php ~/public_html/bin/magento cron:install Nous pouvons vérifier que la crontab est installée en exécutant :
crontab -l #~ MAGENTO START adc062915d7b30804a2b340095af072d
* * * * * /usr/bin/php /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log
* * * * * /usr/bin/php /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log
* * * * * /usr/bin/php /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log
#~ MAGENTO END adc062915d7b30804a2b340095af072d
Configurer Nginx #
Si vous avez suivi notre guide LEMP sur CentOS 7, Nginx devrait déjà être installé sur votre machine. Il ne nous reste plus qu'à créer un nouveau bloc serveur pour notre installation Magento. Nous allons inclure la configuration Nginx par défaut livrée avec magento :
/etc/nginx/conf.d/example.com.confupstream fastcgi_backend {
server unix:/run/php-fpm/magento.sock;
}
server {
listen 80;
server_name example.com www.example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
set $MAGE_ROOT /opt/magento/public_html;
set $MAGE_MODE developer; # or production
access_log /var/log/nginx/example.com-access.log;
error_log /var/log/nginx/example.com-error.log;
include /opt/magento/public_html/nginx.conf.sample;
}
Rechargez le service Nginx pour que les modifications prennent effet :
sudo systemctl reload nginx
Enfin, vous devriez pouvoir vous connecter à votre installation Magento sur https://example.com/admin_1csalp en utilisant l'utilisateur admin que vous avez spécifié lors de l'exécution du programme d'installation de Magento.