Joomla est un système de gestion de contenu gratuit et open source utilisé pour créer, modifier et gérer le contenu d'un site Web. Il est simple et facile à utiliser, vous n'avez donc pas besoin de connaissances en HTML ou CSS pour créer le site Web. Il est écrit en PHP et utilise MySQL comme base de données. Il offre un large éventail de fonctionnalités qui en font un système de gestion de contenu flexible prêt à l'emploi. Il est livré avec des centaines d'extensions gratuites qui vous permettent de personnaliser et d'étendre les fonctionnalités.
Dans ce tutoriel, je vais vous montrer comment installer Joomla CMS avec Apache et Let's Encrypt sur Debian 10.
Prérequis
- Un serveur exécutant Debian 10.
- Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Mise en route
Tout d'abord, mettez à jour les packages système vers la version mise à jour en exécutant la commande suivante :
apt-get update -y
Une fois tous les packages mis à jour, vous pouvez passer à l'étape suivante.
Installer le serveur LAMP
Ensuite, vous devrez installer le serveur Web Apache, la base de données MariaDB, PHP et d'autres extensions PHP sur votre système. Vous pouvez tous les installer avec la commande suivante :
apt-get install apache2 mariadb-server php openssl php-imagick php-common php-curl php-gd php-imap php-intl php-json php-ldap php-mbstring php-mysql php-pgsql php-smbclient php-ssh2 php-sqlite3 php-xml php-zip -y
Une fois tous les packages installés, vous pouvez passer à l'étape suivante.
Créer une base de données pour Joomla
Joomla utilise MySQL ou MariaDB pour stocker son contenu. Vous devrez donc créer une base de données et un utilisateur pour Joomla.
Tout d'abord, connectez-vous à MariaDB avec 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 joomladb;
MariaDB [(none)]> GRANT ALL ON joomladb.* TO 'joomlauser'@'localhost' 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.
Installer Joomla
Ensuite, téléchargez la dernière version de Joomla avec la commande suivante :
wget https://downloads.joomla.org/cms/joomla3/3-9-25/Joomla_3-9-25-Stable-Full_Package.tar.bz2
Une fois le téléchargement terminé, créez un répertoire pour Joomla dans la racine Web d'Apache :
mkdir /var/www/html/joomla
Ensuite, exécutez la commande suivante pour extraire le fichier téléchargé dans le répertoire Joomla :
bunzip2 Joomla_3-9-25-Stable-Full_Package.tar.bz2
tar -xvf Joomla_3-9-25-Stable-Full_Package.tar -C /var/www/html/joomla/
Ensuite, définissez l'autorisation et la propriété appropriées pour le répertoire Joomla avec la commande suivante :
chown -R www-data:www-data /var/www/html/joomla
chmod -R 755 /var/www/html/joomla
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer le serveur Web Apache
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour héberger Joomla.
Vous pouvez le créer avec la commande suivante :
nano /etc/apache2/sites-available/joomla.conf
Ajoutez les lignes suivantes :
<VirtualHost *:80> ServerName joomla.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/joomla <Directory /var/www/html/joomla> Allowoverride all </Directory> </VirtualHost>
Enregistrez et fermez le fichier puis activez l'hôte virtuel Apache avec la commande suivante :
a2ensite joomla
Ensuite, redémarrez le service Apache pour appliquer les modifications :
systemctl restart apache2
Ensuite, vérifiez l'état de l'Apache avec la commande suivante :
systemctl status apache2
Vous devriez obtenir le résultat suivant :
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-03-22 09:26:20 UTC; 4s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 14495 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 14499 (apache2) Tasks: 6 (limit: 4701) Memory: 18.8M CGroup: /system.slice/apache2.service ??14499 /usr/sbin/apache2 -k start ??14500 /usr/sbin/apache2 -k start ??14501 /usr/sbin/apache2 -k start ??14502 /usr/sbin/apache2 -k start ??14503 /usr/sbin/apache2 -k start ??14504 /usr/sbin/apache2 -k start Mar 22 09:26:20 debian10 systemd[1]: Starting The Apache HTTP Server...
Accéder à Joomla
Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web de Joomla en utilisant l'URL http://joomla.example.com . Vous serez redirigé vers la page suivante :
Maintenant, indiquez le nom de votre site, votre adresse e-mail, votre nom d'utilisateur administrateur, votre mot de passe, puis cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Indiquez votre nom de base de données, votre nom d'utilisateur de base de données, votre mot de passe et cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Maintenant, confirmez tous les paramètres et cliquez sur Installer bouton pour lancer l'installation. Une fois l'installation terminée, vous devriez voir la page suivante :
Cliquez sur Supprimer installation dossier . Vous devriez voir la page suivante :
Maintenant, cliquez sur Administrateur bouton, vous devriez voir la page de connexion Joomla :
Fournissez vos informations d'identification d'administrateur et cliquez sur Connexion bouton, vous devriez voir le panneau de configuration Joomla dans l'image suivante :
Sécuriser Joomla avec Let's Encrypt SSL
C'est toujours une bonne idée de sécuriser votre site Web avec Let's Encrypt SSL. Vous devrez installer le client Certbot pour installer et gérer le SSL. Vous pouvez l'installer avec la commande suivante :
apt-get install python3-certbot-apache -y
Une fois le Certbot installé, exécutez la commande suivante pour sécuriser votre site Web avec Let's Encrypt SSL :
certbot --apache -d joomla.example.com
Il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None 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 Plugins selected: Authenticator apache, Installer apache Obtaining a new certificate Performing the following challenges: http-01 challenge for joomla.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/joomla-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/joomla-le-ssl.conf Enabling available site: /etc/apache2/sites-available/joomla-le-ssl.conf
Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS comme indiqué ci-dessous :
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 installer le SSL Let's Encrypt pour votre site Web :
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/joomla.conf to ssl vhost in /etc/apache2/sites-available/joomla-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://joomla.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=joomla.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/joomla.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/joomla.example.com/privkey.pem Your cert will expire on 2020-10-23. 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
Conclusion
Toutes nos félicitations! vous avez installé avec succès Joomla CMS sur le serveur Debian 10. Vous pouvez maintenant créer facilement votre propre site Web en utilisant Joomla. N'hésitez pas à me demander si vous avez des questions.