Joomla! est l'un des systèmes de gestion de contenu (CMS) les plus populaires à côté de WordPress. Avec Joomla, vous pouvez créer des blogs, des forums de discussion et d'autres sites Web.
Il est gratuit, open source et fonctionne bien avec presque tous les services d'hébergement Web, ce qui en fait l'un des plus faciles à installer et à utiliser.
Si vous n'avez pas encore d'hébergement Web, nous vous recommandons d'installer Joomla sur votre système Debian ou VPS local.
Ici, nous allons voir comment installer Joomla avec Nginx sur Debian 11.
Prérequis
Installer la pile LEMP
Suivez les liens ci-dessous pour installer la pile LEMP sur votre système Debian pour l'installation de Joomla.
Installer EMP (Nginx, MariaDB et PHP) sur Debian 11
Installer les extensions PHP
Utilisez la commande apt pour installer les extensions PHP requises pour Joomla.
sudo apt update sudo apt install -y php-gd php-xmlrpc php-curl php-intl php-imagick php-mysql php-zip php-xml php-mbstring php-bcmath
Configurer les paramètres PHP pour Joomla
Joomla nécessite quelques configurations PHP comme le répertoire temporaire PHP, la taille maximale autorisée pour que les fichiers téléchargés fonctionnent correctement. Alors, éditez le php.ini
fichier.
sudo nano /etc/php/7.4/fpm/php.ini
Ensuite, mettez à jour les valeurs ci-dessous selon vos besoins.
output_buffering = off # Required for Joomla upload_tmp_dir = "/tmp" upload_max_filesize = 64M post_max_size = 64M
Configurer l'hôte virtuel Nginx pour Joomla
Nous allons commencer par créer un hôte virtuel pour une installation Joomla. Vous pouvez trouver tous les fichiers de configuration de l'hôte virtuel de Nginx sous /etc/nginx/conf.d
répertoire.
Généralement, le fichier d'hôte virtuel contient un nom de domaine, un numéro de port, une racine de document, un emplacement de journal, un CGI rapide, etc.
Pour cet article, je suppose ce qui suit :
Nom de domaine :itzgeek.net, www.itzgeek.net
Numéro de port :80
Racine du document :/usr/share/nginx/www.itzgeek.net/html
Journaux :/usr/share/nginx/www.itzgeek.net/logs
Tout d'abord, créez une configuration d'hôte virtuel.
sudo nano /etc/nginx/conf.d/www.itzgeek.net.conf
Ensuite, placez le contenu suivant dans le fichier de configuration ci-dessus. Vous devrez changer server_name
selon vos besoins.
server { server_name itzgeek.net www.itzgeek.net; root /usr/share/nginx/www.itzgeek.net/html; index index.php index.html; access_log /usr/share/nginx/www.itzgeek.net/logs/access.log; error_log /usr/share/nginx/www.itzgeek.net/logs/error.log; # Prevent access to certain file extensions location ~\.(ini|log|conf)$ { deny all; } location ~ \.php$ { # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini include fastcgi_params; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Créez une racine de document et un répertoire de journaux.
sudo mkdir -p /usr/share/nginx/www.itzgeek.net/html/ sudo mkdir -p /usr/share/nginx/www.itzgeek.net/logs/
Vérifiez le fichier de configuration Nginx avec la commande ci-dessous.
sudo nginx -t
Si vous obtenez ce qui suit, cela signifie que la configuration de l'hôte virtuel est correcte.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Redémarrez les services Nginx et PHP-FPM.
sudo systemctl reload nginx php7.4-fpm
Installer le certificat SSL Let's Encrypt
Créer un enregistrement DNS
Accédez à votre bureau d'enregistrement de domaine et créez un enregistrement DNS [A et CNAME (facultatif si vous ne souhaitez pas utiliser le sous-domaine www)] pour votre domaine.
- Nom de domaine autre que www (ex. itzgeek.net) >> A point d'enregistrement vers l'IP de votre serveur
- Nom de domaine www (Ex. www.itzgeek.net)>> CNAME point d'enregistrement vers itzgeek.net
Pour cette démo, j'ai créé deux enregistrements afin que mon site Web Joomla soit accessible à l'adresse www.itzgeek.net.

Installer le client Certbot
Le client Certbot, qui nous aide à générer et à installer le certificat SSL Let's Encrypt, est désormais disponible sous forme de package instantané pour le système d'exploitation Debian. Alors, commencez par installer snapd sur votre système.
sudo apt update sudo apt install -y snapd
Ensuite, mettez à jour snapd vers la dernière version.
sudo snap install core && sudo snap refresh core
Enfin, installez le client Certbot à l'aide de la commande snap.
sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot
Installer le certificat SSL
Utiliser le certbot
pour générer et installer le certificat SSL Let's Encrypt pour le serveur Web Nginx.
sudo certbot --nginx1. Entrez l'adresse e-mail recevoir une notification sur les renouvellements urgents et les avis de sécurité
2. Tapez Y et appuyez sur Entrée pour vous inscrire auprès du serveur ACME
3. Tapez O ou N pour recevoir des e-mails sur les actualités, les campagnes et la newsletter de l'EFF.
4. Certbot détectera automatiquement le domaine Joomla et vous demandera la permission d'activer HTTPS pour votre site Joomla. Tapez 1 ou les chiffres appropriés séparés par une virgule au cas où vous auriez plusieurs sites Web.
Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1. itzgeek.net 2: www.itzgeek.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1,2
Attendez que l'installation de SSL soit terminée. Vous pourrez désormais accéder au site Web avec HTTPS.
Remarque : Si vous accédez au site Web maintenant, vous obtiendrez une erreur interdite 403 car vous n'avez pas encore placé le fichier d'installation de Joomla.
Redirection des requêtes HTTP non-www vers www HTTPS avec Nginx
Vous souhaiterez peut-être configurer le serveur Nginx pour rediriger le trafic du site HTTP non www vers le site HTTPS WWW, c'est-à-dire http://itzgeek.net>> https://www.itzgeek.net. Vous pouvez ignorer cette étape si vous n'utilisez pas www dans votre domaine.
Certificat SSL à renouvellement automatique
Le client Certbot inclut désormais le renouvellement automatique des certificats SSL via le systemd. Ainsi, vous n'aurez pas à renouveler les certificats manuellement.
Installer Joomla avec Nginx
Créer une base de données pour l'installation de Joomla
Tout d'abord, connectez-vous au serveur de base de données MariaDB/MySQL.
sudo mysql -u root -p
Ensuite, créez la base de données pour l'installation de Joomla avec l'utilisateur et le mot de passe de la base de données.
CREATE DATABASE joomladb; CREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON joomladb.* TO 'joomlauser'@'localhost'; EXIT
Télécharger le package Joomla
Téléchargez la dernière version du package Joomla à l'aide de la commande suivante dans le terminal.
mkdir /tmp/joomla && cd /tmp/joomla wget https://downloads.joomla.org/cms/joomla4/4-0-3/Joomla_4-0-3-Stable-Full_Package.tar.gz?format=gz -O Joomla_4-0-3-Stable-Full_Package.tar.gz
Ensuite, extrayez le fichier téléchargé.
tar -zxvf Joomla_4-0-3-Stable-Full_Package.tar.gz
Ensuite, déplacez les fichiers vers le répertoire racine des documents de votre site Web.
sudo mv * /usr/share/nginx/www.itzgeek.net/html/
Mettez à jour la propriété et un groupe du répertoire du site Joomla.
sudo chown -R www-data:www-data /usr/share/nginx/www.itzgeek.net/
Installer le CMS Joomla
Ouvrez votre navigateur et visitez le domaine de votre site Web Joomla pour effectuer l'installation de Joomla.
https://votre-site-joomla
1. Sélectionnez la langue pour le programme d'installation et saisissez le nom du site pour votre site Web Joomla, puis cliquez sur Configurer les données de connexion
2. Entrez le nom, le nom d'utilisateur, le mot de passe et l'adresse e-mail de l'administrateur Joomla , puis cliquez sur Configurer la connexion de données
3. Sélectionnez le type de base de données comme MySQL (PDO) puis entrez les détails de la base de données Joomla [Laissez le préfixe de table et Cryptage de connexion tel quel] puis cliquez sur Installer Joomla
4. Vous allez maintenant recevoir Félicitations ! Votre site Joomla est prêt. Vous pouvez accéder au site Web en cliquant sur Complete &Open Site ou back-end Joomla en cliquant sur Complete &Open Admin. Si vous le souhaitez, vous pouvez également ajouter une langue supplémentaire pour le front-end et le back-end de votre site Web en cliquant sur Installer des langues supplémentaires.
5. Vous pouvez accéder au back-end Joomla à tout moment en vous rendant sur https://votre-site-joomla/administrateur
Accéder au site Web Joomla
Désormais, vous pourrez accéder au site avec votre nom de domaine.
https://votre-site-joomla
Conclusion
C'est tout. J'espère que vous avez appris à installer Joomla avec Nginx sur Debian 11.