droit pour l’auto-upgrade de plugin sur wordpress 2.5

Posté le Samedi 19 avril 2008 à 18 h 55, Read it in english with Google

Si vous n’√™tes pas h√©berg√© sur un mutu, il se peut que wordpress 2.5 vous demande vos codes de connection ftp pour pouvoir mettre √† jour vos plugins.

La plupart des h√©bergeur utilise le module apache suexec sur php qui permet d’√©x√©cuter vos script php avec un utilisateur d√©fini. Bien souvent il s’agit du pocesseur du fichier du script.

L’√©quipe de WordPress a donc fait en sorte que l’on puisse mettre √† jour ses plugins uniquement si le possesseur du script en court d’√©x√©cution est le m√™me que celui qui cr√©√© les nouveaux fichiers (autrement dit les fichiers t√©l√©charg√©s via wordpress.org) :

// wp-admin/includes/file.php : l. 321
$tempFile = tempnam(get_temp_dir(), 'WPU');

if ( getmyuid() == fileowner($tempFile) ) {
  unlink($tempFile);
  return 'direct';
} else ...

Il faut donc que le script appel√© pour faire l’upgrade des plugins (update.php) ait le m√™me owner que l’√©x√©cuteur de votre serveur http. Donc par d√©faut www-data sur apache :
chown www-data chemin_de_wordpress/wp-admin/update.phpBien entendu il faut que www-data est les droits d’√©criture sur le dossier wp-plugins et sur le r√©pertoire du plugin √† upgrad√© (et oui il faut que wordpress le supprime avant de le mettre √† jour).

Faites attention aux plugins qui contiennent des fichiers commençant par des points (.fichier), wordpress ne les supprime pas et cela fait foirer la mise à jour.

Une réponse à “droit pour l’auto-upgrade de plugin sur wordpress 2.5”

  1. rumbaya

    Mille mercis pour cette info, je ne comprenais rien √† cette histoire de codes FTP. Un petit chown -R www-data:www-data plugins/ et tout est rentr√© dans l’ordre!

Laissez un commentaire :