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

Comment installer Magento sur CentOS 8

Magento est l'une des plateformes de commerce électronique open source les plus populaires qui vous permet de configurer des sites Web de commerce électronique et des boutiques en ligne en quelques minutes. Il est écrit en PHP, basé sur Zend Framework et utilise le modèle de base de données Entity Attribute Value (EAV) pour stocker les données. Il est livré avec une interface simple et conviviale qui vous permet de personnaliser votre boutique en ligne et de vendre facilement vos produits et services.

Dans ce tutoriel, nous allons vous montrer comment installer la plate-forme de commerce électronique Magento sur CentOS 8 avec Let's Encrypt SSL gratuit.

Exigences

  • Un serveur exécutant CentOS 8 avec 2 Go de RAM.
  • Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur le serveur.

Installer le serveur LEMP

Tout d'abord, installez le serveur Web Nginx, le serveur de base de données MariaDB, PHP et les autres bibliothèques PHP requises en exécutant la commande suivante :

dnf install nginx mariadb-server php php-cli php-mysqlnd php-opcache php-xml php-gd php-soap php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-zip unzip git -y

Une fois tous les packages installés, démarrez le service Nginx, MariaDB et PHP-FPM et autorisez-les à démarrer après le redémarrage du système avec la commande suivante :

systemctl start nginx
systemctl start mariadb
systemctl start php-fpm
systemctl enable nginx
systemctl enable mariadb
systemctl enable php-fpm

Ensuite, vous devrez modifier le fichier php.ini et modifier certains paramètres :

nano /etc/php.ini

Modifiez les lignes suivantes :

memory_limit =512M
upload_max_filesize = 200M
zlib.output_compression = On 
max_execution_time = 300 
date.timezone = Asia/Kolkata

Enregistrez et fermez le fichier lorsque vous avez terminé.

Configurer la base de données

Par défaut, MariaDB n'est pas sécurisée, vous devrez donc d'abord la sécuriser. Exécutez le script suivant pour sécuriser MariaDB :

mysql_secure_installation

Répondez à toutes les questions comme indiqué ci-dessous :

Enter current password for root (enter for none): 
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
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

Une fois que vous avez terminé, connectez-vous au shell MariaDB avec la commande suivante :

mysql -u root -p

Fournissez votre mot de passe root lorsque vous y êtes invité, puis créez une base de données et un utilisateur pour Magento comme indiqué ci-dessous :

MariaDB [(none)]> CREATE DATABASE magentodb;
MariaDB [(none)]> GRANT ALL ON magentodb.* TO [email protected] IDENTIFIED BY 'password';

Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Configurer PHP-FPM pour Magento

Ensuite, vous devrez configurer le pool PHP-FPM pour votre instance Magento. Vous pouvez le configurer en créant le fichier suivant :

nano /etc/php-fpm.d/magento.conf

Ajoutez les lignes suivantes :

[magento]
user = nginx
group = nginx
listen.owner = nginx
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 et fermez le fichier puis redémarrez le service PHP-FPM pour implémenter les modifications :

systemctl restart php-fpm

Télécharger Magento

Tout d'abord, téléchargez la dernière version de Magento depuis le dépôt Git à l'aide de la commande suivante :

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

Une fois téléchargé, décompressez le fichier téléchargé comme indiqué ci-dessous :

unzip 2.3.zip

Ensuite, déplacez le répertoire extrait vers magento2 comme indiqué ci-dessous :

mv magento2-2.3 magento2

Ensuite, vous devrez installer le Composer pour installer les dépendances PHP pour Magento.

Vous pouvez installer Composer avec la commande suivante :

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Ensuite, changez le répertoire en magento2 et installez toutes les dépendances de Magento avec la commande suivante :

cd /var/www/html/magento2
composer update
composer install

Ensuite, vous devrez créer la crontab Magento pour planifier les tâches. Vous pouvez le créer avec la commande suivante :

./bin/magento cron:install

Vous pouvez vérifier la crontab à l'aide de la commande suivante :

crontab -l

Vous devriez obtenir le résultat suivant :

#~ MAGENTO START f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /var/www/html/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/update/cron.php >> /var/www/html/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento setup:cron:run >> /var/www/html/magento2/var/log/setup.cron.log
#~ MAGENTO END f73db5f5dcf223372d4c9fab56bef0c1730eece898fad5cbee0c313b46b0dd1f

Ensuite, donnez les autorisations appropriées au répertoire magento2 :

chown -R nginx:nginx /var/www/html/magento2
chmod -R 755 /var/www/html/magento2

Configurer Nginx pour Magento

Ensuite, vous devrez créer un fichier d'hôte virtuel Nginx pour Magento. Vous pouvez le créer avec la commande suivante :

nano /etc/nginx/conf.d/magento.conf

Ajoutez les lignes suivantes :

upstream fastcgi_backend {
  server   unix:/run/php-fpm/magento.sock;
}

server {
    listen 80;
    server_name magento.linuxbuz.com;

    set $MAGE_ROOT /var/www/html/magento2;
    set $MAGE_MODE developer;

    access_log /var/log/nginx/magento-access.log;
    error_log /var/log/nginx/magento-error.log;

    include /var/www/html/magento2/nginx.conf.sample;
}

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez Nginx et le service PHP-FPM pour mettre en œuvre les modifications :

systemctl restart php-fpm
systemctl restart nginx

Configurer SELinux et le pare-feu

Par défaut, SELinux est activé dans CentOS 8. Vous devrez donc configurer SELinux pour que Magento fonctionne correctement.

Vous pouvez configurer SELinux avec la commande suivante :

semanage permissive -a httpd_t

Ensuite, vous devrez créer une règle de pare-feu pour autoriser les services HTTP et HTTPS à partir de réseaux externes. Vous pouvez l'autoriser avec la commande suivante :

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

Sécuriser Magento avec Let's Encrypt SSL

Magento est maintenant installé et configuré. Il est temps de le sécuriser avec Let's Encrypt SSL gratuit.

Pour ce faire, vous devrez télécharger le client certbot sur votre serveur. Vous pouvez télécharger et définir l'autorisation appropriée en exécutant la commande suivante :

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Maintenant, exécutez la commande suivante pour obtenir et installer un certificat SSL pour votre site Web Magento.

certbot-auto --nginx -d magento.linuxbuz.com

La commande ci-dessus installe d'abord toutes les dépendances requises comme indiqué ci-dessous :

Installed:
  gcc-8.2.1-3.5.el8.x86_64                                                  mod_ssl-1:2.4.37-12.module_el8.0.0+185+5908b0db.x86_64             
  python3-virtualenv-15.1.0-18.module_el8.0.0+33+0a10c0e1.noarch            python36-devel-3.6.8-2.module_el8.0.0+33+0a10c0e1.x86_64           
  redhat-rpm-config-116-1.el8.0.1.noarch                                    augeas-libs-1.10.1-8.el8.x86_64                                    
  libffi-devel-3.1-18.el8.x86_64                                            openssl-devel-1:1.1.1-8.el8.x86_64                                 
  annobin-8.64-1.el8.x86_64                                                 cpp-8.2.1-3.5.el8.x86_64                                           
  dwz-0.12-9.el8.x86_64                                                     efi-srpm-macros-3-2.el8.noarch                                     
  ghc-srpm-macros-1.4.2-7.el8.noarch                                        go-srpm-macros-2-16.el8.noarch                                     
  isl-0.16.1-6.el8.x86_64                                                   libmpc-1.0.2-9.el8.x86_64                                          
  ocaml-srpm-macros-5-4.el8.noarch                                          openblas-srpm-macros-2-2.el8.noarch                                
  perl-srpm-macros-1-25.el8.noarch                                          platform-python-devel-3.6.8-2.el8_0.0.1.x86_64                     
  python-rpm-macros-3-37.el8.noarch                                         python-srpm-macros-3-37.el8.noarch                                 
  python3-rpm-generators-5-4.el8.noarch                                     python3-rpm-macros-3-37.el8.noarch                                 
  qt5-srpm-macros-5.11.1-2.el8.noarch                                       rust-srpm-macros-5-2.el8.noarch                                    
  glibc-devel-2.28-42.el8.1.x86_64                                          glibc-headers-2.28-42.el8.1.x86_64                                 
  kernel-headers-4.18.0-80.11.2.el8_0.x86_64                                keyutils-libs-devel-1.5.10-6.el8.x86_64                            
  krb5-devel-1.16.1-22.el8.x86_64                                           libcom_err-devel-1.44.3-2.el8.x86_64                               
  libkadm5-1.16.1-22.el8.x86_64                                             libselinux-devel-2.8-6.el8.x86_64                                  
  libsepol-devel-2.8-2.el8.x86_64                                           libverto-devel-0.3.0-5.el8.x86_64                                  
  libxcrypt-devel-4.1.1-4.el8.x86_64                                        pcre2-devel-10.32-1.el8.x86_64                                     
  pcre2-utf16-10.32-1.el8.x86_64                                            pcre2-utf32-10.32-1.el8.x86_64                                     
  zlib-devel-1.2.11-10.el8.x86_64                                          

Complete!
Creating virtual environment...
Installing Python packages...
Installation succeeded.

Une fois toutes les dépendances installées, il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for magento.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/magento.conf

Ensuite, vous devrez choisir de rediriger ou non le trafic HTTP vers HTTPS comme indiqué ci-dessous :

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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  

Tapez 2 et appuyez sur Entrée pour installer le certificat SSL Let's Encrypt pour votre domaine comme indiqué ci-dessous :

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/magento.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://magento.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=magento.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/magento.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/magento.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-03-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Accéder à Magento

Magento est maintenant installé et configuré. Il est temps d'accéder à l'assistant d'installation de Magento.

Ouvrez votre navigateur Web et tapez l'URL https://magento.linuxbuz.com. Vous allez être redirigé vers la page d'accueil de Magento :

Cliquez sur Accepter et configurer Magento bouton. Vous devriez voir l'assistant de vérification de l'état de préparation de Magento :

Maintenant, cliquez sur Suivant bouton. Vous devriez voir la page suivante :

Fournissez les détails de votre base de données et cliquez sur Suivant bouton. Vous devriez voir la page suivante :

Maintenant, fournissez votre boutique Magento et l'URL d'administration, puis cliquez sur Suivant bouton. Vous devriez voir la page suivante :

Sélectionnez votre fuseau horaire, votre devise, votre langue et cliquez sur Suivant bouton. Vous devriez voir la page suivante :

Maintenant, fournissez votre nom d'utilisateur et votre mot de passe d'administrateur Magento et cliquez sur Suivant bouton. Vous devriez voir la page suivante :

Maintenant, cliquez sur Installer Maintenant bouton pour lancer l'installation de Magento. Une fois l'installation terminée avec succès. Vous devriez voir la page suivante :

Maintenant, cliquez sur L'adresse de votre magasin bouton. Vous devriez voir votre boutique Magento sur la page suivante :

Pour accéder à votre interface d'administration Magento, saisissez l'URL https://magento.linuxbuz.com/admin_1teqss sur votre navigateur Web. Vous serez redirigé vers la page de connexion Magento :

Fournissez votre nom d'utilisateur et votre mot de passe d'administrateur Magento et cliquez sur Signer dans bouton. Vous devriez voir votre interface d'administration Magento sur la page suivante :

C'est tout pour le moment. Votre Magento est maintenant sécurisé avec le SSL gratuit Let's Encrypt.


Cent OS
  1. Comment installer MongoDB sur CentOS 8

  2. Comment installer R sur CentOS 7

  3. Comment installer R sur CentOS 8

  4. Comment installer Apache Cassandra sur CentOS 7

  5. Comment installer XWiki sur CentOS 7

Comment installer Magento sur CentOS 8

Comment installer Apache dans CentOS 8

Comment installer Java sur CentOS 8

Comment installer Yarn sur CentOS 8

Comment installer la métabase sur CentOS 8

Comment installer Jenkins sur CentOS 8