GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Ubuntu 20.04 :WordPress avec l'installation de Nginx

WordPress est un système de gestion de contenu (CMS) extrêmement populaire pour les sites Web. Sa popularité et son omniprésence ne peuvent vraiment pas être surestimées, car il alimente 35% des sites Web. C'est un moyen facile de mettre un site Web en ligne, et il offre beaucoup de possibilités de personnalisation.

Ubuntu 20.04 Focal Fossa et Nginx sont la combinaison parfaite pour faire fonctionner votre site WordPress. L'utilisation de ces utilitaires vous donnera un site Web très puissant, efficace et stable. Mieux encore, tous ces logiciels sont entièrement gratuits et la configuration n'est pas très difficile. Suivez nos étapes ci-dessous pour voir comment faire fonctionner votre site WordPress sur Ubuntu 20.04 avec Nginx.

Si vous êtes plus familier avec ou si vous préférez Apache à Nginx, nous avons rédigé un guide séparé pour l'installation d'Ubuntu 20.04 WordPress sur Apache.

Dans ce didacticiel, vous apprendrez :

  • Comment installer et configurer Nginx
  • Comment installer et configurer MariaDB pour MySQL
  • Comment configurer une base de données MySQL pour WordPress
  • Comment télécharger et installer WordPress
  • Comment configurer SSL pour votre site WordPress

Exécution d'un site Web WordPress sur Ubuntu 20.04 avec Nginx
Configuration logicielle requise et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version du logiciel utilisée
Système Installation d'Ubuntu 20.04 ou mise à niveau d'Ubuntu 20.04 Focal Fossa
Logiciel WordPress, Nginx, PHP, MariaDB (MySQL)
Autre Accès privilégié à votre système Linux en tant que root ou via le sudo commande.
Conventions # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié

Installer Nginx, PHP et MySQL

Avant d'installer WordPress, notre système Ubuntu 20.04 aura besoin de trois composants principaux pour l'exécuter :Nginx, PHP et MySQL. Nginx est pour notre serveur Web, PHP est pour afficher du contenu dynamique et MariaDB (un fork open source de MySQL) est pour notre base de données. Vous pouvez installer ces packages en ouvrant un terminal et en tapant les deux commandes suivantes :

$ sudo apt update
$ sudo apt install nginx mariadb-server mariadb-client php-fpm php-mysql

Configurer MySQL

MySQL nécessite un peu de configuration avant de pouvoir commencer à créer une base de données. Passons d'abord en revue la configuration de sécurité initiale. Tapez la commande suivante dans le terminal :

$ sudo mysql_secure_installation

Il vous sera demandé de définir un mot de passe root pour MySQL, puis quelques questions de sécurité. Vous pouvez répondre y (oui) à toutes les questions, puis la configuration sera terminée.

Passer par la configuration de la sécurité MySQL

Nous couvrons plus en profondeur la configuration de MySQL dans notre article sur l'installation de MySQL sur Ubuntu 20.04, bien que la configuration ci-dessus soit vraiment tout ce que vous aurez à faire.

Créer une base de données pour WordPress

Votre site WordPress aura besoin d'une base de données pour stocker toutes les informations utilisateur, publier du contenu, etc. Suivez ces étapes pour préparer votre base de données et votre utilisateur MySQL :

  1. Démarrez MySQL en tant qu'utilisateur root :
    $ sudo mysql
    
  2. Créer une nouvelle base de données pour WordPress :
    MariaDB [(none)]> CREATE DATABASE wordpress_db;
    
  3. Ensuite, créez un nouvel utilisateur de base de données pour WordPress. Le my_password le texte ci-dessous doit être remplacé par votre mot de passe (sécurisé) souhaité :
    MariaDB [(none)]> CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'my_password';
    
  4. Maintenant, nous devons donner à notre utilisateur WordPress des autorisations complètes sur la base de données WordPress :
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress_db.* to wordpress_user@'localhost';
    
  5. Enfin, enregistrez les modifications que nous avons apportées aux autorisations des utilisateurs et quittez la base de données :
    MariaDB [(none)]> FLUSH PRIVILEGES;
    MariaDB [(none)]> exit
    

    Création de la nouvelle base de données et de l'utilisateur pour WordPress dans MySQL

Configurer Nginx

Avant de pouvoir télécharger WordPress, nous devons configurer correctement Nginx pour héberger notre site Web. Nous allons appeler notre site Web "wordpress" dans toute la configuration de Nginx, mais vous pouvez choisir un autre nom si vous le souhaitez.

Tout d'abord, créez un fichier de configuration sous le /etc/nginx/sites-available répertoire à l'aide de nano ou de votre éditeur de texte préféré :

$ sudo nano /etc/nginx/sites-available/wordpress

Vous pouvez coller le contenu suivant dans votre fichier nouvellement créé, qui est une configuration Nginx assez standard.

server {
        listen 80;
        listen [::]:80;

        root /var/www/wordpress;

        index index.php;

        server_name 127.0.0.1;

        location / {
                try_files $uri $uri/ =404;
        }

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

Il y a quelques lignes ici que vous devrez peut-être modifier. La ligne 9 doit contenir votre nom de domaine à la place de 127.0.0.1 , sauf si vous n'avez pas de nom de domaine. La ligne 17 doit être mise à jour avec le numéro de version de votre PHP installé. Pour vérifier votre version de PHP, exécutez le php --version commande dans le terminal.

Fichier de configuration Nginx pour notre site WordPress

Une fois vos modifications de configuration effectuées, vous pouvez enregistrer vos modifications dans ce fichier et le fermer. Les dernières étapes de la configuration de Nginx consistent à supprimer le site par défaut, à activer votre site Web et à redémarrer Nginx pour que les modifications prennent effet :

$ sudo rm /etc/nginx/sites-enabled/default
$ sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress
$ sudo systemctl restart nginx

Téléchargez et installez WordPress

Maintenant que toutes les conditions préalables sont remplies, nous pouvons enfin passer à l'installation de WordPress lui-même.

  1. Tout d'abord, téléchargez la dernière version de WordPress en utilisant wget :
    $ wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
    
  2. Décompressez l'archive WordPress téléchargée dans le répertoire du site :
    $ sudo tar -xzvf /tmp/wordpress.tar.gz -C /var/www
    
  3. Changer le propriétaire du répertoire du site :
    $ sudo chown -R www-data.www-data /var/www/wordpress
    
  4. Ouvrez votre navigateur Internet et accédez à 127.0.0.1 ou votre nom de domaine complet. Vous serez accueilli par l'assistant de configuration de WordPress. Cliquez sur le bouton "Allons-y" pour commencer la configuration.

    Page de configuration de WordPress
  5. L'écran suivant nous demande des informations sur la configuration de notre base de données. Entrez les valeurs que vous avez définies précédemment, puis cliquez sur "Soumettre". Les deux dernières cases (hôte de la base de données et préfixe de la table) peuvent être laissées à leurs valeurs par défaut.

    Entrez les informations de la base de données MySQL pour WordPress
  6. WordPress doit confirmer qu'il est capable de communiquer avec la base de données MySQL. Cliquez sur "Exécuter l'installation" pour commencer l'installation de WordPress.

    WordPress confirme qu'il peut se connecter à la base de données MySQL
  7. Vous devrez maintenant remplir quelques informations générales sur votre nouveau site Web :son nom, son nom d'utilisateur d'administrateur, son mot de passe, etc. Remplissez-les, puis cliquez sur "installer WordPress" en bas.

    Entrez les informations sur votre nouveau site WordPress
  8. L'installation devrait être terminée et vous pouvez vous connecter à votre nouveau site Web pour commencer à créer du contenu !

    L'installation de WordPress s'est terminée avec succès

Vous pouvez toujours accéder au panneau d'administration de WordPress en accédant à http://127.0.0.1/wp-admin (ou remplaçant 127.0.0.1 avec votre nom de domaine complet).

Tableau de bord d'administration WordPress

Les modifications que vous apportez dans le panneau d'administration seront répercutées sur le site :

Notre nouveau site WordPress est opérationnel

Configuration SSL facultative

Avant de conclure, nous vous montrerons également comment activer SSL sur votre nouveau site WordPress. Ceci est purement facultatif, car votre site fonctionnera parfaitement sans lui, mais cela offre une sécurité supplémentaire et donne aux utilisateurs une sensation chaleureuse et floue en voyant le cadenas à côté de votre nom de domaine dans la barre d'URL de leur navigateur.

  1. Commencez par générer un nouveau certificat auto-signé avec la commande suivante et répondez aux quelques questions qui vous sont posées. Pour le "nom commun", entrez l'adresse IP de votre site Web ou le nom de domaine complet :
    $ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
    

    Remplir les informations du certificat SSL
  2. Ensuite, créez un nouveau fichier de configuration SSL à l'emplacement suivant :
    $ sudo nano /etc/nginx/snippets/self-signed.conf
    
  3. Dans ce fichier, entrez les deux lignes suivantes, avant d'enregistrer les modifications et de quitter le fichier :
    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
    

    Configuration de l'extrait SSL self-signed.conf
  4. Ensuite, nous devons créer un autre extrait de configuration :$ sudo nano /etc/nginx/snippets/ssl-params.conf
  5. Entrez le contenu suivant dans ce fichier, puis enregistrez-le et quittez-le. Notez que puisque nous utilisons un certificat auto-signé, les lignes 9 et 10, qui concernent l'agrafage SSL, ont été commentées. Si vous n'utilisez pas de certificat auto-signé, décommentez ces deux lignes.
    ssl_protocols TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256->
    ssl_ecdh_curve secp384r1;                          
    ssl_session_timeout  10m;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;                          
    # ssl_stapling on;                          
    # ssl_stapling_verify on;                          
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";

    Configuration de l'extrait SSL ssl-params.conf
  6. Ensuite, exécutez la commande suivante pour générer le dhparam.pem fichier :
    $ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
    

    Génération du fichier dhparam.pem
  7. Maintenant que la configuration SSL est terminée, nous devons configurer Nginx pour utiliser SSL. Ouvrez le fichier de configuration Nginx que nous avons créé précédemment pour notre site WordPress :
    $ sudo nano /etc/nginx/sites-available/wordpress
    
  8. Dans le server block, nous devons ajouter les quatre lignes suivantes :
    	listen 443 ssl;
    	listen [::]:443 ssl;
    	include snippets/self-signed.conf;
    	include snippets/ssl-params.conf;
    

    Ces quatre lignes sont nécessaires pour activer SSL sur notre site WordPress
  9. Enregistrez vos modifications dans ce fichier avant de le fermer, puis redémarrez Nginx :
    $ sudo systemctl restart nginx
    

Votre site WordPress pourra désormais utiliser le cryptage SSL :

Le site Web WordPress utilise maintenant le cryptage SSL (HTTPS)

Conclusion

WordPress est utilisé par des millions de personnes, des entreprises Fortune 500 aux petits blogueurs. Il utilise des composants haut de gamme et fonctionne à merveille sur Ubuntu 20.04 Focal Fossa - un combo vraiment difficile à battre.

Dans cet article, nous avons vu comment installer et configurer Nginx, PHP et MySQL afin de faire fonctionner un site Web WordPress. Bien que la configuration prenne un peu de temps, cela en vaut la peine. Nginx est plus rapide que les autres serveurs Web et WordPress vous offre un site Web élégant dès la sortie de la boîte.


Ubuntu
  1. Comment installer Nginx avec PHP5 et MySQL sur Ubuntu 11.10

  2. Installer WordPress sur Nginx Ubuntu

  3. Installer phpMyAdmin avec Nginx sur Ubuntu 18.04 - Processus étape par étape ?

  4. Héberger WordPress dans Ubuntu 20.04, Mysql 8, Ubuntu 20.04, Nginx

  5. Installer WordPress avec Varnish et Nginx sur Ubuntu

Installer WordPress avec LEMP Stack sur Ubuntu 20.04

Comment installer WordPress 5.x avec Nginx sur Ubuntu 18.04 / Ubuntu 16.04

Comment installer WordPress avec Nginx sur Ubuntu

Installer WordPress avec LEMP Stack sur Ubuntu 20.04

Comment installer WordPress avec Nginx dans Ubuntu 20.04

Installer WordPress avec Nginx sur Ubuntu 18.04