GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Installation de la plate-forme de commerce électronique Magento avec Apache2 et Lets Encrypt sur Ubuntu 20.04

Magento est une application Web de commerce électronique gratuite et open source qui vous permet de créer une boutique de commerce électronique entièrement fonctionnelle en quelques minutes. Il est écrit en PHP et combine des fonctionnalités puissantes avec une flexibilité et une interface conviviale. C'est l'une des solutions les plus populaires pour les boutiques en ligne auto-hébergées en raison de sa simplicité et de son puissant panneau d'administration. Il est livré avec un riche ensemble de fonctionnalités, notamment la gestion du site, le référencement, la gestion des catalogues, la navigation dans les produits et les catalogues, la gestion des commandes, le paiement, les promotions et les outils de conversion, et bien plus encore.

Dans ce tutoriel, nous allons vous montrer comment installer la plateforme de commerce électronique Magento avec Apache et Let's Encrypt SSL sur Ubuntu 20.04.

Prérequis

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

Installer le serveur LAMP

Magento s'exécute sur le serveur Web, écrit en PHP, et utilise MariaDB comme base de données. Vous devrez donc installer une pile LAMP sur votre serveur.

Commencez par installer le serveur Web Apache et le serveur MariaDB avec la commande suivante :

apt-get install apache2 mariadb-server mariadb-client -y

La dernière version de Magento n'est compatible qu'avec PHP 7.1.3+ et 7.2.x. Vous devrez donc installer les versions PHP prises en charge avec les extensions requises sur votre serveur.

Par défaut, Ubuntu 20.04 est livré avec PHP version 7.4. Vous devrez donc ajouter le PPA Ondrej dans votre système afin d'installer d'autres versions de PHP.

Vous pouvez ajouter le PPA Ondrej PHP avec la commande suivante :

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

Ensuite, mettez à jour le référentiel et installez PHP avec les autres extensions requises à l'aide de la commande suivante :

apt-get install php7.2 libapache2-mod-php7.2 php7.2-bcmath php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-ldap php7.2-zip php7.2-curl wget curl unzip -y

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

Configurer la base de données MariaDB

Par défaut, MariaDB n'est pas sécurisée. C'est donc une bonne idée de sécuriser et de définir le mot de passe root de MariaDB. Vous pouvez le faire avec la commande suivante :

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 MariaDB sécurisée, connectez-vous au shell MariaDB :

mysql -u root -p

Fournissez votre mot de passe root MariaDB puis créez une base de données et un utilisateur pour Magento :

MariaDB [(none)]> CREATE DATABASE magentodb;
MariaDB [(none)]> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'password';

Ensuite, accordez tous les privilèges à la base de données Magento avec la commande suivante :

MariaDB [(none)]> GRANT ALL ON magentodb.* TO 'magento'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Ensuite, videz les privilèges et quittez le shell 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.

Télécharger Magento

Au moment de la rédaction de ce tutoriel, la dernière version de Magento est la 2.3.5. Vous pouvez le télécharger depuis la page de téléchargement officielle de Magento.

Une fois téléchargé, extrayez le fichier téléchargé dans le répertoire racine Web d'Apache avec la commande suivante :

mkdir /var/www/html/magento
tar -xvjf magento-ce* -C /var/www/html/magento/

Ensuite, attribuez la propriété et l'autorisation appropriées au répertoire magento :

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

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

Configurer Apache pour Magento

Ensuite, créez un nouveau fichier de configuration d'hôte virtuel Apache pour servir le site Web Magento.

nano /etc/apache2/sites-available/magento.conf

Ajoutez les lignes suivantes :

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/magento/
     ServerName magento.linuxbuz.com
     <Directory /var/www/html/magento/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
     </Directory>
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Enregistrez et fermez le fichier puis activez l'hôte virtuel Magento et le module de réécriture Apache avec la commande suivante :

a2ensite magento.conf
a2enmod rewrite

Enfin, redémarrez le service Apache pour mettre en œuvre les modifications :

systemctl restart apache2

À ce stade, le serveur Web Apache est configuré pour servir Magento.

Sécuriser Magento avec Let's Encrypt SSL

C'est toujours une bonne idée de sécuriser votre site Web avec le SSL gratuit de Let's Encrypt. Tout d'abord, installez le client Certbot sur votre serveur pour télécharger et configurer Let's Encrypt SSL pour votre site Web.

apt-get install certbot python3-certbot-apache -y

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

certbot --apache -d magento.linuxbuz.com

Il vous sera demandé de fournir votre adresse e-mail valide et d'accepter les conditions d'utilisation 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 magento.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/magento-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/magento-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/magento-le-ssl.conf

Ensuite, il vous sera demandé de choisir 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 terminer l'installation.

Redirecting vhost in /etc/apache2/sites-enabled/magento.conf to ssl vhost in /etc/apache2/sites-available/magento-le-ssl.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-08-11. 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

Accéder au site Web de Magento

À ce stade, votre site Web Magento est sécurisé avec Let's Encrypt SSL.

Maintenant, ouvrez votre navigateur Web et tapez l'URL https://magento.linuxbuz.com. Vous serez redirigé vers l'assistant d'installation Web de Magento :

Cliquez sur Accepter et Configuration Magento bouton. Vous devriez voir l'écran de préparation de Magento :

Cliquez sur Démarrer Préparation Vérifier bouton. Une fois la vérification de l'état de préparation terminée, vous devriez voir l'écran suivant :

Cliquez sur Suivant bouton. Vous devriez voir l'écran de configuration de la base de données :

Fournissez votre nom de base de données Magento, votre nom d'utilisateur de base de données, votre mot de passe et cliquez sur Suivant bouton. Vous devriez voir l'assistant de configuration Web de Magento :

Fournissez votre boutique Magento et votre adresse d'administration, activez HTTPS et cliquez sur Suivant bouton. Vous devriez voir l'écran de personnalisation de la boutique :

Définissez votre fuseau horaire, votre devise, votre langue préférés et cliquez sur Suivant bouton. Vous devriez voir l'écran de création de l'utilisateur administrateur :

Indiquez votre nom d'utilisateur administrateur, votre adresse e-mail, votre mot de passe et cliquez sur Suivant bouton. Vous devriez voir l'écran suivant :

Cliquez sur Installer Maintenant bouton pour lancer l'installation. Une fois l'installation terminée avec succès, vous devriez voir l'écran suivant :

Cliquez sur l'adresse d'administration de Magento. Vous devriez voir la page d'administration de Magento :

Fournissez votre nom d'utilisateur et votre mot de passe d'administrateur Magento et cliquez sur Signer dans bouton. Vous devriez voir le tableau de bord Magento dans l'écran suivant :

Vous pouvez également accéder au magasin Magento en utilisant l'URL https://magento.linuxbuz.com. Vous devriez voir l'écran suivant :

Conclusion

Toutes nos félicitations! vous avez installé avec succès Magento avec Let's Encrypt SSL sur Ubuntu 20.04. Vous pouvez maintenant déployer votre propre boutique en ligne facilement. N'hésitez pas à me demander si vous avez des questions.


Ubuntu
  1. Comment sécuriser Nginx avec Lets Encrypt sur Ubuntu 20.04 / 18.04

  2. Installation de WordPress sur Ubuntu Linux avec Apache et MySQL

  3. Sécurisez Nginx avec Lets Encrypt sur Ubuntu 18.04

  4. Sécurisez Nginx avec Lets Encrypt sur Ubuntu 16.04

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

Comment installer les forums Vanilla avec Apache et Lets Encrypt SSL sur Ubuntu 20.04 LTS

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

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