GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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

Shopware CE est une plate-forme de commerce électronique gratuite et open-source écrite en Symfony et Vue.js. Il est basé sur une pile technologique assez moderne et une très bonne alternative à une autre application de commerce électronique, comme Magento. Il s'agit d'une application très puissante et flexible qui vous donne la liberté de tirer parti rapidement et facilement de votre potentiel de croissance et de vous concentrer sur l'expérience client parfaite. Il fournit une interface d'administration simple et facile à utiliser pour la gestion des clients et des commandes. Il vous permet de gérer les prix des produits, de modifier ou de mettre à jour les thèmes, de concevoir des modèles d'e-mails pour commercialiser vos produits et de générer des résultats statistiques.

Dans ce tutoriel, nous allons vous montrer comment installer Shopware CE avec Nginx et Let's Encrypt sur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04 avec un minimum de 4 Go de RAM.
  • Un nom de domaine valide pointé vers votre serveur.
  • Un mot de passe root est configuré sur votre serveur.

Installer Nginx et MariaDB

Commencez par installer le serveur Web Nginx et le serveur de base de données MariaDB à l'aide de la commande suivante :

apt-get install nginx mariadb-server -y

Une fois les deux packages installés, démarrez les services Nginx et MariaDB et autorisez-les à démarrer au démarrage du système :

systemctl start nginx
systemctl start mariadb
systemctl enable nginx
systemctl enable mariadb

Installer PHP et d'autres composants

Shopware 6 prend en charge les versions PHP entre 7.2 et 7.3. Vous devrez donc installer PHP avec d'autres bibliothèques sur votre système.

Tout d'abord, ajoutez le référentiel PHP dans votre système avec la commande suivante :

apt-get install software-properties-common -y
add-apt-repository ppa:ondrej/php

Une fois le référentiel ajouté, installez PHP avec d'autres bibliothèques à l'aide de la commande suivante :

apt-get install php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mysql php7.2-curl php7.2-json php7.2-zip php7.2-gd php7.2-xml php7.2-mbstring php7.2-intl php7.2-opcache git unzip socat curl bash-completion -y

Une fois tous les packages installés, modifiez le fichier php.ini et modifiez les paramètres souhaités :

nano /etc/php/7.2/fpm/php.ini

Modifiez les lignes suivantes :

memory_limit = 512M
upload_max_filesize = 20M
max_execution_time = 300

Enregistrez et fermez le fichier lorsque vous avez terminé.

Ensuite, vous devrez installer le chargeur IonCube sur votre système.

Tout d'abord, téléchargez-le avec la commande suivante :

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

Une fois téléchargé, extrayez le fichier téléchargé avec la commande suivante :

tar xfz ioncube_loaders_lin_x86-64.tar.gz

Ensuite, localisez le chemin du répertoire de l'extension PHP :

php -i | grep extension_dir

Vous devriez voir le résultat suivant :

extension_dir => /usr/lib/php/20190902 => /usr/lib/php/20190902

Ensuite, copiez le chargeur IonCube dans le répertoire de l'extension PHP :

cp ioncube/ioncube_loader_lin_7.2.so /usr/lib/php/20180731/

Ensuite, éditez le fichier php.ini et définissez le chargeur IonCube :

nano /etc/php/7.2/fpm/php.ini

Ajoutez la ligne suivante dans la section [PHP] :

zend_extension = /usr/lib/php/20180731/ioncube_loader_lin_7.2.so

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

systemctl restart php7.2-fpm

Configurer la base de données MariaDB

Tout d'abord, sécurisez l'installation de MariaDB et définissez le mot de passe root à l'aide du script suivant :

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 MariaDB puis créez une base de données et un utilisateur pour Shopware :

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

Ensuite, videz les privilèges et quittez MariaDB à l'aide de la commande suivante :

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

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

Installer Composer

Composer est un gestionnaire de dépendances pour PHP. Il est utilisé pour installer toutes les dépendances PHP nécessaires à l'installation de Shopware.

Vous pouvez l'installer à l'aide de la commande curl comme indiqué ci-dessous :

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

Une fois installé, vérifiez la version de Composer avec la commande suivante :

composer --version

Vous devriez obtenir le résultat suivant :

Composer version 1.10.7 2020-06-03 10:03:56

Télécharger des logiciels d'achat

Tout d'abord, créez un répertoire pour Shopware dans le répertoire racine Web de Nginx :

mkdir /var/www/html/shopware

Ensuite, changez le répertoire en shopware et téléchargez la dernière version de Shopware à l'aide de la commande suivante :

cd /var/www/html/shopware
wget https://www.shopware.com/en/Download/redirect/version/sw6/file/install_6.2.2_1592398977.zip

Une fois téléchargé, décompressez le fichier téléchargé avec la commande suivante :

unzip install_6.2.2_1592398977.zip

Ensuite, installez toutes les dépendances PHP à l'aide de la commande suivante :

composer install

Ensuite, changez le propriétaire du répertoire du shopware et accordez les autorisations appropriées à l'aide de la commande suivante :

chown -R www-data:www-data /var/www/html/shopware
chmod -R 755 /var/www/html/shopware

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

Configurer Nginx pour Shopware

Tout d'abord, créez un nouveau fichier de configuration d'hôte virtuel Nginx pour Shopware :

nano /etc/nginx/sites-available/shopware.conf

Ajoutez les lignes suivantes :

server {
    listen 80;

    index index.php index.html;
    server_name shopware.linuxbuz.com;
    root /var/www/html/shopware/public;

    location /recovery/install {
        index index.php;
        try_files $uri /recovery/install/index.php$is_args$args;
    }

    location /recovery/update/ {
        location /recovery/update/assets {
        }
        if (!-e $request_filename){
            rewrite . /recovery/update/index.php last;
        }
    }

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi.conf;
        fastcgi_param HTTP_PROXY "";
        fastcgi_buffers 8 16k;
        fastcgi_buffer_size 32k;
        client_max_body_size 24M;
        client_body_buffer_size 128k;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        http2_push_preload on;
    }
}

Enregistrez et fermez le fichier puis activez le fichier d'hôte virtuel Shopware avec la commande suivante :

ln -s /etc/nginx/sites-available/shopware.conf /etc/nginx/sites-enabled/

Ensuite, vérifiez le Nginx pour toute erreur de syntaxe en utilisant la commande suivante :

nginx -t

Vous devriez obtenir le résultat suivant :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

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

systemctl reload nginx

Assistant d'installation d'Access Shopware

À ce stade, Shopware est installé sur votre système. Maintenant, ouvrez votre navigateur Web et tapez l'URL http://shopware.linuxbuz.com. Vous devriez voir l'assistant d'installation Web de Shopware :

Sélectionnez votre langue et cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Assurez-vous que toutes les dépendances requises sont installées, puis cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Acceptez les termes et conditions et cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Fournissez les détails de votre base de données et cliquez sur Démarrer l'installation bouton. Une fois l'installation terminée avec succès, vous devriez voir l'écran suivant :

Maintenant, cliquez sur Suivant bouton. Vous devriez voir l'écran de configuration de Shopware :

Indiquez le nom de votre boutique, votre adresse e-mail, votre pays, votre adresse e-mail d'administrateur, votre nom d'utilisateur d'administrateur, votre mot de passe et cliquez sur Suivant bouton. Vous serez redirigé vers l'écran du tableau de bord Shopware :

Cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Installez les données souhaitées et cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Sélectionnez l'agent de messagerie souhaité et cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Sélectionnez l'option souhaitée et cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Configurez votre PayPal ou cliquez sur Ignorer bouton. Vous devriez voir l'écran suivant :

Configurez vos identifiants PayPal ou cliquez sur Ignorer bouton. Vous devriez voir l'écran suivant :

Sélectionnez votre région et cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Cliquez sur Ignorer bouton. Une fois le Shopware configuré, vous devriez voir l'écran suivant :

Cliquez sur Terminer bouton. Vous devriez voir le tableau de bord Shopware dans l'écran suivant :

Securiser les achats avec Let's Encrypt

Avant de commencer, vous devrez installer le client Certbot sur votre système pour installer et gérer le SSL Let's Encrypt. Vous pouvez l'installer à l'aide de la commande suivante :

apt-get install certbot python3-certbot-nginx -y

Une fois le client Certbot installé, exécutez la commande suivante pour télécharger et installer Let's Encrypt SSL pour votre site Web :

certbot --nginx -d shopware.linuxbuz.com

Indiquez votre adresse e-mail et acceptez 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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for shopware.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/shopware.conf

Choisissez de rediriger ou non le trafic HTTP vers HTTPS :

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 démarrer le processus. Une fois l'installation terminée, vous devriez voir le résultat suivant :

Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/shopware.conf

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

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/shopware.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/shopware.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-09-22. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot 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

À ce stade, votre site Web Shopware est sécurisé avec Let's Encrypt SSL. Vous pouvez désormais accéder à votre site Web en toute sécurité à l'aide de l'URL https://shopware.linuxbuz.com.

Conclusion

Toutes nos félicitations! vous avez installé avec succès Shopware avec Nginx et Let's Encrypt SSL sur Ubuntu 20.04. Vous pouvez maintenant commencer à créer votre propre entreprise en ligne en utilisant Shopware. N'hésitez pas à me demander si vous avez des questions.


Ubuntu
  1. Comment installer Nextcloud avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04 LTS

  2. Comment installer Magento 2 avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04 LTS

  3. Comment installer Magento 2 avec Nginx et Letsencrypt sur Ubuntu 18.04

  4. Comment installer Drupal 8 avec Nginx, PHP-FPM et SSL sur Ubuntu 15.10

  5. Comment installer Shopware avec NGINX et Lets encrypt sur Ubuntu 18.04 LTS

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

Comment installer ProjectSend avec Apache et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer Moodle avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer MediaWiki avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer Gitea avec Nginx et Lets Encrypt SSL gratuit sur Ubuntu 20.04

Comment installer Shopware avec NGINX et Lets encrypt sur Debian 9