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

Comment installer Shopware 6 avec NGINX et Lets Encrypt sur CentOS 8

Shopware est une plate-forme gratuite et open source qui vous aide à démarrer votre propre site Web de commerce électronique pour dynamiser votre activité en ligne. Il fournit de nombreux outils utiles qui vous aident à créer et à personnaliser une boutique en ligne entièrement réactive. Il est très similaire à Magento. Comparé à Magento, Shopware est une application très puissante, facile à utiliser et flexible. Il vous aide à créer et à gérer facilement du contenu et des produits depuis n'importe quel appareil grâce à son interface utilisateur moderne.

Dans ce tutoriel, nous allons vous montrer comment installer Shopware avec Nginx et Let's Encrypt SSL sur CentOS 8.

Prérequis

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

Installer le serveur LEMP

Shopware fonctionne sur un serveur Web et construit sur PHP avec des composants Symfony et Zend, et utilise MySQL ou MariaDB comme backend de base de données. Vous devrez donc installer Nginx, MariaDB, PHP et d'autres extensions sur votre serveur. Vous pouvez tous les installer avec la commande suivante :

dnf installer nginx mariadb-server php php-cli php-intl php-fpm php-common php-mysqli php-curl php-json php-zip php-gd php-xml php-mbstring php-opcache unzip -y 

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

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

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer PHP-FPM

Par défaut, PHP-FPM est configuré pour s'exécuter en tant qu'utilisateur et groupe apache. Vous devrez donc le configurer pour qu'il s'exécute en tant qu'utilisateur et groupe Nginx. Vous pouvez le faire en éditant le fichier /etc/php-fpm.d/www.conf :

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

Modifiez les lignes suivantes :

utilisateur =nginx groupe =nginx 

Enregistrez et fermez le fichier, puis créez un répertoire de session et définissez le propriétaire approprié avec la commande suivante :

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

Ensuite, éditez le fichier php.ini et ajustez quelques paramètres recommandés :

nano /etc/php.ini

Modifiez les lignes suivantes :

memory_limit =512Mupload_max_filesize =20Mdate.timezone =Asie/Kolkata

Enregistrez et fermez le fichier puis redémarrez le service PHP-FPM pour appliquer les modifications :

systemctl redémarrer php-fpm

Créer une base de données pour Shopware

Ensuite, vous devrez créer une base de données et un utilisateur pour Shopware. Tout d'abord, connectez-vous à MariaDB à l'aide de la commande suivante :

mysql

Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :

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

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

MariaDB [(none)]> FLUSH PRIVILEGES ;
MariaDB [(none)]> EXIT ;

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Télécharger des logiciels d'achat

Ensuite, vous devrez télécharger la dernière version de Shopware pour son site officiel. Tout d'abord, créez un répertoire pour Shopware dans le répertoire racine de Nginx :

mkdir /var/www/html/shopware

Ensuite, téléchargez le Shopware avec la commande suivante :

wget https://www.shopware.com/en/Download/redirect/version/sw6/file/install_v6.3.5.0_ba08dbfc07784b5cefe7837f2abbda69dbf5b8b7.zip -O shopware.zip

Une fois le téléchargement terminé, extrayez le fichier téléchargé dans le répertoire du shopware :

décompressez shopware.zip -d /var/www/html/shopware

Ensuite, définissez l'autorisation et la propriété appropriées avec la commande suivante :

chown -R nginx:nginx /var/www/html/shopware
chmod -R 775 /var/www/html/shopware

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer Nginx pour Shopware

Ensuite, créez un fichier de configuration d'hôte virtuel Nginx pour Shopware avec la commande suivante :

nano /etc/nginx/conf.d/shopware.conf

Ajoutez les lignes suivantes :

serveur { écoute 80 ; # Gérer / pour index.php index index.php; # Notre nom de serveur server_name shopware.example.com ; # Où se trouve le code root /var/www/html/shopware/public ; # Nécessaire pour l'installation de Shopware / emplacement de mise à jour /recovery/install { index index.php; try_files $uri /recovery/install/index.php$is_args$args; } emplacement /recovery/update/ { if (!-e $request_filename){ rewrite . /recovery/update/index.php dernier ; } } # Transférer tout fichier introuvable vers index.php. Permet aussi d'avoir de belles urls comme /homemade-products/ location / { try_files $uri /index.php$is_args$args; } # Laisser php-fpm gérer l'emplacement des fichiers .php ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; inclure fastcgi.conf ; fastcgi_param HTTP_PROXY "" ; fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; fastcgi_read_timeout 300s ; client_body_buffer_size 128k ; fastcgi_pass unix:/run/php-fpm/www.sock; http2_push_preload activé ; }}

Enregistrez et fermez le fichier puis vérifiez le Nginx pour toute erreur de syntaxe avec la commande suivante :

nginx -t

Vous devriez obtenir le résultat suivant :

nginx :la syntaxe du fichier de configuration /etc/nginx/nginx.conf est oknginx :le test du fichier de configuration /etc/nginx/nginx.conf est réussi

Ensuite, redémarrez le service Nginx pour appliquer les modifications :

systemctl redémarrer nginx

Vous pouvez également vérifier le statut Nginx à l'aide de la commande ci-dessous :

statut systemctl nginx

Vous devriez obtenir le résultat suivant :

 ? nginx.service - Le serveur HTTP et proxy inverse nginx Chargé :chargé (/usr/lib/systemd/system/nginx.service ; désactivé ; préréglage du fournisseur :désactivé) Drop-In :/usr/lib/systemd/system/nginx. service.d ??php-fpm.conf Actif :actif (en cours d'exécution) depuis mar 2021-02-02 00:40:04 EST ; Il y a 19 s Processus :76059 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Processus :76057 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Processus :76054 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) PID principal :76060 (nginx) Tâches :3 (limite :12523) Mémoire :5,5 M CGroup :/ system.slice/nginx.service ??76060 nginx :processus maître /usr/sbin/nginx ??76061 nginx :processus de travail ??76062 nginx :processus de travailFeb 02 00:40:04 centos8 systemd[1] :Arrêté Le HTTP nginx et serveur proxy inverse.Fév 02 00:40:04 centos8 systemd[1] :Démarrage du serveur HTTP nginx et proxy inverse...Fév 02 00:40:04 centos8 nginx[76057] :nginx :le fichier de configuration /etc/ La syntaxe nginx/nginx.conf est okFév 02 00:40:04 centos8 nginx[76057] :nginx :le test du fichier de configuration /etc/nginx/nginx.conf est réussiFév 02 00:40:04 centos8 systemd[1] :Démarré Le nginx HTTP et serveur proxy inverse.

Configurer SELinux et le pare-feu

Par défaut, SELinux est activé dans CentOS 8. Vous devrez donc configurer le contexte SELinux pour Shopware. Vous pouvez le configurer avec la commande suivante :

setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/shopware

Ensuite, autorisez les ports 80 et 443 via le pare-feu avec la commande suivante :

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

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Accéder à l'interface Web de Shopware

Maintenant, ouvrez votre navigateur Web et tapez l'URL http://shopware.example.com .

Sélectionnez votre langue et cliquez sur Suivant bouton. Assurez-vous que toutes les conditions sont remplies, puis cliquez sur Suivant bouton. Vous devriez voir la page suivante :

Acceptez les CGV et cliquez sur Suivant bouton. Vous devriez voir la page suivante :

Indiquez votre base de données, votre nom d'utilisateur, votre mot de passe et cliquez sur Démarrer installation bouton. Une fois l'installation terminée, vous devriez voir la page suivante :

Cliquez sur la page suivante. Il vous sera demandé de fournir le nom de votre boutique, votre adresse e-mail, votre devise, votre pays, votre nom d'utilisateur d'administrateur, votre mot de passe et de cliquer sur Suivant bouton. Vous serez redirigé vers le tableau de bord Shopware :

Fournissez toutes les informations et cliquez sur le bouton Suivant. Vous devriez voir la page suivante :

Installez les plugins de langue souhaités et cliquez sur Suivant bouton. Vous devriez voir la page suivante :

Installez les données de démonstration ou ignorez ceci et cliquez sur Suivant bouton. Vous devriez voir la page suivante :

Cliquez sur Configurer plus tard . Vous devriez voir la page suivante :

Cliquez sur Ignorer bouton. Vous devriez voir la page suivante :

Cliquez sur Suivant bouton. Vous devriez voir la page suivante :

Cliquez sur Ignorer bouton. Vous devriez voir la page suivante :

Cliquez sur Terminer bouton. Vous devriez voir la page d'accueil de Shopware :

Sécuriser les achats en ligne avec Let's Encrypt SSL

Ensuite, vous devrez installer l'utilitaire Certbot sur votre système pour télécharger et installer Let's Encrypt SSL pour le domaine Let's Chat.

Vous pouvez installer le client Certbot avec 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

Ensuite, obtenez et installez un certificat SSL pour votre domaine Lets avec la commande suivante :

certbot-auto --nginx -d shopware.example.com

La commande ci-dessus installera d'abord toutes les dépendances requises sur votre serveur. Une fois installé, il vous sera demandé de fournir une adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :

Enregistrement du journal de débogage dans /var/log/letsencrypt/letsencrypt.logPlugins sélectionnés :authentificateur nginx, installateur nginxEntrez l'adresse e-mail (utilisée pour les renouvellements urgents et les avis de sécurité) (Entrez 'c' pour annuler) :[email protected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Veuillez lire les conditions d'utilisation sur https://letsencrypt.org /documents/LE-SA-v1.2-15-novembre-2017.pdf. Vous devez accepter afin de vous inscrire auprès du serveur ACME sur https://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel:A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Seriez-vous prêt à partager votre adresse e-mail avec l'Electronic FrontierFoundation, un partenaire fondateur du projet Let's Encrypt et l'organisation à but non lucratif qui développe Certbot ? Nous aimerions vous envoyer un e-mail sur notre travail de cryptage du Web, les actualités de l'EFF, les campagnes et les moyens de soutenir la liberté numérique.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(O)oui/(N)o :OBtention d'un nouveau certificatRéalisation des défis suivants :Challenge http-01 pour shopware.exemple.comEn attente de vérification...Nettoyage relever des défisDéploiement d'un certificat sur VirtualHost /etc/nginx/conf.d/shopware.conf

Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS comme indiqué ci-dessous :

Veuillez choisir de rediriger ou non le trafic HTTP vers HTTPS, en supprimant l'accès HTTP.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1 :Pas de redirection - N'apporter aucune autre modification à la configuration du serveur Web.2 :Redirection - Rediriger toutes les requêtes vers un accès HTTPS sécurisé. Choisissez ceci pour les nouveaux sites ou si vous êtes sûr que votre site fonctionne sur HTTPS. Vous pouvez annuler cette modification en modifiant la configuration de votre serveur Web.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Sélectionnez le numéro approprié [1-2] puis [enter] (appuyez sur 'c' pour annuler) :2

Tapez 2 et appuyez sur Entrée pour continuer. Une fois l'installation terminée, vous devriez voir la sortie suivante :

Redirection de tout le trafic sur le port 80 vers SSL dans /etc/nginx/conf.d/shopware.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Toutes nos félicitations! Vous avez activé avec succès https://shopware.example.comVous devriez tester votre configuration sur :https://www.ssllabs.com/ssltest/analyze.html?d=shopware.example.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - REMARQUES IMPORTANTES :- Félicitations ! Votre certificat et votre chaîne ont été enregistrés sur :/etc/letsencrypt/live/shopware.example.com/fullchain.pem Votre fichier de clé a été enregistré sur :/etc/letsencrypt/live/shopware.example.com/privkey.pem Votre cert expirera le 2021-04-2. Pour obtenir une nouvelle version ou une version modifiée de ce certificat à l'avenir, exécutez simplement certbot-auto à nouveau avec l'option "certonly". Pour renouveler *tous* vos certificats de manière non interactive, exécutez "certbot-auto refresh" - Si vous aimez Certbot, veuillez envisager de soutenir notre travail en :faisant un don à ISRG / Let's Encrypt :https://letsencrypt.org/donate FEP :https://eff.org/donate-le

Vous pouvez désormais accéder à Shopware en toute sécurité à l'aide de l'URL https://shopware.example.com.

Conclusion

Toutes nos félicitations! vous avez installé et configuré avec succès Shopware avec Nginx et Let's Encrypt SSL sur CentOS 8. Vous pouvez désormais héberger facilement votre propre boutique en ligne avec Shopware. N'hésitez pas à me demander si vous avez des questions.


Cent OS
  1. Comment installer Nextcloud avec Nginx et PHP 7.3 sur CentOS 8

  2. Comment installer ownCloud 9.1 avec Nginx et MariaDB sur CentOS 7

  3. Comment installer Nextcloud avec Nginx et PHP7-FPM sur CentOS 7

  4. Comment installer Laravel 5.x avec Nginx et PHP-FPM 7.1 sur CentOS 7

  5. Comment installer Let's Encrypt sur CentOS 8 avec Nginx

Comment installer Vanila Forum et le sécuriser avec Lets Encrypt sur CentOS 8

Comment installer Askbot avec Nginx et sécuriser avec Lets Encrypt sur CentOS 8

Comment installer Shopware 6 avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer Shopware avec NGINX et Lets encrypt sur Debian 9

Comment installer OwnCloud 8 avec Nginx et PHP-FPM sur CentOS 6

Comment installer Let's Encrypt SSL avec Nginx sur CentOS 7