WordPress Nginx : Tout ce que vous devez savoir sur l’installation de WordPress sur Ubuntu

Nginx est un serveur web open-source qui a été publié pour la première fois en 2004 et qui est entièrement écrit dans le langage de programmation C. Il présente de nombreux avantages que vous découvrirez ici ! Dans ce tutoriel, nous allons vous montrer comment installer WordPress avec Nginx !

Pourquoi utiliser Nginx avec WordPress

Nginx a gagné une immense popularité ces derniers temps et est couramment recherché comme alternative au serveur web Apache. Nginx prend en charge le proxy inverse, la mise en cache, le streaming multimédia, l’équilibrage de charge, et bien plus encore. Cela en fait un excellent choix pour un site web WordPress propulsé par une solution VPS.

Voici quelques-unes des fonctions intégrées de Nginx :

  • Nginx est conçu pour fonctionner avec une faible utilisation de la mémoire.
  • Il peut supporter une concurrence extrêmement élevée
  • Il est compatible avec Ipv6
  • Prise en charge du proxy inverse avec mise en cache efficace
  • Fournit un équilibreur de charge intégré
  • Prise en charge de WebSockets
  • Gestion optimisée des fichiers d’index, des fichiers statiques et de l’indexation automatique.
  • Il est accompagné de FastCGI pour une mise en cache efficace

Nginx fait bien plus qu’un serveur web conventionnel, et c’est l’une des raisons pour lesquelles il a gagné tant de popularité. Nginx fait de l’ombre à de nombreux serveurs web traditionnels et fournit constamment des références surpassant leurs performances.

Nginx résout de nombreux problèmes d’extensibilité et est considéré comme une solution au problème C10K lié à la concurrence.

Et comme vous le savez maintenant, Nginx et WordPress fonctionnent très bien ensemble !

Ici, nous allons vous guider dans l’installation de WordPress en utilisant Nginx sur la plateforme Linux.

Comme pour LAMP, l’utilisation de Nginx est appelée LEMP (Linux, Nginx, MySQL/MariaDB et PHP).

Conditions préalables à l’installation de WordPress avec Nginx

  1. Vous êtes connecté avec un accès sudo
  2. Nginx est préinstallé
  3. Vous avez un certificat SSL installé pour votre domaine
  4. Vous possédez un nom de domaine qui pointe vers l’IP publique de votre serveur. Dans cet exemple, ce sera sample.com.

Comment installer WordPress avec Nginx

Passons en revue l’ensemble du processus :

1. Mettre à jour votre système

Mettre à jour l’index du paquet en utilisant :

sudo apt update

Mettre à jour les paquets système vers la dernière version en utilisant :

sudo apt upgrade

2. Installer Nginx

Les paquets Nginx sont disponibles dans le dépôt Ubuntu par défaut. Vous pouvez utiliser la commande ci-dessous pour les installer :

sudo apt install nginx

L’installation prendra un certain temps. Une fois l’installation terminée, le service Nginx démarre automatiquement. Pour connaître l’état du service, utilisez la commande suivante :

sudo systemctl status nginx

3. Configuration de l’UFW (Facultatif)

Si vous utilisez UFW (Uncomplicated Firewall) pour gérer le pare-feu de votre SDV, vous devrez ouvrir les ports 80 et 443 pour HTTP et HTTPS respectivement. Vous pouvez activer le profil complet de Nginx qui contient des règles pour les deux ports. Ceci peut être fait en utilisant :

sudo ufw allow 'Nginx Full'

Pour vérifier l’état, vous pouvez utiliser

sudo ufw status

4. Installation et configuration de la base de données MySQL

Pour stocker les données, nous utiliserons MySQL. Si vous n’avez pas installé MySQL, vous pouvez le faire en utilisant :

sudo apt install mysql-server

Une fois cette opération terminée, la base de données MySQL sera démarrée automatiquement. Vous pouvez utiliser la commande ci-dessous pour vérifier son état :

sudo systemctl status mysql

Ensuite, vous pouvez vous connecter à l’interpréteur de commandes MySQL en utilisant :

mysql -u root -p

Cela vous fera basculer dans la console MySQL, ce qui est reconnaissable au mysql> au début de la ligne. Ici, vous pouvez créer une base de données et un utilisateur de base de données avec les noms WordPress et WordPressUser respectivement.

CREATE DATABASE WordPress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL ON WordPress.* TO WordPressUser @'localhost' IDENTIFIED BY 'your password';
FLUSH PRIVILEGES;
EXIT;

Cela crée une configuration de base de données qui peut être utilisée pour l’installation de WordPress.

5. Installer PHP

Vous pouvez installer toutes les extensions PHP nécessaires directement avec une seule commande puisque ce sont les seules que WordPress utilisera. Cela peut être fait en utilisant :

sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

Une fois l’installation terminée, PHP-FPM démarre automatiquement. Il s’agit d’un gestionnaire de processus CGI rapide qui permet la mise en cache.

6. Installer WordPress avec Nginx

Pour installer WordPress avec Nginx, créez d’abord un répertoire pour télécharger l’archive WordPress :

sudo mkdir -p /var/www/html/sample.com

Sur le site officiel de WordPress, vous pouvez télécharger les dernières versions de WordPress. Téléchargez-la dans le répertoire /tmp. Vous pouvez accéder à ce répertoire en utilisant cd, et télécharger l’archive en utilisant wget :

cd /tmp
wget https://wordpress.org/latest.tar.gz

Ensuite, vous pouvez extraire cette archive dans le répertoire créé précédemment. Ceci peut être fait en utilisant :

tar xf latest.tar.gz
sudo mv /tmp/wordpress/* /var/www/html/sample.com/

Le serveur web aura besoin d’un accès complet à ces fichiers. Modifiez l’autorisation en utilisant :

sudo chown -R www-data: /var/www/html/sample.com

Notez que Nginx et PHP fonctionnent avec l’utilisateur et le groupe www-data, c’est pourquoi ils sont utilisés dans la commande ci-dessus.

7. Configurer Nginx pour WordPress

Pour configurer Nginx pour WordPress, nous devons créer un nouveau bloc serveur pour notre installation WordPress. Naviguez jusqu’à /etc/nginx/sites-available. Créez-y un fichier portant le nom sample.com. Le nom doit être le même que celui de votre domaine.

Ajoutez ce code au fichier nouvellement créé :

# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.sample.com sample.com;

include snippets/letsencrypt.conf;
return 301 https://sample.com$request_uri;
}

# Redirect WWW -> NON-WWW
server {
listen 443 ssl http2;
server_name www.sample.com;

ssl_certificate /etc/letsencrypt/live/sample.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/sample.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/sample.com/chain.pem;
include snippets/ssl.conf;

return 301 https://sample.com$request_uri;
}

server {
listen 443 ssl http2;
server_name sample.com;

root /var/www/html/sample.com;
index index.php;

# SSL parameters
ssl_certificate /etc/letsencrypt/live/sample.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/sample.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/sample.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;

# log files
access_log /var/log/nginx/sample.com.access.log;
error_log /var/log/nginx/sample.com.error.log;

location = /favicon.ico {
log_not_found off;
access_log off;
}

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

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

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}

Veillez à utiliser le nom de domaine correct. Pour faciliter la gestion, créez un lien symbolique vers le répertoire sites-enabled.

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

Vous pouvez valider la configuration de Nginx en utilisant :

sudo nginx -t

S’il n’y a pas d’erreur, vous verrez un message indiquant que la syntaxe est correcte. Vous pouvez ignorer le reste du message.

Ensuite, vous pouvez redémarrer Nginx en utilisant :

sudo systemctl restart nginx

À ce stade, PHP, MySQL et Nginx sont configurés et démarrés. Ensuite, configurez et vérifiez l’installation de WordPress.

8. Configuration de WordPress pour Nginx

C’est presque terminé ! La dernière étape consiste à configurer votre propre WordPress !

Ouvrez votre navigateur et tapez le nom de domaine comme vous le feriez sur http://sample.com. Remplacez ce nom par votre domaine !

Vous verrez apparaître un écran indiquant le choix de la langue. Choisissez votre option préférée.

Vous verrez une page d’instructions que vous pouvez lire et passer à la page suivante. Sur l’écran suivant, vous pouvez configurer les détails de votre base de données.

Indiquez le nom de votre base de données ainsi que le nom d’utilisateur et le mot de passe. Dans notre cas, ce sera WordPress pour le nom de la base de données et WordPressUser pour le nom d’utilisateur.

Vous pouvez démarrer l’installation en cliquant sur le bouton.

Dans la page suivante, vous pouvez fournir des détails supplémentaires. A cette étape, vous définirez le nom d’utilisateur pour WordPress.

Pour des raisons de sécurité, vous devez remplacer le nom d’utilisateur “admin” par un autre. Cliquez sur le bouton Installer WordPress. Cela vous redirigera vers la page de connexion où vous pourrez saisir votre nom d’utilisateur et votre mot de passe WordPress nouvellement configurés.

Une fois connecté, vous pourrez voir le tableau de bord de WordPress.

De là, vous pouvez configurer votre WordPress, définir de nouveaux thèmes, ajouter des plugins et bien plus encore.

Conclusion

Dans ce tutoriel, nous avons appris comment installer WordPress en utilisant Nginx sur Ubuntu. Bingo, vous venez de configurer une installation complète du CMS le plus populaire. Allez-y et amusez-vous à explorer la puissance de WordPress avec les fonctionnalités supplémentaires d’un puissant serveur privé virtuel.

Author
L'auteur

Chaimaa Chakir

Chaimaa est une spécialiste du référencement et du marketing de contenu chez Hostinger. Elle est passionnée par le marketing digital et la technologie. Elle espère aider les gens à résoudre leurs problèmes et à réussir en ligne. Chaimaa est une cinéphile qui adore les chats et l'analyse des films.