Comment installer WordPress avec Nginx sur Debian 12 ou 11

WordPress est un système de gestion de contenu (CMS) puissant et largement utilisé qui permet aux utilisateurs de créer et de gérer facilement des sites Web. Associé à la stack LEMP (Linux, NGINX, MariaDB, PHP), WordPress devient une plateforme robuste et performante pour le développement web. La pile LEMP est connue pour son efficacité, sa rapidité et son évolutivité, ce qui la rend idéale pour l'hébergement de sites Web WordPress. Les principales fonctionnalités de WordPress incluent une interface intuitive, un vaste écosystème de plugins, des thèmes personnalisables et un solide support communautaire.

Pour installer WordPress sur Debian 12 ou 11 avec NGINX, MariaDB et PHP, suivez ces étapes. Ce guide couvrira la configuration de la pile LEMP, l'installation de WordPress et les configurations essentielles pour que votre site soit opérationnel sans problème.

Installez LEMP pour WordPress

Mettre à jour Debian avant d'installer la pile LEMP

Avant d'installer WordPress, mettez à jour votre système Debian pour éviter les conflits potentiels. Ouvrez votre terminal et exécutez :

sudo apt update && sudo apt upgrade

Cette commande met à jour les packages disponibles et met à niveau votre système.

Installez les packages nécessaires

Même si vous disposez de packages essentiels pour WordPress, vérifiez à nouveau pour vous assurer que vous n’en avez manqué aucun. Exécutez la commande suivante :

sudo apt install curl git wget unzip zip

Cette commande installe ou confirme les packages nécessaires pour WordPress.

Installer Nginx – Partie 1 de l'installation de LEMP

Pour configurer une pile LEMP, vous devez installer Nginx. Exécutez cette commande :

sudo apt install nginx

Après l'installation, vérifiez si Nginx est en cours d'exécution :

systemctl status nginx

Si le service Nginx n'est pas actif, vous pouvez le mettre en mouvement avec la commande suivante :

sudo systemctl enable nginx --now

Cette commande garantit que Nginx démarre à chaque redémarrage du serveur, ce qui est essentiel pour une pile LEMP fonctionnelle.

Remarque : Il est préférable d'utiliser la dernière version principale de Nginx pour optimiser les performances de votre WordPress. Vous pouvez suivre le guide sur installer Nginx Mainline sur Debian Linux pour installer la dernière version. Cette version offre des fonctionnalités supplémentaires et des améliorations pour améliorer la vitesse et les performances globales de votre site Web.

Configuration du pare-feu UFW pour Nginx

La configuration du pare-feu UFW avec votre serveur Nginx est cruciale pour la sécurité et pour permettre l'accès externe aux ports Web standard. La bonne nouvelle est que Nginx propose des profils qui simplifient le processus de configuration d'UFW.

Installation d'UFW :

Si vous n'avez pas encore installé UFW sur votre système Debian, exécutez la commande ci-dessous :

sudo apt install ufw

Activation d'UFW :

Une fois installé, il est temps d'activer UFW. Par défaut, UFW bloque toutes les connexions entrantes tout en autorisant toutes les connexions sortantes. Activez le pare-feu avec :

sudo ufw enable

Affichage des profils Nginx :

Pour vérifier les profils Nginx disponibles pour UFW, exécutez ce qui suit :

sudo ufw app list

À partir du résultat, vous remarquerez que :

  • Nginx fonctionne sur le port 80 (HTTP)
  • Nginx Secure fonctionne sur le port 443 (HTTPS)
  • Nginx Full englobe les deux ports

Configuration d'UFW pour Nginx :

Si vous souhaitez activer à la fois l'accès HTTP et HTTPS, optez pour le profil Nginx Full :

sudo ufw allow 'Nginx Full'

Cependant, vos besoins peuvent différer :

Pour un accès HTTPS uniquement, choisissez le profil Nginx Secure :

sudo ufw allow 'Nginx Secure'

Accès HTTP uniquement, optez pour le profil HTTP Nginx :

sudo ufw allow 'Nginx HTTP'

Vous pouvez créer d'autres règles UFW pour sécuriser votre serveur et votre configuration LEMP avec WordPress, et vous devriez investir du temps dans le verrouillage de votre serveur s'il est exposé au public.

Installer MariaDB – Partie 2 de l'installation de LEMP

MariaDB, connue pour ses performances améliorées par rapport à MySQL, est le composant de base de données de la pile LEMP. Si vous souhaitez installer une version spécifique de MariaDB à partir des référentiels officiels de MariaDB.org, reportez-vous aux guides sur installer MariaDB sur Debian. Cela peut optimiser davantage vos performances WordPress.

Pour installer MariaDB, exécutez :

sudo apt install mariadb-server mariadb-client

Après l'installation, vérifiez l'état de MariaDB :

systemctl status mariadb

Cette commande affiche l'état du service de MariaDB et toutes les erreurs potentielles.

Si MariaDB ne fonctionne pas, démarrez-le avec :

sudo systemctl enable mariadb --now

Cela garantit que MariaDB démarre à chaque redémarrage du système, ce qui est vital pour une pile LEMP stable et une configuration WordPress.

Sécurisez MariaDB avec un script de sécurité

Pour la protection des données, vous devez sécuriser votre installation MariaDB. Les nouvelles installations de MariaDB peuvent avoir des paramètres de sécurité par défaut laxistes, les exposant à des menaces. Cependant, le script mysql_secure_installation peut renforcer les défenses de votre base de données.

Exécutez le script de sécurité :

sudo mysql_secure_installation

Ce script vous guide à travers plusieurs configurations de sécurité :

  • Définir le mot de passe root ou opter pour unix_socket pour la prévention des accès non autorisés.
  • Suppression des comptes d'utilisateurs anonymes pour limiter l'accès à la base de données aux utilisateurs autorisés.
  • Restreindre la connexion à distance pour les comptes d'utilisateurs root.
  • Suppression de la base de données de test pour éviter tout accès non autorisé et fuites potentielles de données.

Répondez attentivement à chaque invite ; ces paramètres affectent profondément la sécurité de votre base de données. Une fois les étapes terminées, votre configuration MariaDB devrait être sécurisée et opérationnelle.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Ces mesures de sécurité garantissent que votre installation MariaDB est sécurisée et protégée contre les menaces.

Installer PHP, PHP-FPM – Partie 3 de l'installation de LEMP

Pour une pile LEMP complète, vous devez installer PHP. PHP sert de pont entre Nginx et MariaDB, facilité par PHP-FPM et d'autres modules essentiels pour WordPress.

Remarque : Si vous souhaitez une version PHP spécifique adaptée à vos besoins, consultez notre guide sur l'installation de PHP sur Debian. Les nouveaux utilisateurs de Linux doivent pour l'instant utiliser la valeur par défaut avant d'installer des versions personnalisées.

Exécutez la commande suivante pour installer PHP, PHP-FPM et les modules requis :

sudo apt install php php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-imagick php-ldap php-intl

Après l'installation, vérifiez l'état du service PHP, qui est similaire à ce que vous avez fait pour MariaDB et Nginx. Pour cet exemple, nous utilisons PHP 7.4 :

systemctl status php7.4-fpm

Le résultat devrait ressembler à ceci :

Remarque : La version PHP-FPM varie selon chaque version stable de Debian. Si vous n'êtes pas sûr de votre version, exécutez php -v découvrir.

Configuration de pré-installation pour WordPress avec LEMP

Créer une structure de répertoire WordPress

Pour installer WordPress sur votre pile Debian LEMP, vous pouvez soit télécharger la dernière version depuis la page de téléchargement officielle de WordPress.org ou utilisez la commande suivante pour la télécharger directement :

wget https://wordpress.org/latest.zip

Une fois téléchargée, décompressez l'archive dans le répertoire /var/www/html à l'aide de la commande suivante :

sudo unzip latest.zip -d /var/www/html/

Ensuite, assurez-vous que WordPress dispose des autorisations d'écriture correctes en définissant les autorisations de propriétaire du répertoire sur l'utilisateur du serveur Web.

Cela peut être fait avec la commande suivante :

sudo chown -R www-data:www-data /var/www/html/wordpress/

Après avoir défini l'autorisation du propriétaire du répertoire, vous devez définir les autorisations correctes pour les dossiers et fichiers WordPress à l'aide des commandes suivantes :

Pour les dossiers :

sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;

Et pour les fichiers :

sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

La définition des autorisations de dossier et de fichier correctes garantit que votre installation WordPress est sécurisée et fonctionne correctement.

Créer une base de données pour WordPress

Pour exécuter WordPress sur votre pile Debian LEMP, vous devez créer une base de données à l'aide de MariaDB. Accédez au shell MariaDB en tant que root à l'aide de la commande suivante :

sudo mariadb -u root

Une fois dans le shell MariaDB, créez une nouvelle base de données à l'aide de la commande suivante :

CREATE DATABASE WORDPRESSDB;

Ensuite, créez un nouveau compte utilisateur pour WordPress avec la commande suivante :

CREATE USER 'WPUSER'@localhost IDENTIFIED BY 'PASSWORD';

Remarque : remplacez « WPUSER » et « PASSWORD » par le nom d'utilisateur et le mot de passe souhaités.

Enfin, attribuez au compte utilisateur nouvellement créé l’accès à la base de données du site Web WordPress uniquement à l’aide de la commande suivante :

GRANT ALL PRIVILEGES ON WORDPRESSDB.* TO WPUSER@localhost IDENTIFIED BY 'PASSWORD';

Après avoir créé le compte utilisateur, videz les privilèges pour vous assurer que les nouvelles modifications prennent effet avec la commande suivante :

FLUSH PRIVILEGES;

Enfin, quittez le shell MariaDB en tapant :

EXIT;

Définir les fichiers de configuration WordPress

La configuration des fichiers de configuration WordPress est une étape essentielle du processus d'installation. Cela implique de renommer l'exemple de fichier wp-config.php et de saisir les détails de configuration nécessaires.

Accédez au répertoire WordPress à l'aide de la commande suivante :

cd /var/www/html/wordpress/

Copiez le wp-config-sample.php dans wp-config.php à l'aide de la commande suivante :

sudo cp wp-config-sample.php wp-config.php

À l'aide d'un éditeur de texte, affichez le fichier wp-config.php nouvellement copié :

sudo nano wp-config.php

Ensuite, entrez le nom de la base de données, le compte utilisateur avec un mot de passe et l'adresse IP de l'hôte si nécessaire.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */ 

define( 'DB_NAME', 'WORDPRESSDB' );                 <--------------- change this

/* MySQL database username */ 

define( 'DB_USER', 'WPUSER );                               <--------------- change this

/* MySQL database password */

define( 'DB_PASSWORD', 'PASSWORD' );             <--------------- change this

/* MySQL hostname, change the IP here if external DB set up */ 

define( 'DB_HOST', 'localhost' );

/* Database Charset to use in creating database tables. */

define( 'DB_CHARSET', 'utf8' );

/* The Database Collate type. Don't change this if in doubt. */

define( 'DB_COLLATE', '' );

En plus de ces paramètres, vous pouvez également ajouter les éléments suivants au fichier wp-config.php pour améliorer la gestion de WordPress :

/** ## Save files direct method ## */
define( 'FS_METHOD', 'direct' );

/** ## Increase memory limit, 256MB is recommended ## */
define('WP_MEMORY_LIMIT', '256M');

La limite de mémoire de votre serveur dédié ou VPS peut varier en fonction de la capacité de votre système. Vous pouvez augmenter ou diminuer la limite de mémoire de 256 Mo par petits incréments, par exemple 128 Mo, 256 Mo, 512 Mo, etc.

Remarque : Il est important de noter qu'il est recommandé de n'effectuer que de légers ajustements à la limite de mémoire pour des performances et une stabilité optimales.

Implémentation des clés de sel de sécurité WordPress

L'amélioration de la sécurité de votre installation WordPress est primordiale, et un moyen efficace d'y parvenir consiste à configurer des clés de sel de sécurité WordPress. Ces clés agissent comme un bouclier de sécurité augmenté, fortifiant votre site WordPress contre les menaces potentielles et renforçant l'authentification des utilisateurs et le cryptage des données.

Génération de clés Salt de sécurité

Pour produire vos clés de sel de sécurité, accédez à l'API de clé secrète WordPress : https://api.wordpress.org/secret-key/1.1/salt/. Une fois que vous avez généré ces clés, il est essentiel de remplacer les lignes d'espace réservé dans votre fichier wp-config.php par vos clés uniques. Cette étape renforce l'authentification des utilisateurs et le cryptage des données.

Remarque : N'utilisez pas les exemples de lignes fournis ici ou ailleurs, car ils le sont à des fins d'illustration. L'utilisation de clés salt prédéfinies peut exposer votre site à des vulnérabilités. Générez toujours des clés distinctes pour chaque configuration WordPress afin de garantir une sécurité optimale.

Intégration des clés Salt de sécurité

Pour intégrer les clés salt de sécurité fraîchement générées dans votre fichier wp-config.php, ouvrez le fichier dans un éditeur de texte :

sudo nano /var/www/html/wordpress/wp-config.php

Maintenant, identifiez les lignes du fichier wp-config.php correspondant aux exemples de clés. Une fois localisé, remplacez chaque exemple de clé dans le fichier wp-config.php par vos clés nouvellement générées. Après avoir effectué les remplacements nécessaires, assurez-vous de sauvegarder et de fermer le fichier.

Si vous utilisez l'éditeur nano, enregistrez en appuyant sur « CTRL+X » suivi de « Y ».

Configuration du bloc de serveur Nginx pour la configuration WordPress LEMP

La configuration correcte du bloc serveur Nginx est vitale pour une installation transparente de WordPress via l’interface utilisateur Web. Il est essentiel d'obtenir le « try_files $uri $uri/ /index.php?$args; » droit directif. Omettre le « ?$args » peut interférer avec l'API REST de WordPress. Pour éviter tout problème potentiel lors de l’installation, suivez attentivement ces instructions.

Créez un nouveau fichier de configuration de serveur pour votre installation WordPress sur Nginx. Remplacez « exemple.com » par votre nom de domaine réel dans la commande suivante :

sudo nano /etc/nginx/sites-available/example.com.conf

Pour que Nginx fonctionne avec PHP, vous devez inclure le « emplacement ~ .php$ » dans le fichier de configuration du bloc serveur. Voici un exemple de configuration que vous pouvez utiliser comme référence.

Assurez-vous d'ajuster le chemin racine et les noms de domaine en fonction de votre configuration :

server {
  listen 80;
  listen [::]:80;
  server_name www.example.com example.com;
  root /var/www/html/wordpress;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~* /wp-sitemap.*\.xml {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  client_max_body_size 100M;

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_intercept_errors on;
  }

  gzip on;
  gzip_comp_level 6;
  gzip_min_length 1000;
  gzip_proxied any;
  gzip_disable "msie6";
  gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;

  location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
    expires 90d;
    access_log off;
  }

  location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
    add_header Access-Control-Allow-Origin "*";
    expires 90d;
    access_log off;
  }

  location ~ /\.ht {
    access_log off;
    log_not_found off;
    deny all;
  }
}

N'oubliez pas d'ajuster le fichier de configuration Nginx en conséquence si vous avez installé une version différente de PHP ou PHP-FPM ou si votre version Debian est par défaut une autre version de PHP.

Par exemple, pour PHP-FPM 8.2, modifiez la ligne fastcgi_pass unix:/run/php/php8.1-fpm.sock; à fastcgi_pass unix:/run/php/php8.2-fpm.sock;. Il est essentiel de faire correspondre la version de la configuration avec celle de votre système pour un fonctionnement fluide.

Comprendre le bloc du serveur WordPress Nginx

Pour ceux qui découvrent la configuration de Nginx et WordPress, voici un aperçu de l'exemple de bloc de serveur :

Paramètres de base du serveur :

  • Ces paramètres définissent les aspects fondamentaux du bloc serveur, tels que l'adresse IP, le port sur lequel Nginx doit écouter et les noms de serveur.
  • La directive racine pointe vers le répertoire principal contenant les fichiers du site Web.
  • La directive index demande à Nginx d'identifier les fichiers d'index lors de la diffusion du site.

Les paramètres de localisation:

  • Ces paramètres incluent divers blocs d'emplacement qui dictent la manière dont Nginx traite les demandes pour différentes URL.
  • Le bloc d'emplacement initial gère les requêtes adressées à l'URL racine du site, à l'aide de la directive try_files.
  • Le bloc d'emplacement suivant traite les demandes spécifiquement pour le fichier WordPress sitemap.xml.

Paramètres de gestion PHP :

  • Ces paramètres déterminent la manière dont Nginx traite les fichiers PHP.
  • La directive fastcgi_pass pointe vers l'emplacement du fichier de socket PHP-FPM.
  • La directive fastcgi_param attribue la valeur du paramètre SCRIPT_FILENAME à l'emplacement du fichier PHP demandé.
  • Les directives include récupèrent des fichiers de configuration supplémentaires pour le module FastCGI.
  • Des directives comme fastcgi_buffer_size et fastcgi_buffers désignent la taille du tampon pour le transfert de données entre Nginx et PHP-FPM.
  • La directive fastcgi_intercept_errors permet à Nginx de capturer et de gérer les erreurs PHP.

Paramètres de compression Gzip :

  • Ces paramètres configurent la compression Gzip, réduisant ainsi la taille du fichier livré au client.
  • La directive gzip active la compression Gzip.
  • Des directives telles que gzip_comp_level et gzip_min_length déterminent respectivement le niveau de compression et la taille minimale du fichier pour la compression.
  • La directive gzip_proxied identifie les types de requêtes soumis à une compression.
  • La directive gzip_types énumère les types MIME éligibles à la compression.

Paramètres de mise en cache des fichiers :

  • Ces paramètres optimisent la mise en cache des fichiers statiques, améliorant ainsi la vitesse du site Web.
  • Le bloc d'emplacement initial établit la durée d'expiration des fichiers d'actifs et multimédias.
  • Le bloc d'emplacement suivant définit l'expiration des polices et des fichiers SVG.
  • Des directives telles que access_log et log_not_found régissent la journalisation des requêtes.
  • La directive add_header ajoute l'en-tête Access-Control-Allow-Origin, permettant le chargement de polices et de SVG à partir de domaines externes.

Blocage des fichiers .htaccess :

  • Ce paramètre restreint l'accès aux fichiers commençant par .ht, généralement des fichiers de configuration de serveur sensibles.

Configuration du bloc serveur Nginx avec un lien symbolique

Pour conclure la configuration du bloc du serveur Nginx, vous devez activer le fichier de configuration à partir du répertoire « sites-available ». Ceci est réalisé en créant un lien symbolique vers le répertoire « sites activés ».

Exécutez la commande ci-dessous, en vous assurant de remplacer « example.com.conf » par le nom de votre fichier de configuration :

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Cette commande établit un lien symbolique entre les répertoires, accordant à Nginx l'accès au fichier de configuration. Après avoir effectué ce paramétrage, validez la configuration avec :

sudo nginx -t

Si le test ne renvoie aucune erreur, redémarrez Nginx pour appliquer les modifications du blocage du serveur :

sudo systemctl restart nginx

Une fois ces étapes terminées, votre site WordPress devrait désormais être accessible via Nginx.

Configuration de PHP.ini pour des performances WordPress optimales

Le réglage de vos paramètres PHP est crucial pour obtenir les meilleures performances avec WordPress. Pour gérer efficacement les fichiers multimédias dans WordPress, envisagez d’augmenter la taille maximale de téléchargement, la taille de publication et la limite de mémoire. Vous devrez peut-être également modifier le temps d'exécution maximum et les variables d'entrée pour éviter des problèmes potentiels.

Pour accéder à votre fichier php.ini, utilisez le terminal. N'oubliez pas que l'emplacement du fichier peut différer en fonction de votre version de PHP :

sudo nano /etc/php/8.0/fpm/php.ini
sudo nano /etc/php/8.1/fpm/php.ini
sudo nano /etc/php/8.2/fpm/php.ini
sudo nano /etc/php/8.3/fpm/php.ini

Pour personnaliser les paramètres PHP, recherchez et ajustez les lignes suivantes dans votre fichier php.ini :

##increase this to the maximum file size you want to upload, recommended 50 to 100MB## 
 upload_max_filesize = 100M

##increase this to the maximum post size you want to allow, recommended 50 to 100MB##
 post_max_size = 100M

##increase this to the maximum execution time, recommended 150 to 300 seconds##
 max_execution_time = 300

##increase this to the maximum GET/POST/COOKIE input variables, recommended 5000 to 10000##
max_input_vars = 5000

##increase this to the maximum memory limit, recommended 256MB or 512MB. Note that you should ensure your system has enough RAM before raising this.##
memory_limit = 256M

Après avoir modifié vos paramètres PHP, il est indispensable de redémarrer le serveur PHP-FPM. Cela garantit que les nouvelles configurations sont actives, permettant à votre site WordPress de fonctionner au mieux.

Augmenter la taille maximale du corps du client du serveur Nginx

Pour prendre en charge les téléchargements de fichiers plus volumineux sur votre site WordPress, vous devrez modifier le bloc du serveur Nginx. Cela garantit que Nginx peut gérer des corps de requête HTTP plus volumineux, ce qui est essentiel lorsqu'il s'agit de téléchargements de fichiers volumineux.

Modification du bloc du serveur Nginx

Ouvrez le fichier de configuration de votre bloc serveur et insérez la ligne suivante :

##set to the maximum upload size you set in upload_max_filesize.##
client_max_body_size – <size>

Assurez-vous que la valeur de client_max_body_size correspond à la valeur upload_max_filesize que vous avez configurée dans vos paramètres PHP.

Redémarrage de PHP-FPM

Après avoir ajusté les paramètres PHP pour des performances WordPress optimales, y compris la taille de téléchargement, la taille des publications et la limite de mémoire, il est crucial de redémarrer le serveur PHP-FPM pour que les modifications prennent effet. La commande exacte pour redémarrer le serveur dépend de votre version de PHP. Si vous n'êtes pas sûr de votre version de PHP, consultez la documentation de votre système.

Pour les différentes versions de PHP, utilisez les commandes correspondantes pour redémarrer PHP-FPM :

sudo systemctl restart php8.0-fpm
sudo systemctl restart php8.1-fpm
sudo systemctl restart php8.2-fpm
sudo systemctl restart php8.3-fpm

Installer le frontal WordPress

Après avoir finalisé la configuration et l’installation du backend, il est temps de lancer le frontend WordPress sur votre domaine. Démarrez l’installation en vous rendant sur votre domaine, préfixé par « https:// » ou « http:// ». Vous pouvez également accéder directement à « https://www.votresite.com/wp-admin/install.php ».

Cette URL vous dirige vers l'assistant d'installation frontale.

Étape 1 : Sélectionnez la langue WordPress

Sélectionnez la langue souhaitée et cliquez sur "Continuer."

Étape 2 : Créer un utilisateur administrateur pour WordPress

Ensuite, vous arriverez sur une page vous invitant à saisir le titre de votre site, votre nom d'utilisateur, votre mot de passe et l'adresse e-mail de l'administrateur principal du site WordPress.

Pour des raisons de sécurité, choisissez un mot de passe robuste et fournissez une adresse e-mail valide. N'oubliez pas que vous pourrez modifier d'autres paramètres ultérieurement dans le panneau des paramètres de WordPress.

Pour ceux qui développent leur site et souhaitent le garder privé des moteurs de recherche comme Google ou Bing, il existe une option permettant de « décourager fortement l'indexation des moteurs de recherche ».

Étape 3 : Procédez et cliquez sur le bouton Installer WordPress

Après avoir rempli vos coordonnées et préférences, cliquez sur le bouton "Installer WordPress" bouton. Une installation réussie vous redirigera vers la page de connexion.

Étape 4 : Procédez à la connexion sur la page d'administration WordPress

Saisissez vos informations de connexion et appuyez sur « Connexion ». Cette action vous amènera au tableau de bord WordPress, où vous pourrez créer ou importer votre site Web.

Étape 5 : Affichez et ajustez le site WordPress via l'administrateur WordPress

Le tableau de bord WordPress est votre centre de commande. Ici, vous pouvez rédiger de nouveaux articles, concevoir des pages, gérer des thèmes et des plugins et personnaliser l'apparence, le contenu et les opérations de votre site.

Avec son interface conviviale, le tableau de bord vous permet d'établir rapidement votre site Web, vous permettant de concevoir un site captivant et professionnel avec un minimum d'effort.

Conseils supplémentaires pour WordPress avec Nginx

Sécuriser WordPress et Nginx avec le certificat SSL Let's Encrypt

L'amélioration de la sécurité de votre serveur Web est primordiale, et un moyen efficace d'y parvenir consiste à exécuter Nginx sur HTTPS à l'aide d'un certificat SSL. Let's Encrypt offre une autorité de certification gratuite, automatisée et ouverte, facilitant la configuration des certificats SSL pour votre serveur Nginx.

Installation de Certbot

Commencez par installer le package certbot avec la commande :

sudo apt install python3-certbot-nginx

Générer le certificat SSL

Une fois que vous avez installé le package certbot, générez votre certificat SSL avec les éléments suivants :

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

Certbot vous demandera de saisir votre e-mail et votre nom de domaine au cours de ce processus. Vous aurez également la possibilité de recevoir des emails de l'EFF. Décidez si vous souhaitez vous inscrire en fonction de vos préférences.

Après avoir installé le certificat, l'URL de votre site Web passera de HTTP à HTTPS. Les visiteurs accédant à l’ancienne URL HTTP seront automatiquement redirigés vers la nouvelle URL HTTPS. Cette configuration garantit les redirections HTTPS 301, un en-tête Strict-Transport-Security et l'agrafage OCSP pour une sécurité de haut niveau.

Configuration du renouvellement automatique des certificats

Pour garder votre certificat SSL valide, configurez une tâche cron pour son renouvellement automatique. Certbot propose un script pour cela. Avant de finaliser la configuration, effectuez un test de fonctionnement à sec :

sudo certbot renew --dry-run

Accédez à la configuration de crontab, saisissez :

sudo crontab -e

Pour renouveler automatiquement votre certificat SSL, planifiez-le à l'aide d'une tâche cron avec la commande suivante :

00 00 */1 * * /usr/sbin/certbot-auto renew

Celui-ci tentera de renouveler le certificat chaque jour à minuit.

Résoudre les erreurs de session PHP

Vous rencontrez des problèmes de sauvegarde de session, notamment lors de l’utilisation de certains plugins ? La racine du problème peut être due à des autorisations utilisateur incorrectes dans le répertoire /var/lib/php/sessions/. Mais ne vous inquiétez pas ; vous pouvez résoudre ce problème avec une commande simple.

Ajustement des autorisations d'annuaire

Exécutez la commande ci-dessous pour définir les autorisations correctes :

sudo chown -R www-data:www-data /var/lib/php/sessions/

Cette commande définit l'utilisateur et le groupe www-data comme propriétaires du répertoire de sessions. En conséquence, WordPress peut écrire des données de session sans aucun problème. Cet ajustement est vital pour le fonctionnement fluide de votre site WordPress, principalement si vous utilisez des plugins qui gèrent des tâches automatisées, telles que la publication sur les réseaux sociaux.

La résolution des erreurs de session PHP est essentielle pour augmenter les performances de votre site Web et améliorer l'expérience utilisateur.

Résoudre la boucle de redirection HTTPS dans WordPress

Si votre site WordPress se retrouve piégé dans une boucle de redirection après l'activation de HTTPS, c'est probablement parce que WordPress continue d'essayer de rediriger vers la version sécurisée HTTPS, mais la boucle ne se termine jamais. Pour résoudre ce problème, vous pouvez modifier votre fichier wp-config.php avec des lignes de code spécifiques.

Modification du fichier wp-config.php

Insérez les lignes suivantes dans votre wp-config.php :

define('FORCE_SSL_ADMIN', true);

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
    $_SERVER['HTTPS'] = 'on';
}

Voici un aperçu de ce que fait chaque ligne :

  • La première ligne définit la constante FORCE_SSL_ADMIN sur true, garantissant que toutes les pages d'administration utilisent HTTPS.
  • Le code suivant vérifie si l'en-tête HTTP_X_FORWARDED_PROTO contient le terme « https ». S'il trouve une correspondance, il désigne la variable du serveur HTTPS comme « on ». Cette action informe WordPress que la connexion est sécurisée.

En intégrant ces lignes dans votre fichier wp-config.php, vous devriez pouvoir vous libérer de la boucle de redirection HTTPS et garantir le bon fonctionnement de votre site WordPress avec sa nouvelle connexion sécurisée.

Correction de la boucle de redirection de nom de domaine

Une boucle de redirection dans votre site WordPress peut parfois provenir d'une inadéquation entre le nom de domaine spécifié dans votre fichier wp-config.php et le nom de domaine de votre site Web. Pour résoudre ce problème, vous devrez vérifier et éventuellement ajuster le nom de domaine dans la configuration.

Vérification du fichier wp-config.php

Inspectez les lignes suivantes dans votre wp-config.php :

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Si le nom de domaine ne correspond pas au domaine de votre site Web, corrigez-le en conséquence.

Conclusion

Avec WordPress installé avec succès sur votre système Debian à l’aide de la pile LEMP, vous pouvez profiter de ses fonctionnalités puissantes et de ses performances robustes. Mettez régulièrement à jour votre installation WordPress et les composants de la pile LEMP pour garantir une sécurité et des fonctionnalités optimales. Profitez de la flexibilité et des fonctionnalités étendues qu'offrent WordPress et la pile LEMP pour créer et gérer votre site Web.

Joshua James
Suis-moi
Les derniers articles par Joshua James (tout voir)

Laissez un commentaire