GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer OpenCart avec Nginx et Lets Encrypt sur Debian 10

Opencart est une solution de panier d'achat open source populaire qui vous aide à héberger votre propre site Web de commerce électronique entièrement fonctionnel. Opencart fournit une interface simple et conviviale pour vendre vos produits en ligne, comme Amazon et Flipcart. Il est spécialement conçu pour les petites et moyennes entreprises et possède toutes les fonctionnalités de commerce électronique standard nécessaires aux boutiques en ligne. Il offre un riche ensemble de fonctionnalités, notamment multi-devises, langue, catégories illimitées, produits, avis sur les produits, multi-magasins et bien d'autres.

Dans ce tutoriel, nous allons vous montrer comment installer OpenCart avec Nginx sur Debian 10 et le sécuriser avec Let's Encrypt SSL.

Prérequis

  • Un serveur exécutant Debian 10.
  • Un mot de passe root est configuré sur votre serveur.

Mise en route

Tout d'abord, mettez à jour votre système vers la dernière version avec la commande suivante :

apt-get update -y
apt-get upgrade -y

Une fois votre serveur mis à jour, redémarrez-le pour appliquer les modifications.

Installer le serveur LEMP

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

apt-get install nginx mariadb-server php-common php-cli php-fpm php-opcache php-gd php-mysql php-curl php-intl php-xsl php-mbstring php-zip php-bcmath php-soap unzip git -y

Une fois tous les packages installés, éditez le fichier php.ini et apportez quelques modifications :

nano /etc/php/7.3/fpm/php.ini

Modifiez les lignes suivantes :

memory_limit = 256M
upload_max_filesize = 100M
opcache.save_comments=1
max_execution_time = 300
date.timezone = Asia/Kolkata

Enregistrez et fermez le fichier lorsque vous avez terminé.

Configurer la base de données MariaDB

Ensuite, vous devrez définir un mot de passe root MariaDB car il n'est pas défini dans Debian 10.

Pour ce faire, connectez-vous au shell MariaDB avec la commande suivante :

mysql

Une fois connecté, définissez un mot de passe root MariaDB avec la commande suivante :

MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("yournewrootpassword");

Ensuite, définissez le plugin d'authentification MariaDB sur mysql_native_password avec la commande suivante :

MariaDB [(none)]> SET GLOBAL innodb_fast_shutdown = 0;
MariaDB [(none)]> UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';

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

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

Ensuite, connectez-vous à MariaDB avec l'utilisateur root :

mysql -u root -p

Fournissez votre mot de passe root et créez une base de données et un utilisateur pour OpenCart avec la commande suivante :

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

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

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

Une fois MariaDB configuré, vous pouvez passer à l'étape suivante.

Télécharger OpenCart

Vous pouvez télécharger la dernière version d'OpenCart depuis le référentiel Git à l'aide de la commande suivante :

wget https://github.com/opencart/opencart/releases/download/3.0.3.2/opencart-3.0.3.2.zip

Après avoir téléchargé OpenCart, décompressez le fichier téléchargé avec la commande suivante :

unzip opencart-3.0.3.2.zip

Ensuite, déplacez le répertoire de téléchargement vers le répertoire racine Web de Nginx avec la commande suivante :

mv upload /var/www/html/opencart

Ensuite, changez le répertoire en opencart et renommez le fichier config-dist.php :

cd /var/www/html/opencart/
mv config-dist.php config.php
mv admin/config-dist.php admin/config.php

Ensuite, donnez les autorisations appropriées au répertoire opencart avec la commande suivante :

chown -R www-data:www-data /var/www/html/opencart/
chmod -R 775 /var/www/html/opencart/

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

Configurer Nginx pour OpenCart

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

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

Ajoutez le contenu suivant :

server {
    listen 80;
    server_name opencart.linuxbuz.com;
    root /var/www/html/opencart;
    index index.php;
    access_log /var/log/nginx/opencart_access.log;
    error_log /var/log/nginx/opencart_error.log;

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }

}

Enregistrez et fermez le fichier puis vérifiez Nginx pour toute erreur de syntaxe avec 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, activez le fichier d'hôte virtuel Nginx avec la commande suivante :

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

Ensuite, redémarrez le service Nginx et PHP-FPM pour appliquer les modifications :

systemctl restart nginx
systemctl restart php7.3-fpm

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

Sécuriser OpenCart avec Let's Encrypt SSL

Ensuite, vous devrez installer un client Certbot pour installer et configurer Let's Encrypt pour votre site Web.

Par défaut, le Certbot n'est pas disponible dans le référentiel par défaut de Debian 10. Vous devrez donc ajouter un référentiel Certbot dans votre système.

Vous pouvez l'ajouter avec la commande suivante :

echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list

Ensuite, mettez à jour le référentiel et installez le client Certbot pour Nginx avec la commande suivante :

apt-get update -y
apt-get install python3-certbot-nginx -t buster-backports

Une fois installé, exécutez la commande suivante pour télécharger Let's Encrypt SSL et configurer Nginx pour utiliser ce SSL :

certbot --nginx -d opencart.linuxbuz.com

Vous serez invité à accepter les conditions d'utilisation et à fournir votre adresse e-mail valide comme indiqué ci-dessous :

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
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 opencart.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/nginx/sites-available/opencart-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/nginx/sites-available/opencart-le-ssl.conf
Enabling available site: /etc/nginx/sites-available/opencart-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.

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

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

Redirecting vhost in /etc/nginx/sites-enabled/opencart.conf to ssl vhost in /etc/nginx/sites-available/opencart-le-ssl.conf

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

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/opencart.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/opencart.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-04-30. 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"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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, OpenCart est sécurisé avec Let's Encrypt SSL.

Accéder à l'interface Web OpenCart

Maintenant, ouvrez votre navigateur Web et tapez l'URL https://opencart.linuxbuz.com. Vous serez redirigé vers la page du contrat de licence OpenCart :

Cliquez sur Continuer bouton pour accepter le contrat de licence. Vous devriez voir la page suivante :

Assurez-vous que toutes les extensions PHP requises sont installées, puis cliquez sur CONTINUER bouton. Vous devriez voir la page suivante :

Fournissez vos informations d'identification de base de données, votre nom d'utilisateur d'administrateur, votre mot de passe et cliquez sur CONTINUER bouton. Une fois l'installation terminée, vous devriez voir la page suivante :

Maintenant, ouvrez votre terminal et supprimez le répertoire d'installation avec la commande suivante :

rm -rf /var/www/html/opencart/install/

Cliquez ensuite sur ACCÉDER À VOTRE BOUTIQUE EN LIGNE . Vous devriez voir votre boutique OpenCart sur la page suivante :

Ensuite, cliquez sur CONNEXION À VOTRE ADMINISTRATION bouton. Vous devriez voir la page de connexion OpenCart :

Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Connexion bouton. Vous devriez voir votre panneau d'administration OpenCart sur la page suivante :

Conclusion

Toutes nos félicitations! vous avez installé et sécurisé avec succès OpenCart sur Debian 10. Vous pouvez maintenant héberger votre propre panier d'achat en ligne avec OpenCart. N'hésitez pas à me demander si vous avez des questions.


Debian
  1. Installer Lets Encrypt and Secure Nginx avec SSL/TLS dans Debian 9

  2. Comment installer Automad CMS avec Apache et Lets encrypt sur Debian 10

  3. Comment installer ElkArte Forum avec Apache et Lets Encrypt sur Debian 10

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

  5. Comment installer Drupal 9 avec Nginx et Lets Encrypt SSL sur Debian 10

Comment installer Wordpress avec Nginx, MariaDB et HHVM sur Debian 8

Comment installer TYPO3 7 avec Nginx et MariaDB sur Debian 8 (Jessie)

Comment installer Shopware avec NGINX et Lets encrypt sur Debian 9

Comment installer Lighttpd avec PHP, MariaDB et Lets Encrypt SSL sur Debian 10

Comment installer MyBB Forum avec Nginx et Lets Encrypt sur Debian 10

Comment installer Wekan Kanban avec Nginx et Lets Encrypt SSL sur Debian 10