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.