GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer WordPress avec LEMP Stack sur Debian 11 Bullseye

WordPress est le système de gestion de contenu le plus dominant écrit en PHP, combiné avec la base de données MySQL ou MariaDB. Vous pouvez créer et maintenir un site sans connaissances préalables en développement Web ou en codage. La première version de WordPress a été créée en 2003 par Matt Mullenweg et Mike Little et est aujourd'hui utilisée par 70% du marché web connu, selon W3Tech. WordPress est disponible en deux versions :l'open source gratuit WordPress.org et WordPress.com, un service payant qui commence à 5 $ par mois jusqu'à 59 $. L'utilisation de ce système de gestion de contenu est simple et souvent considérée comme un tremplin pour créer un blog ou un site similaire.

Dans le didacticiel suivant, vous apprendrez à installer WordPress auto-hébergé à l'aide des dernières versions Nginx, MariaDB et PHP disponibles.

Prérequis

  • OS recommandé : Debian 11 Bullseye
  • Compte utilisateur : Un compte utilisateur avec un accès sudo ou root.
  • Packages requis : répertoriés tout au long du didacticiel

Mettre à jour le système d'exploitation

Mettez à jour votre Debian système d'exploitation pour s'assurer que tous les packages existants sont à jour :

sudo apt update && sudo apt upgrade -y

Le tutoriel utilisera la commande sudo et en supposant que vous avez le statut sudo .

Pour vérifier le statut sudo sur votre compte :

sudo whoami

Exemple de sortie montrant l'état de sudo :

[joshua@debian~]$ sudo whoami
root

Pour configurer un compte sudo existant ou nouveau, visitez notre tutoriel sur Ajouter un utilisateur aux Sudoers sur Debian .

Pour utiliser le compte racine , utilisez la commande suivante avec le mot de passe root pour vous connecter.

su

Installer le package CURL &UNZIP

Le didacticiel utilise la commande curl and unzip pendant certaines parties. Pour vous assurer qu'il est installé, exécutez la commande suivante dans votre terminal :

sudo apt install curl unzip -y

Installer le dernier Nginx - (pile LEMP)

Pour démarrer l'installation de la pile LEMP, vous devrez installer le Nginx serveur Web. Une méthode consiste à installer la dernière version principale ou stable de Nginx à partir du référentiel Ondřej Surý pour disposer du logiciel le plus à jour. De nombreux utilisateurs d'Ubuntu connaissent son PPA, et vous pouvez faire de même dans Debian.

Pour utiliser la dernière version de Nginx mainline ou stable, vous devrez d'abord importer le référentiel.

Pour importer le référentiel principal :

curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x

Pour importer un dépôt stable :

curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x

Mettez à jour votre référentiel pour refléter la nouvelle modification :

sudo apt update

Maintenant que vous avez installé le dépôt Nginx et mis à jour la liste des référentiels, installez Nginx avec ce qui suit :

sudo apt install nginx-core nginx-common nginx nginx-full

Exemple de résultat :

Tapez Y , puis appuyez sur la TOUCHE ENTRÉE pour continuer et terminer l'installation.

Vérifiez maintenant que le dernier Nginx du référentiel Ondřej Surý a été installé à l'aide de la commande apt-cache policy . Remarque, l'exemple de didacticiel installé Nginx Mainline :

apt-cache policy nginx

Exemple de sortie pour Nginx Mainline :

Notez que vous pouvez être invité à conserver ou à remplacer votre /etc/nginx/ existant nginx.conf fichier de configuration lors de l'installation. Il est recommandé de conserver votre fichier de configuration actuel en appuyant sur (n) .

En installant Nginx avec la coutume, le référentiel est livré avec des modules supplémentaires compilés, l'un des modules les plus triés et recommandés à activer est le module Brotli.

Pour installer brotli , ouvrez votre nginx.conf fichier de configuration :

nano /etc/nginx/nginx.conf

Ajoutez maintenant les lignes supplémentaires avant dans le HTTP{} rubrique :

brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
   application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
   application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
   font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
   image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;

Le brotli_comp_level peut être défini entre 1 (le plus bas) et 11 (le plus élevé) . En règle générale, la plupart des serveurs se trouvent au milieu, mais si votre serveur est un monstre, réglez-le sur 11 et surveillez les niveaux d'utilisation du processeur.

Ensuite, testez pour vous assurer que les modifications fonctionnent correctement avant de les mettre en ligne :

sudo nginx -t

Si les modifications fonctionnent correctement, vous devriez voir ce qui suit :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Appliquez maintenant les modifications en redémarrant votre serveur :

sudo systemctl restart nginx

Ensuite, activez Nginx au démarrage du système :

sudo systemctl enable nginx

Enfin, vérifiez que Nginx fonctionne correctement ; cela devrait être bon à ignorer si vous avez exécuté la commande nginx -t et n'a obtenu aucune erreur.

systemctl status nginx

Exemple de résultat :

Installer la dernière version de MariaDB (LEMP STACK)

Le didacticiel recommandera d'installer MariaDB en permanence sur MySQL en raison des performances plus qu'autre chose.

Tout d'abord, importez le référentiel MariaDB officiel, 10.6 est la version stable actuelle, mais 10.7 est la nouvelle version mais peut-être pas aussi stable.

Option 1 – Importer MariaDB 10.6 :

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.7 --skip-maxscale --skip-tools

Option 2 – Importer MariaDB 10.7 :

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.7 --skip-maxscale --skip-tools

Une fois que vous avez choisi une version, mettez à jour votre référentiel APT.

sudo apt update

Installer MariaDB sur Debian Desktop ou Server

Pour installer MariaDB, vous devrez installer les packages client et serveur. Cela peut être fait comme suit :

sudo apt install mariadb-server mariadb-client

Exemple de résultat :

Tapez Y , puis appuyez sur la TOUCHE ENTRÉE pour continuer et terminer l'installation.

Confirmez l'installation de MariaDB en vérifiant la version et le build :

mariadb --version

Exemple de résultat :

mariadb  Ver 15.1 Distrib 10.6.4-MariaDB, for debian-linux-gnu (x86_64) using readline EditLine wrapper

Ensuite, démarrez votre service MariaDB en exécutant la commande suivante pour démarrer et activer au démarrage :

sudo systemctl start mariadb && sudo systemctl enable mariadb

Exemple de résultat en cas de succès :

Synchronizing state of mariadb.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mariadb

Vérifier l'état du serveur MariaDB

Vous avez maintenant installé MariaDB et vous pouvez vérifier l'état du logiciel de base de données à l'aide de la commande systemctl suivante :

systemctl status mariadb

Par défaut, vous constaterez que le statut de MariaDB est désactivé. Pour démarrer MariaDB, utilisez la commande suivante :

sudo systemctl start mariadb

Maintenant, revérifiez l'état et vous devriez obtenir ce qui suit :

Pour arrêter MariaDB :

sudo systemctl stop mariadb

Pour activer MariaDB au démarrage du système :

sudo systemctl enable mariadb

Pour désactiver MariaDB au démarrage du système :

sudo systemctl disable mariadb

Pour redémarrer le service MariaDB :

sudo systemctl restart mariadb

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

Ensuite, vous serez invité à entrer votre (mot de passe root MariaDB) . Pour l'instant, appuyez sur (ENTER) car le mot de passe root n'est pas encore défini comme ci-dessous :

sudo mysql_secure_installation

Ensuite, tapez (Y) et appuyez sur Entrée pour configurer le (racine) mot de passe comme ci-dessous :

La prochaine série de questions que vous pouvez appuyer en toute sécurité sur (ENTER) , qui répondra (Y) à toutes les questions suivantes qui vous demandent de (supprimer les utilisateurs anonymes, désactiver la connexion root à distance et supprimer la base de données de test) . Notez le (O) est en majuscule, ce qui signifie qu'il s'agit de la réponse par défaut lorsque vous appuyez sur (ENTER) clé.

Exemple ci-dessous :

[joshua@debian-11 ~]$ sudo mariadb-secure-installation

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!

Aperçu de ce qui aurait dû être fait ci-dessus :

  • Définition du mot de passe pour root comptes.
  • Suppression des comptes racine accessibles depuis l'extérieur de l'hôte local.
  • Suppression des comptes d'utilisateurs anonymes
  • Suppression de la base de données de test, accessible par défaut aux utilisateurs anonymes.

Cette étape est essentielle pour la sécurité de la base de données MariaDB et ne doit pas être modifiée ou ignorée à moins que vous ne sachiez ce que vous faites.

Installer le dernier PHP (LEMP STACK)

La dernière partie du tutoriel consistera à installer PHP, qui est le backend qui communique entre Apache et MariaDB, l'intermédiaire. PHP 8.0 devient relativement stable et les nouvelles versions de PHP 8.1 sont maintenant disponibles.

Le didacticiel se concentrera sur l'importation de la dernière version PHP d'Ondřej Surý, le responsable de Debian PHP. Ceci est toujours à jour même lorsque de nouvelles versions de PHP sont supprimées.

Importer le référentiel PHP Ondřej Surý

La première étape consiste à importer et à installer GPG et le référentiel.

Dans votre terminal, utilisez la commande suivante.

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

Cette commande installera le référentiel PHP et mettra à jour votre référentiel APT.

Ensuite, mettez à jour la liste des référentiels car le nouveau référentiel nécessitera la mise à niveau de certains packages existants et il est conseillé de le faire avant d'installer toute version de PHP.

sudo apt upgrade

Option 1. Installer PHP 7.4

Vous pouvez maintenant procéder à l'installation de PHP 7.4 pour votre besoin particulier comme suit :

sudo apt install php7.4-fpm php7.4-cli php7.4-common php7.4-mbstring php7.4-xmlrpc php7.4-soap php7.4-gd php7.4-xml php7.4-intl php7.4-mysql php7.4-cli php7.4-ldap php7.4-zip php7.4-mcrypt php7.4-curl php7.4-json php7.4-opcache php7.4-readline php7.4-xml php7.4-gd -y

Vérifiez l'installation et vérifiez la version et le build :

php -v

Exemple de résultat :

Ensuite, démarrez et activez PHP 7.4-FPM pour qu'il démarre automatiquement au démarrage.

sudo systemctl start php7.4-fpm && sudo systemctl enable php7.4-fpm

Maintenant, par défaut, PHP-FPM devrait être en cours d'exécution. Pour le confirmer, utilisez la commande systemctl suivante :

sudo systemctl status php7.4fpm

Exemple de résultat :

Option 2. Installer PHP 8.0

Vous pouvez maintenant procéder à l'installation de PHP 8.0 pour votre besoin particulier comme suit :

sudo apt install php8.0-fpm php8.0-cli php8.0-common php8.0-mbstring php8.0-xmlrpc php8.0-soap php8.0-gd php8.0-xml php8.0-intl php8.0-mysql php8.0-cli php8.0-ldap php8.0-zip php8.0-mcrypt php8.0-curl php8.0-opcache php8.0-readline php8.0-xml php8.0-gd unzip -y

Vérifiez l'installation et vérifiez la version et le build :

php -v

Exemple de résultat :

Maintenant, par défaut, PHP-FPM devrait être en cours d'exécution. Pour le confirmer, utilisez la commande systemctl suivante :

sudo systemctl status php8.0-fpm

Exemple de résultat :

Installer le moteur WordPress

Télécharger WordPress

Visitez la page de téléchargement de WordPress.org et faites défiler vers le bas pour trouver le "latest.zip " lien de téléchargement. Ensuite, en utilisant la commande wget, télécharger le fichier.

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

Créer une structure de dossiers pour WordPress

Maintenant que vous avez téléchargé l'archive, décompressez-la et déplacez-la dans votre répertoire www.

Créez le répertoire pour WordPress :

sudo mkdir -p /var/www/html/wordpress

Décompressez WordPress dans le répertoire www :

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

Vous devez définir les autorisations du propriétaire du répertoire sur WWW, sinon vous aurez des problèmes avec les autorisations d'écriture de WordPress.

Définir l'autorisation chown (important) :

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

Définir l'autorisation chmod (important) :

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

Créer une base de données pour WordPress

WordPress nécessite une base de données pour fonctionner, c'est pourquoi vous avez dû installer MariaDB. Avant de continuer, vous devez créer une base de données pour WordPress à l'aide de MariaDB. Tout d'abord, ouvrez la console du terminal et tapez ce qui suit.

Afficher le shell MariaDB en tant que racine :

sudo mariadb -u root

Deuxième commande alternative :

sudo mysql -u root

Ensuite, créez la base de données. Cela peut être n'importe quel nom que vous voulez. Pour le guide, vous l'appellerez "WORDPRESSDB."

Créer une base de données WordPress :

CREATE DATABASE WORDPRESSDB;

Une fois la base de données créée, vous devez créer un nouvel utilisateur pour le nouveau site WordPress.

Ceci est fait par mesure de sécurité, de sorte que chaque base de données a un utilisateur différent. Si un nom d'utilisateur est compromis, l'attaquant n'accède pas à toutes les bases de données des autres sites Web.

Créez l'utilisateur de la base de données WordPress :

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

Remplacer WPUSER et PASSWORD avec le nom d'utilisateur ou le mot de passe que vous désirez. Ne copiez pas et ne collez pas l'utilisateur/passe par défaut ci-dessus pour des raisons de sécurité.

Attribuez maintenant l'accès utilisateur nouvellement créé à la base de données du site Web WordPress uniquement ci-dessous.

Attribuer la base de données au compte utilisateur WordPress créé :

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

Une fois tous les paramètres de configuration de la base de données terminés, vous devez vider les privilèges pour prendre effet et quitter.

Privilèges Flush :

FLUSH PRIVILEGES;

Quitter MariaDB :

EXIT;

Définir les fichiers de configuration WordPress

Vous devez définir certains paramètres dans le "wp-config-sample.php " dossier. Ci-dessous, vous verrez comment renommer le fichier d'exemple et entrer les informations requises.

Tout d'abord, renommez le fichier de configuration.

Allez dans le répertoire WordPress :

cd /var/www/html/wordpress/

Renommer le fichier de configuration :

sudo mv wp-config-sample.php wp-config.php

À l'aide d'un éditeur de texte, affichez le fichier nouvellement renommé wp-config.php. Dans notre exemple, nous utiliserons nano.

sudo nano wp-config.php

Ensuite, vous entrerez le nom de la base de données, le compte utilisateur avec un mot de passe, l'adresse IP de l'hôte si elle est différente de localhost.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */ 
define( 'DB_NAME', 'wordpressdb' );
/* MySQL database username */ 
define( 'DB_USER', 'wpuser1' );
/* MySQL database password */
define( 'DB_PASSWORD', 'YOUR PASSWORD' );
/* 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', '' );

Pendant que vous êtes dans ce fichier, l'ajout de paramètres supplémentaires facilitera la gestion de votre WordPress, comme l'enregistrement direct des fichiers au lieu d'utiliser FTP et l'augmentation des limites de taille de la mémoire.

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

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

##change Wordpress database table prefix if wanted##
 $table_prefix = 'wp_';

Définir les clés de sel de sécurité WordPress

Il serait préférable de visiter l'API de clé secrète WordPress pour générer la vôtre. Le générateur de clé de sel d'adresse peut être trouvé à https://api.wordpress.org/secret-key/1.1/salt/ . Remplacez les lignes d'exemple par les codes du générateur.

NE COPIEZ PAS L'EXEMPLE CI-DESSOUS, ET C'EST JUSTE POUR RÉFÉRENCE.

define('AUTH_KEY',         '<3yfS7/>%m.Tl^8Wx-Y8-|T77WRK[p>(PtH6V]Dl69^<8|K86[_Z},+THZ25+nJG');
define('SECURE_AUTH_KEY',  'bN#Qy#ChBX#Y`PE/_0N42zxgLD|5XpU[mu.n&:t4q~hg<UP/b8+xFTly_b}f]M;!');
define('LOGGED_IN_KEY',    'owpvIO-+WLG|,1)CQl*%gP1uDp}s(jUbYQ[Wm){O(x@sJ#T}tOTP&UOfk|wYsj5$');
define('NONCE_KEY',        '8=Vh|V{D<>`CLoP0$H!Z3gEqf@])){L+6eGi`GAjV(Mu0YULL@sagx&cgb.QVCbi');
define('AUTH_SALT',        '%TX*X$GE-;|?<-^(+K1Un!_Y<hk-Ne2;&{c[-v!{q4&OiJjQon /SHcc/:MB}y#(');
define('SECURE_AUTH_SALT', '=zkDT_%}J4ivjjN+F}:A+s6e64[^uQ<qNO]TfHS>G0elz2B~7Nk.vRcL00cJoo7*');
define('LOGGED_IN_SALT',   '{$-o_ull4|qQ?f=8vP>Vvq8~v>g(2w12`h65ztPM(xo!Fr()5xrqy^k[E~TwI!xn');
define('NONCE_SALT',       'a1G(Q|X`eX$p%6>K:Cba!]/5MAqX+L<A4yU_&CI)*w+#ZB+*yK*u-|]X_9V;:++6');

Configuration du bloc de serveur Nginx

Maintenant, vous êtes presque prêt à installer WordPress via l'interface utilisateur Web. Cependant, vous devez configurer votre bloc de serveur Nginx. Les paramètres ci-dessous sont assez cruciaux. Il convient de souligner l'importance de "try_files $uri $uri/ /index.php?$args;" car c'est souvent un problème avec d'autres tutoriels qui laissent la fin ?$args laissé de côté, vous donnant des problèmes majeurs de santé du site vient à l'API REST de WordPress.

Tout d'abord, créez un nouveau fichier de configuration de serveur avec la commande suivante en remplaçant l'exemple par votre nom de domaine,

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

Voici un exemple ; vous pouvez choisir les pièces; cependant, le "emplacement ~ \.php$" doit être dans le fichier de configuration Nginx.

REMARQUE :Assurez-vous de modifier www.example.com et example.com ainsi que le chemin racine.

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;

  # assets, media
  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;
  }
  
  # svg, fonts
  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;
  }
}

Remarque, si vous utilisez PHP 8.0 trouvez et remplacez la ligne ci-dessus "fastcgi_pass unix:/run/php/php7.4-fpm.sock;" à "fastcgi_pass unix:/run/php/php8.0-fpm.sock;" .

Ensuite, vous devrez activer le fichier de configuration Nginx à partir de "sites-available" . Pour ce faire, vous allez créer un lien symbolique vers "sites-enabled" comme suit.

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

Assurez-vous de remplacer "example.conf" avec le nom de votre fichier de configuration.

Vous pouvez maintenant faire un essai puis redémarrer votre serveur Nginx si tout va bien.

sudo nginx -t

Après vérification et que tout est ok avec votre test de fonctionnement à vide Nginx, redémarrez le service Nginx.

sudo systemctl restart nginx

Configuration PHP.ini

Avant de passer à la partie installation de l'interface utilisateur Web, vous devez ajuster votre PHP pour une utilisation optimale de WordPress. Ces paramètres sont plus un guide, et vous pouvez augmenter, diminuer comme bon vous semble.

Tout d'abord, affichez votre php.ini. Notez que votre emplacement peut varier en fonction de votre numéro de version PHP.

PHP 7.4 :

sudo nano /etc/php/7.4/fpm/php.ini

PHP 8.0 :

sudo nano /etc/php/8.0/fpm/php.ini

Les fichiers multimédias WordPress peuvent être assez importants et la valeur par défaut peut être trop faible. Vous pouvez l'augmenter à peu près à ce que vous pensez être la taille de votre fichier le plus volumineux. Trouvez les lignes suivantes ci-dessous et ajustez-les à vos besoins.

##increase upload max size recommend 50 to 100mb## 
 upload_max_filesize = 100MB

##increase post max size recommend 50 to 100mb##
 post_max_size = 100MB

## increase max execution time recommend 150 to 300##
 max_execution_time = 300

## increase GET/POST/COOKIE input variables recommend 5000 to 10000##
max_input_vars = 10000

## increase memory limit recommend 256mb or 512mb##
memory_limit = 256M

Redémarrez maintenant votre serveur PHP-FPM.

PHP 7.4 :

sudo systemctl restart php7.4-fpm

PHP 8.0 :

sudo systemctl restart php8.0-fpm

Les paramètres PHP que vous avez ajustés concernent le backend PHP. Vous devrez également modifier le bloc de serveur Nginx pour autoriser les grandes tailles de corps. Cela se fait en rouvrant votre bloc de serveur et en ajoutant la ligne suivante.

Ouvrez votre bloc serveur.

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

Ajustez cette ligne pour augmenter la taille du corps.

client_max_body_size 100M;

N'oubliez pas de conserver la taille maximale du client identique à votre paramètre de fichier PHP de taille maximale .

Ensuite, testez les modifications, puis redémarrez votre serveur Nginx si tout va bien.

sudo nginx -t

Après vérification et que tout est ok avec votre test de fonctionnement à vide Nginx, redémarrez le service Nginx.

sudo systemctl restart nginx

Installer l'interface WordPress

Maintenant que toute l'installation et la configuration du backend sont terminées, vous pouvez accéder à votre domaine et commencer l'installation.

##go to installation address##
 https://www.yoursite.com
##alternative url##
 https://www.yoursite.com/wp-admin/install.php

La première page que vous verrez est la création d'un nom d'utilisateur et d'un mot de passe ainsi que certains détails du site. Ce sera votre futur compte de connexion administrateur, et vous pourrez également le modifier ultérieurement.

Si vous créez un site Web, activez "dissuader fortement les moteurs de recherche d'indexer" empêche Google ou Bing ou tout autre "robot de moteur de recherche bon/réputé" d'indexer un site WIP. Une fois terminé, vous arriverez à l'écran suivant avec une connexion.

Félicitations, vous avez installé avec succès la dernière version de WordPress sur Nginx avec la pile LEMP.

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

Idéalement, vous voudriez exécuter votre Nginx sur HTTPS en utilisant un certificat SSL . La meilleure façon de le faire est d'utiliser Let's Encrypt, une autorité de certification gratuite, automatisée et ouverte gérée par le Groupe de recherche sur la sécurité Internet (ISRG) à but non lucratif .

Tout d'abord, installez le package certbot comme suit :

sudo apt install python3-certbot-nginx -y

Une fois installé, exécutez la commande suivante pour lancer la création de votre certificat :

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d www.example.com

Cette configuration idéale comprend forcer les redirections HTTPS 301, un en-tête Strict-Transport-Security et l'agrafage OCSP. Assurez-vous simplement d'adapter l'adresse e-mail et le nom de domaine à vos besoins.

Maintenant, votre URL sera HTTPS://www.example.com au lieu de HTTP://www.example.com .

Si vous utilisez l'ancienne URL HTTP , il redirigera automatiquement vers HTTPS .


Debian
  1. Installer WordPress avec Nginx sur Debian 10/11

  2. Comment installer WordPress avec LEMP Stack sur CentOS 8

  3. Comment installer WordPress avec Nginx sur Debian 10

  4. Comment installer MERN Stack avec Nginx sur Debian 11

  5. Comment installer la pile LEMP sur Debian 10 Buster

Comment installer phpMyAdmin avec Nginx sur Debian 11 Bullseye

Comment installer WonderCMS avec Nginx sur Debian 11 Bullseye

Comment installer phpBB avec LEMP (Nginx, MariaDB et PHP) sur Debian 11 Bullseye

Comment installer WordPress avec LAMP Stack sur Debian 11 Bullseye

Comment installer Nginx Google Pagespeed sur Debian 11 Bullseye

Comment installer la pile LEMP sur Debian 11