GNU/Linux >> Tutoriels Linux >  >> Debian

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

WordPress est la plate-forme de site Web la plus populaire sur Internet. 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 WordPress sur votre machine Debian locale ou VPS.

Ici, nous allons voir comment installer WordPress avec Nginx sur Debian 11.

Installer la pile LEMP

Suivez les liens ci-dessous pour installer la pile LEMP sur votre système Debian pour votre installation WordPress.

Installer EMP (Nginx, MariaDB et PHP) sur Debian 11

Configurer l'hôte virtuel Nginx

Nous allons commencer par créer un hôte virtuel pour une installation WordPress. Vous pouvez trouver tous les fichiers de configuration de l'hôte virtuel de Nginx sous /etc/nginx/conf.d annuaire. Généralement, les fichiers d'hôte virtuel contiennent un nom de domaine, un numéro de port, une racine de document, un emplacement de journal, un CGI rapide, etc.

Supposons 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

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 hidden files
	location ~* /\.(?!well-known\/) {
		deny all;
	}

	# Prevent access to certain file extensions
	location ~\.(ini|log|conf)$ {
		deny all;
	}

        # Enable WordPress Permananent Links
	location / {
		try_files $uri $uri/ /index.php?$args;
	}

	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

Créer un enregistrement DNS

Accédez à votre bureau d'enregistrement de domaine et créez un enregistrement A et CNAME (facultatif si vous ne souhaitez pas utiliser le sous-domaine www) pour votre domaine. En règle générale, vous devrez créer deux enregistrements pour votre site Web WordPress.

  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 (par exemple, www.itzgeek.net) >> CNAME point d'enregistrement vers itzgeek.net

Pour cette démo, je vais créer deux enregistrements afin que mon site WordPress soit accessible à l'adresse www.itzgeek.net.

Installer le certificat SSL Let's Encrypt

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. Donc, d'abord, installez le démon 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 ci-dessous.

sudo snap install --classic certbot

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Installer le certificat SSL

Utilisez la commande ci-dessous 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 WordPress et vous demandera la permission d'activer HTTPS pour votre site WordPress. 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é de fichiers WordPress.

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.

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 WordPress avec Nginx

Créer une base de données WordPress

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 WordPress avec l'utilisateur et le mot de passe de la base de données.

CREATE DATABASE wpdatabase;

CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wppassword';

GRANT ALL PRIVILEGES ON wpdatabase.* TO 'wpuser'@'localhost';

EXIT

Télécharger WordPress

Téléchargez la dernière version du programme d'installation de WordPress à l'aide de la commande suivante.

curl -O https://wordpress.org/latest.tar.gz

Ensuite, extrayez le fichier téléchargé.

tar -zxvf latest.tar.gz

Ensuite, déplacez les fichiers vers le répertoire racine des documents de votre site Web.

sudo mv wordpress/* /usr/share/nginx/www.itzgeek.net/html/

Mettez à jour la propriété et un groupe du répertoire WordPress.

sudo chown -R www-data:www-data /usr/share/nginx/www.itzgeek.net/

Installer WordPress

Ouvrez votre navigateur et visitez le domaine de votre site Web WordPress pour effectuer l'installation de WordPress.

https://votre-site-wordpress

1. Choisissez la langue d'installation et cliquez sur Continuer

2. Cliquez sur Allons-y !

3. Entrez les détails de la base de données WordPress puis cliquez sur Soumettre

4. Cliquez sur Exécuter l'installation

5. Saisissez les informations du site WordPress puis cliquez sur Installer WordPress

6. Cliquez sur Connexion pour accéder au backend d'administration de WordPress pour gérer l'installation de WordPress. Alternativement, vous pouvez accéder au backend WordPress en allant sur https://your-wordpress-website/wp-admin

Accéder au site Web WordPress

Désormais, vous pourrez accéder au site avec votre nom de domaine.

https://votre-site-wordpress

Conclusion

C'est tout. J'espère que vous avez appris à installer WordPress 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 WordPress avec Nginx et Lets Encrypt SSL sur CentOS 8

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

  5. Comment installer WordPress avec Nginx sur Debian 10

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 Joomla avec Nginx et Let's Encrypt SSL sur Debian 11

Comment installer Let's Encrypt SSL dans Nginx 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