Journal du Nazmi

Une petite archive de mes prises de tête techniques et sociétales

Quand WordPress demande un mot de passe FTP car il n’arrive pas à écrire dans son répertoire

Temps de lecture : 2 minutes

Je me suis tapé cette erreur une dizaine de fois en configurant des instances de WordPress cette année, car sur un hébergement non partagé (VPS ou Dédié), les permissions sont à configurer soi même...et je ne les avais pas configurées.

À chaque fois que l'on veut installer un plugin ou mettre à jour wordpress ou sa configuration (wp-config.php), on a cette erreur:

« Pour lancer la requête demandée, WordPress a besoin d’accéder à votre serveur web. Veuillez saisir votre identifiant FTP pour continuer. Si vous ne vous souvenez pas de votre identifiant, vous devriez contacter votre hébergeur. »

Nom de l'hôte
Identifiant FTP
Mot de passe
FTP FTPS(SSL)

Voici donc ce qu'il se passe et les commandes pour y remédier (c'est la même erreur que quand wordpress n'arrive pas à créer le wp-config.php lors de l'installation et demande à l'utilisateur de faire un copier/coller de la configuration).

Pour que wordpress puisse écrire, il faut que le module PHP du serveur web (souvent apache), ait les droits d'écriture sur le répertoire d'installation.

Ce serveur web a souvent un utilisateur nommé www-data, pour vérifier l'utilisateur il suffit de créer un fichier whoami.php contenant:

<?php
echo(exec("whoami"));
?>

Quand vous irez chercher cette url (http://mondomaine.com/whoami.php) vous obtiendrez:

https://nazmi.fr/journal/whoami.php

 

Maintenant nous allons donner les droits à cet utilisateur en faisant (il faut avoir accès au terminal du serveur (SSH) et connaître le répertoire où est installé wordpress):

sudo chown -R www-data: /var/www/répertoire/de/wordpress

une autre méthode consiste à changer les permissions en 777 (tout le monde peut écrire dans le répertoire), c'est néanmoins déconseillé pour des raisons de faille de sécurité potentielle.

sudo chmod -R 777 /var/www/répertoire/de/wordpress

Il est aussi bon d'ajouter ceci en haut du fichier wp-config.php:

define('FS_METHOD', 'direct');

Ce paramètre impose l'écriture directe par PHP sur le serveur, car wordpress pourrait quand même réessayer de demander les identifiants FTP par la suite.

Next Post

Previous Post

Leave a Reply

© 2020 Journal du Nazmi

Theme by Anders Norén