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:
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:
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:
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:
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
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:
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:
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.
Installer WordPress
En suivant les données de cet exemple, nous allons ouvrez le navigateur Web et visitez l'URL:
http://www.wordpress.local
Cela nous conduira à Assistant d'installation de WordPress.
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
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.
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.
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).
Et à partir de là, nous pouvons commencer à développer notre site:
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_filesize = 256M
Nous allons aussi rechercher post_max_size et nous changerons la taille de téléchargement selon nos besoins:
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.
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.
Ça ne marche pas 🙁
Salut. À quel moment l'installation a-t-elle échoué?
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.