J'utilise le serveur 10.04. J'essaie de mettre à niveau Wordpress via l'interface d'administration. J'ai un serveur vsftpd en cours d'exécution et il accepte les connexions locales. Pour mes informations d'identification FTP, j'ai fourni les éléments suivants:
Lorsque je soumets la mise à niveau, le message suivant est renvoyé au bout d'un moment (1-2 minutes):
Downloading update from http://wordpress.org/wordpress-3.2.Zip…
Unpacking the update…
Could not create directory.: /var/www/wordpress/wp-content/upgrade/wordpress-3.tmp
Installation Failed
Je suppose que c'est un problème d'autorisations, mais je n'ai pas été capable de le résoudre. Même la configuration des répertoires chmod 777 ne fonctionne pas. Des idées? Merci!
Edit: Test avec ftp 127.0.0.1 donne ce qui suit:
$ ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.2.2)
Name (127.0.0.1:wpuser):
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir /var/www/wordpress/wp-content/upgrade/test/
550 Permission denied.
Peut-être que quelque chose ne va pas avec mes paramètres vsftpd? Voici le fichier vsftpd.conf:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
Modifier la partie 2:
Je ne peux pas encore répondre car je n'ai pas assez de réputation. Voici comment j'ai résolu le problème:
J'ai finalement résolu le problème, bien que ce ne soit peut-être pas la meilleure solution. Gardez à l'esprit que le service FTP n'est pas accessible par Internet extérieur.
Donc, Wordpress essaie d'utiliser FTP pour créer les répertoires et les fichiers nécessaires à la mise à niveau. Cela se produit également lors du téléchargement de plugins ou de thèmes. Comme je ne pouvais pas non plus créer un répertoire via FTP, j'ai décidé d'essayer ce qui suit dans la configuration de vsftpd:
anon_upload_enable=YES
anon_mkdir_write_enable=YES
J'ai redémarré le serveur et tout a fonctionné. Maintenant, je suppose que cela peut être un problème de sécurité, mais le compte anon est désactivé (anonymous_enable = NO).
De plus, en guise de commentaire et de réponse aux deux autres suggestions concernant les autorisations de répertoire, voici ce que j'ai essayé d'autoriser les autorisations sur le serveur.
Donc, je pense www-data avait un accès en écriture aux répertoires nécessaires, mais cela ne fonctionnait toujours pas. C'est pourquoi j'ai commencé à explorer les problèmes du serveur FTP.
Je me réjouis de tout commentaire à ce sujet.
chown -R ftpuser.ftpuser /var/www/yourwebsite/wp-content/upgrade/
chmod 755 /var/www/yourwebsite/wp-content/upgrade/
Ce document peut vous aider à comprendre comment les autorisations doivent être appliquées pour votre fichiers/dossiers afin de Wordpress travailler sans problème.
D'après mon expérience personnelle, donner 755 autorisations au dossier WordPress fait l'affaire, mais certains dossiers nécessiteront d'avoir 777, peu importe ce que WordPress dit, plusieurs plugins et/ou mises à jour (même sur le noyau WP) ne fonctionnera pas si ces dossiers ne disposent pas des autorisations 777.
Citation du document que je mentionne en haut de cette réponse:
- Tous les fichiers doivent appartenir au compte de l'utilisateur réel et non au compte d'utilisateur utilisé pour le processus httpd.
- La propriété de groupe n'est pas pertinente, sauf si des exigences de groupe spécifiques sont définies pour la vérification des autorisations de processus du serveur Web. Ce n'est généralement pas le cas.
- Tous les répertoires doivent être 755 ou 750.
- Tous les fichiers doivent être au format 644 ou 640. Exception: wp-config.php doit avoir la valeur 600 pour empêcher les autres utilisateurs du serveur de le lire.
- Aucun répertoire ne devrait jamais recevoir 777, même les répertoires de téléchargement. Depuis que le processus php est lancé en tant que propriétaire des fichiers, il obtient les autorisations de ces propriétaires et peut même écrire dans un répertoire 755.
Cette réponse: Règles générales pour traiter les autorisations de fichiers sera utile pour une meilleure compréhension des autorisations dans un système basé sur Ubuntu. Dans le cas où il s'agirait d'un serveur local, il ne sera pas nécessaire d'accéder à un client FTP pour effectuer la tâche, mais à l'aide d'un terminal.
Si vous avez besoin d'informations supplémentaires à ce sujet, n'hésitez pas à laisser un commentaire. Mon WP blog peut être atteint via http://geppettvs.x10.mx/blog et j'ai rencontré ce problème à maintes reprises dans le passé pour des serveurs distants et locaux.
Glossaire de ma réponse:
Avez-vous examiné votre espace disque disponible? C'était mon problème lorsque j'essayais de mettre à jour certains plugins. J'ai augmenté le quota et le problème a été résolu.
Avez-vous essayé de changer le propriétaire et le groupe du répertoire. Généralement, /var/www
devrait avoir www-data
en tant que propriétaire et groupe. Changez le propriétaire et le groupe de /var/www/wordpress...
en utilisateur ftp que vous utilisez. La commande ressemble à celle ci-dessous,
chown -R www-data:www-data /var/www/wordpress
Et essayez également d'utiliser l'adresse IP à la place 127.0.0.1