GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Joomla avec Nginx et Let's Encrypt SSL sur Debian 11

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.

  1. Nom de domaine autre que www (ex. itzgeek.net) >> A point d'enregistrement vers l'IP de votre serveur
  2. 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 --nginx
1. 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.


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

  2. Installer Automad CMS avec Nginx et Lets Encrypt SSL sur Debian 10

  3. Comment installer OpenCart avec Nginx et Lets Encrypt sur Debian 10

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

  5. Comment installer Let's Encrypt SSL sur Ubuntu 18.04 avec Nginx

Comment installer Let's Encrypt SSL dans Apache sur Debian 11

Comment installer Drupal avec Nginx et Let's Encrypt SSL sur Debian 11

Comment installer Let's Encrypt SSL dans Nginx sur Debian 11

Comment installer WordPress avec Nginx et Let's Encrypt SSL sur Debian 11

Comment installer Nginx avec Let's Encrypt TLS/SSL sur Ubuntu 20.04

Comment installer Nginx avec Let's Encrypt SSL sur Fedora 35