Comment installer Joomla sur Debian 12
Joomla CMS est un système de gestion de contenu open source permettant de créer des sites Web et des applications en ligne. Il offre des fonctionnalités conviviales et une extensibilité et est accessible gratuitement à tous. Propulsé par PHP, il peut être utilisé dans plusieurs scénarios, tels que les forums, les galeries de photos, le commerce électronique et diverses applications Web.
Dans ce guide, nous aborderons l'installation du CMS Joomla sur le serveur Debian 12. Vous installerez Joomla avec la pile LAMP (Apache, MariaDB et PHP) et sécuriserez l'installation avec UFW (Uncomplicated Firewall) et SSL de Letsencrypt.
Prérequis
Avant de vous plonger dans ce guide, rassemblez les éléments suivants :
- Un serveur Debian 12.
- Un utilisateur non root avec des privilèges d'administrateur.
- Un nom de domaine pointait vers l'adresse IP du serveur.
Installation des dépendances
Joomla est un CMS open source basé sur des bases de données PHP et MySQL. Pour l'installer, assurez-vous que les dépendances requises sont installées.
Vous allez maintenant installer la pile LAMP et des dépendances supplémentaires, telles que UFW et Certbot, que Joomla utilisera.
Exécutez la commande apt ci-dessous pour mettre à jour le référentiel Debian.
sudo apt update
Installez maintenant les dépendances Joomla à l'aide de la commande apt ci-dessous. Avec cela, vous installerez les packages LAMP Stack, UFW, Certbot et l'utilitaire de décompression.
sudo apt install apache2 mariadb-server php php-curl php-common php-json php-intl php-xml php-gd php-mysql php-imagick php-mbstring php-zip ufw certbot python3-certbot-apache unzip
Tapez Y et appuyez sur ENTRÉE pour confirmer l'installation.
Une fois l'installation terminée, assurez-vous qu'Apache2 et MariaDB sont exécutés et activés sur votre serveur Debian.
Vérifiez le service Apache2 pour vous assurer qu'il est en cours d'exécution et activé à l'aide de la commande ci-dessous.
sudo systemctl is-enabled apache2
sudo systemctl status apache2
Enfin, vérifiez le service mariadb à l'aide de la commande ci-dessous. Vous devriez activer le service mariadb avec le statut actif (en cours d'exécution).
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Configuration d'UFW
Dans cet exemple, vous exécuterez Joomla avec UFW (Uncomplicated Firewall) en cours d'exécution et activé. Dans ce cas, assurez-vous d'ajouter les ports SSH, HTTP et HTTPS à UFW.
Tout d'abord, exécutez la commande ci-dessous pour activer le profil d'application OpenSSH et « WWW Full ». Le profil OpenSSH ouvrira le port SSH par défaut 22, tandis que le profil « WWW Full » ouvrira les ports HTTP et HTTPS – 80 et 443.
sudo ufw allow OpenSSH
sudo ufw allow 'WWW Full'
Ensuite, activez UFW en exécutant la commande ci-dessous. Tapez y pour confirmer le processus.
sudo ufw enable
Vous devriez recevoir le message « Le pare-feu est actif et activé au démarrage du système », qui confirme que UFW est en cours d'exécution et activé sur votre machine Debian.
Vérifiez uFW à l’aide de la commande suivante. Assurez-vous que les profils OpenSSH et « WWW Full » sont disponibles sur vos règles compatibles UFW.
sudo ufw status
Configuration de PHP
Après avoir configuré UFW, l'étape suivante consiste à configurer PHP pour votre installation Joomla.
Joomla nécessitait au moins les configurations suivantes sur le fichier php.ini :
- limite_mémoire : 256 Mo
- upload_max_filesize : 32 Mo
- post_max_size : 32 M
- max_execution_time : 30
Ouvrez le fichier '/etc/php/8.2/apache2/php.ini' à l'aide de la commande de l'éditeur nano ci-dessous.
sudo nano /etc/php/8.2/apache2/php.ini
Modifiez la configuration php.ini par défaut avec ce qui suit. Assurez-vous d'ajuster l'option memory_limit en fonction de votre mémoire actuelle sur votre système.
memory_limit=512M
upload_max_filesize=64M
post_max_size=64M
max_execution_time=60
output_buffering = Off
extension=intl
Enregistrez et fermez le fichier lorsque vous avez terminé.
Exécutez maintenant la commande ci-dessous pour redémarrer le service Apache2 et appliquer vos modifications à PHP.
sudo systemctl restart apache2
Configuration de MariaDB
Dans la section suivante, vous allez configurer et sécuriser le serveur MariaDB à l'aide de l'outil « mariadb-secure-installation ». Ensuite, vous créerez également une nouvelle base de données et un nouvel utilisateur pour Joomla via le client MySQL/MariaDB.
Commencez à sécuriser l'installation de votre serveur MariaDB en exécutant la commande 'mariadb-server-installation' ci-dessous.
sudo mariadb-secure-installation
Saisissez Y pour implémenter la nouvelle configuration, ou tapez N pour « Non » pour rejeter. Vous trouverez ci-dessous quelques-unes des configurations de serveur MariaDB que vous configurerez :
- L'installation par défaut de MariaDB est livrée sans mot de passe, appuyez sur ENTRÉE lorsque vous êtes invité à saisir le mot de passe.
- Saisissez maintenant Y pour configurer le mot de passe root MariaDB. Ensuite, tapez le nouveau mot de passe pour MariaDB et répétez le mot de passe.
- Saisissez Y pour supprimer l'utilisateur anonyme de votre installation MariaDB.
- Saisissez à nouveau Y lorsque vous êtes invité à désactiver la connexion à distance pour l'utilisateur root MariaDB.
- Saisissez Y pour supprimer le test de base de données par défaut de votre MariaDB.
- Enfin, saisissez Y pour recharger les privilèges de la table et appliquer les nouvelles modifications.
Maintenant que vous avez configuré le serveur MariaDB, connectez-vous à MariaDB à l'aide de la commande suivante. Saisissez également votre mot de passe root MariaDB lorsque vous y êtes invité.
sudo mariadb -u root -p
Exécutez les requêtes suivantes pour créer une nouvelle base de données joomladb avec l'utilisateur joomla. Assurez-vous également de remplacer le mot de passe de la base de données « p4ssword » par votre mot de passe fort.
CREATE DATABASE joomladb;
CREATE USER joomla@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON joomladb.* TO joomla@localhost;
FLUSH PRIVILEGES;
Ensuite, exécutez la requête suivante pour vérifier les privilèges de l'utilisateur MariaDB joomla@localhost.
SHOW GRANTS FOR joomla@localhost;
Assurez-vous que l'utilisateur joomla@localhost peut accéder à la base de données joomladb comme suit.
Tapez quit pour quitter le serveur MariaDB et passer à l'étape suivante.
Téléchargement du CMS Joomla
Dans la section suivante, vous téléchargerez la dernière version de Joomla et configurerez l'autorisation et la propriété appropriées du code source de Joomla.
À l'heure actuelle, la dernière version de Joomla est la v5.0.1. Assurez-vous de consulter la page de téléchargement de Joomla et d'en récupérer la dernière version.
Accédez au répertoire /var/www et téléchargez Joomlad à l'aide de la commande wget ci-dessous.
cd /var/www/
wget https://downloads.joomla.org/cms/joomla5/5-0-1/Joomla_5-0-1-Stable-Full_Package.zip
Une fois téléchargé, extrayez le code source Joomla dans le répertoire Joomla à l'aide de la commande de décompression suivante. Avec cela, votre répertoire d'installation Joomla se trouvera dans /var/www/joomla.
unzip Joomla_5-0-1-Stable-Full_Package.zip -d joomla
Remplacez maintenant la propriété du répertoire /var/www/joomla par l'utilisateur www-data et le groupe www-data.
sudo chown -R www-data:www-data /var/www/joomla
Configuration de l'hôte virtuel Apache2
Dans l'étape suivante, vous créerez une nouvelle configuration d'hôte virtuel Apache pour exécuter Joomla. Assurez-vous d'avoir un nom de domaine prêt et pointé vers l'adresse IP de votre serveur. Par exemple ici, nous utiliserons hwdomain.io.
Pour commencer, exécutez la commande nano editor suivante pour créer une nouvelle configuration d'hôte virtuel '/etc/apache2/sites-available/joomla.conf'.
sudo nano /etc/apache2/sites-available/joomla.conf
Insérez la configuration suivante et assurez-vous de changer le nom de domaine hwdomain.io avec votre domaine.
<VirtualHost *:80>
ServerAdmin [email
ServerName hwdomain.io
DocumentRoot /var/www/joomla
<Directory /var/www/joomla/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/hwdomain.io_error.log
CustomLog ${APACHE_LOG_DIR}/hwdomain.io_access.log combined
</VirtualHost>
Enregistrez le fichier et quittez l'éditeur une fois terminé.
Ensuite, exécutez la commande ci-dessous pour activer le fichier hôte virtuel joomla.conf et vérifiez votre syntaxe Apache.
sudo a2ensite joomla.conf
sudo apachectl configtest
Si aucune erreur sur votre syntaxe Apache, vous verrez une sortie 'Syntaxe OK'.
Appliquez maintenant le nouveau fichier hôte virtuel joomla.conf en redémarrant Apache2 à l'aide de la commande systemctl suivante.
sudo systemctl restart apache2
Sécuriser Joomla avec des certificats SSL/TLS
À ce stade, votre installation Joomla est en cours d'exécution. Mais, pour garantir la sécurité de votre installation Joomla, vous implémenterez HTTPS via Certbot et Letsencrypt.
Dans la première étape, vous avez installé les plugins certbot et python3-certbot-apache.
Exécutez maintenant la commande certbot suivante pour générer des certificats SSL/TLS pour votre nom de domaine. Assurez-vous de modifier les détails de l'adresse e-mail et du nom de domaine avec vos informations.
sudo certbot --apache --apache --agree-tos --redirect --hsts --staple-ocsp --email [email -d hwdomain.io
Une fois le processus terminé, votre installation Joomla devrait automatiquement être configurée avec HTTPS. Et vos certificats SSL seront disponibles dans le répertoire /etc/letsencrypt/live/yourdomain.com.
Installer Joomla via Web Installer
Ouvrez votre navigateur Web et visitez le nom de domaine de votre installation Joomla, tel que (https://hwdomain.io/). La page du programme d'installation Web de Joomla vous sera présentée.
Sélectionnez la langue par défaut et saisissez le nom du site de votre installation Joomla. Ensuite, cliquez sur Configurer les données de connexion pour configurer l'utilisateur administrateur Joomla.
Saisissez votre nom, votre nom d'utilisateur, votre adresse e-mail et le mot de passe de l'utilisateur administrateur Joomla. Cliquez ensuite sur Configurer la connexion à la base de données pour continuer.
Saisissez le nom de la base de données du serveur MariaDB, l'utilisateur, l'hôte et le préfixe de base de données par défaut. Ensuite, cliquez sur Installer Joomla pour démarrer le processus d'installation.
Lors de l'installation, vous verrez ce qui suit :
Une fois l'installation de Joomla terminée, vous devriez recevoir le message « Félicitations ! Votre site Joomla est prêt !'.
À partir de là, cliquez sur ce qui suit :
- Ouvrir le site : ouvrez la page d'accueil de votre installation Joomla.
- Ouvrir l'administrateur : ouvrez l'URL d'administration de Joomla, qui est https://hwdomain.io/administrator.
Vous trouverez ci-dessous la capture d'écran de la page d'accueil par défaut de l'installation de Joomla.
Sur la page de connexion de l'administrateur Joomla, saisissez l'utilisateur administrateur et le mot de passe de votre installation Joomla, puis cliquez sur Connexion pour confirmer.
Si vous disposez de l'utilisateur administrateur et du mot de passe corrects, vous devriez obtenir le tableau de bord de l'administrateur Joomla comme suit :
Conclusion
Toutes nos félicitations! Vous avez terminé l'installation du CMS open source Joomla sur le serveur Debian 12. Vous avez installé Joomla avec la pile LAMP (Apache, MariaDB et PHP), et également sécurisé votre serveur Debian avec UFW (Uncomplicated Firewall) et sécurisé votre installation Joomla avec les certificats SSL/TLS de Letsencrypt.
Pour aller plus loin, pourquoi ne pas choisir certains thèmes disponibles et personnaliser votre page d'accueil Joomla ? Vous pouvez également essayer d'installer le plugin Joomla pour ajouter des fonctionnalités à votre site Joomla.