WordPress avec Nginx, installez ce CMS localement sur Ubuntu 20.04

à propos de l'installation de wordpress avec nginx

Dans le prochain article, nous allons voir comment nous pouvons installer WordPress avec Nginx sur Ubuntu 20.04. Cette CMS est l'un des systèmes de gestion de contenu open source les plus utilisés. Il alimente environ 60 millions de sites Web. Il est écrit en PHP et utilise MariaDB / MySQL comme base de données pour stocker des informations.

Dans les lignes suivantes, nous verrons comment installer WordPress localement avec Nginx sur Ubuntu 20.04. Pour cette raison, avant de continuer il sera nécessaire avoir la pile logicielle LEMP installée sur Ubuntu 20.04 pour commencer.

Installez WordPress avec Nginx sur Ubuntu 20.04

Installer les extensions PHP

Les extensions suivantes sont nécessaires pour que WordPress fonctionne sur Ubuntu 20.04. Pour les installer, il suffit d'ouvrir un terminal (Ctrl + Alt + T) et d'exécuter:

installation de packages php

sudo apt update && sudo apt install php-dom php-simplexml php-ssh2 php-xml php-xmlreader php-curl php-exif php-ftp php-gd php-iconv php-imagick php-json php-mbstring php-posix php-sockets php-tokenizer

Créer un bloc de serveur Nginx pour WordPress

Nous allons créer un bloc serveur Nginx pour l'installation de WordPress. Ce bloc de serveur nécessite un nom de domaine, un numéro de port, une racine de document, un emplacement de registre, etc.. Pour cet exemple, les données que je vais utiliser sont les suivantes. Laissez chaque utilisateur les adapter en fonction de ses besoins:

  • Nom de domaine: www.wordpress.local
  • Répertoire racine du document: /sites/www.wordpress.local/public_html/
  • Journaux /sites/www.wordpress.local/logs/

Commençons création d'un fichier de configuration de bloc serveur dans le répertoire /etc/nginx/conf.d avec la commande:

sudo vim /etc/nginx/conf.d/www.wordpress.local.conf

À l'intérieur du fichier, nous placerons le contenu suivant:

fichier de configuration nginx pour WordPress local

server {
        server_name www.wordpress.local;
        root /sites/www.wordpress.local/public_html/;

        index index.html index.php;

        access_log /sites/www.wordpress.local/logs/access.log;
        error_log /sites/www.wordpress.local/logs/error.log;

        # No permitir que las páginas se representen en un iframe en dominios externos
        add_header X-Frame-Options "SAMEORIGIN";

        # Prevención MIME
        add_header X-Content-Type-Options "nosniff";

        # Habilitar el filtro de secuencias de comandos entre sitios en los navegadores compatibles
        add_header X-Xss-Protection "1; mode=block";

        # Evitar el acceso a archivos ocultos
        location ~* /\.(?!well-known\/) {
                deny all;
        }

        # Evitar el acceso a ciertas extensiones de archivo
        location ~\.(ini|log|conf)$ {
                deny all;
        }

        # Habilitar enlaces permanentes de WordPress
        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

}

Nous sauvegardons le fichier et sortons. Maintenant nous allons créer le répertoire racine du document et le répertoire des enregistrements en utilisant les commandes:

création du répertoire racine du document

sudo mkdir -p /sites/www.wordpress.local/public_html/

sudo mkdir -p /sites/www.wordpress.local/logs/

Nous continuons vérification des fichiers de configuration Nginx:

vérification des fichiers de configuration nginx

sudo nginx -t

Un message comme celui de la capture d'écran précédente confirmera que la configuration du serveur Nginx est correcte. Nous finissons par redémarrer le service:

sudo systemctl restart nginx.service

Créer la base de données pour WordPress

création de la base de données pour WordPress avec nginx

Connectons-nous à MariaDB / MySQL:

sudo mysql -u root -p

Puis nous créons la base de données pour WordPress:

CREATE DATABASE wordpress;

Ce qui suit sera créer un utilisateur:

CREATE USER 'wpusuario'@'localhost' IDENTIFIED BY '123password';

Nous continuons donner l'autorisation à l'utilisateur créé d'accéder à la base de données:

GRANT ALL PRIVILEGES ON wordpress.* TO 'wpusuario'@'localhost';

Et nous pouvons laisser:

quit

Télécharger WordPress

Nous téléchargeons la dernière version de WordPress de WordPress.org avec wget:

télécharger la dernière version de WP

wget http://wordpress.org/latest.tar.gz

Maintenant, nous allons extraire le package WordPress avec la commande goudron:

tar -zxvf latest.tar.gz

Ce qui suit sera déplacer les fichiers WordPress vers la racine du document:

sudo mv wordpress/* /sites/www.wordpress.local/public_html/

Nous continuons à modifier la propriété afin que Nginx puisse écrire des fichiers à la racine de ce document:

modifier les autorisations du répertoire racine

sudo chown -R www-data:www-data /sites/www.wordpress.local/public_html/

sudo chown -R www-data:www-data /sites/www.wordpress.local/logs/

Maintenant, nous allons créer une entrée d'hôte pour le domaine (dans cet exemple www.wordpress.local) dans le fichier / Etc / hosts, au cas où notre environnement ne dispose pas d'un serveur DNS pour la résolution de noms:

sudo vim /etc/hosts

Dans le fichier, nous allons ajouter une entrée comme indiqué ci-dessous. L'adresse IP utilisée est celle de mon ordinateur local.

fichier d'hôtes wordpress local

Installer WordPress

En suivant les données de cet exemple, nous allons ouvrez le navigateur Web et visitez l'URL:

sélection de la langue dans l'installation WP

http://www.wordpress.local

Cela nous conduira à Assistant d'installation de WordPress.

démarrer l'assistant d'installation wp

Nous devrions écrivez les détails de la base de données pour permettre à WordPress de s'y connecter. Ce seront les données de la base de données créée précédemment

configuration de la base de données dans l'installation de Wp

Si la connexion est correcte, nous verrons un message de réussite sur un nouvel écran. Pour continuer il vous suffit de cliquer sur Lancez l'installation.

informations sur le site local WP

Sur l'écran suivant, nous devrons entrez le titre du site, l'utilisateur admin WordPress, le mot de passe et l'adresse e-mail. Nous allons passer à l'écran suivant en cliquant sur Installer WordPress.

accès Wp local

Si tout se passe bien, l'installation de WordPress est maintenant terminée. On peut maintenant cliquer sur Accès pour accéder à l'administrateur WordPress (Backend).

Backend WordPress

Et à partir de là, nous pouvons commencer à développer notre site:

avant wp

Définir la taille maximale de téléchargement de fichier

Par défaut, PHP n'autorise pas les téléchargements de fichiers supérieurs à 2 Mo. Pour permettre des téléchargements de fichiers plus volumineux via l'interface Web de WordPress, nous devrons configurer upload_max_filesize et post_max_size dans php.ini.

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

Ici nous allons à rechercher upload_max_filesize y changer la taille de téléchargement à 256M, si c'est ce dont vous avez besoin:

upload_max_files dans php.ini

upload_max_filesize = 256M

Nous allons aussi rechercher post_max_size et nous changerons la taille de téléchargement selon nos besoins:

post_max_size php.ini

post_max_size = 256M

Pour finir nous ajouterons le module principal client_max_body_size dans le fichier de configuration du serveur Nginx.

sudo vim /etc/nginx/nginx.conf

La directive peut être ajoutée au bloc HTTP (pour tous les sites), bloc de serveur particulier ou contexte d'emplacement.

directive dans nginx.conf

client_max_body_size 256M;

Nous sauvegardons le fichier et sortons. On finit par redémarrer les services:

sudo systemctl restart php7.4-fpm.service

sudo systemctl restart nginx.service

Et avec cela, nous aurons WordPress installé localement sur Ubuntu 20.04.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Ana dit

    Ça ne marche pas 🙁

    1.    Damien A. dit

      Salut. À quel moment l'installation a-t-elle échoué?

  2.   Álvaro dit

    Comment puis-je configurer Nginx pour accéder à partir d'une machine externe à partir du même réseau local?
    Lors de l'application de la configuration indiquée et en essayant d'entrer par nom, accédez à la valeur par défaut de Nginx.