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.
- Nom de domaine autre que www (ex. itzgeek.net) >> A point d'enregistrement vers l'IP de votre serveur
- 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 --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 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-wordpress1. 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-wordpressConclusion
C'est tout. J'espère que vous avez appris à installer WordPress avec Nginx sur Debian 11.