Problema com permissões ao atualizar o Wordpress para 3.2 através da interface administrativa

3

Estou usando o servidor 10.04 Estou tentando atualizar o Wordpress através da interface administrativa. Eu tenho um servidor vsftpd em execução e está aceitando conexões locais. Para minhas credenciais de FTP, forneci o seguinte:

  • Nome do host: 127.0.0.1:21
  • Nome de usuário e senha: o usuário fornecido tem acesso de gravação à estrutura de diretórios / var / www.
  • Usando o FTP simples, não seguro.

Quando eu envio a atualização, a seguinte mensagem é retornada após um pouco de tempo (1-2 minutos):

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

Estou assumindo que isso é um problema de permissões, mas não consegui descobrir. Mesmo configurando os diretórios, o chmod 777 não funciona. Alguma ideia? Obrigado!

Editar: O teste com o ftp 127.0.0.1 fornece o seguinte:

$ 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.

Talvez algo esteja errado com minhas configurações do vsftpd? Aqui está o arquivo 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

Editar parte 2:

Ainda não posso enviar uma resposta porque não tenho reputação suficiente. Foi assim que consertei:

Eu finalmente consertei o problema, embora possa não ser a melhor solução. Lembre-se de que o serviço FTP não está acessível para a Internet externa.

Portanto, o Wordpress tenta usar o FTP para criar os diretórios e arquivos necessários para a atualização. Ele faz isso ao carregar plugins ou temas também. Como eu também não consegui criar um diretório sobre FTP, decidi experimentar o seguinte na configuração vsftpd:

anon_upload_enable=YES
anon_mkdir_write_enable=YES

Eu reiniciei o servidor e tudo funcionou. Agora, suponho que isso pode ser um problema de segurança de algum tipo, mas a conta anon está desativada (anonymous_enable = NO).

Além disso, como um aparte e uma resposta a ambas as outras sugestões sobre permissões de diretório, veja o que tentei no servidor para permissões.

  • Todos os diretórios do wordpress 775
  • Todos os arquivos wordpress 664
  • Proprietário: meu usuário, grupo: usuários
  • o usuário do www-data adicionado ao grupo de usuários (apenas um teste, não funcionou obviamente)

Então, eu acho que www-data teve acesso de gravação aos diretórios necessários, mas ainda assim não funcionou. É por isso que comecei a explorar os problemas do servidor FTP.

Eu agradeço qualquer comentário sobre isso.

    
por Magicked 11.07.2011 / 18:23

4 respostas

2

Este documento pode ajudar você a entender como as permissões devem ser aplicadas para seus arquivos / pastas para que o Wordpress funcione sem problemas.

Na minha experiência pessoal, dar 755 permissões para a pasta WordPress faz o truque, mas certas pastas requerem 777 não importa o que o WordPress diz, vários plugins e / ou atualizações (mesmo para o núcleo do WP) não funcionarão se essas pastas não contiverem 777 permissões.

Citado no documento que menciono no topo desta resposta:

  
  1. Todos os arquivos devem pertencer à conta do usuário real, não ao usuário   conta utilizada para o processo httpd.
  2.   
  3. A propriedade do grupo é irrelevante, a menos que exista um grupo específico   requisitos para a verificação de permissões do processo do servidor da web. este   geralmente não é o caso.
  4.   
  5. Todos os diretórios devem ser 755 ou 750.
  6.   
  7. Todos os arquivos devem ser 644 ou 640. Exceção: wp-config.php deve ser   600 para impedir que outros usuários no servidor o leiam.
  8.   
  9. Nenhum diretório deve ser fornecido 777, até mesmo diretórios de upload.   Desde que o processo php está sendo executado como o proprietário dos arquivos, ele fica   as permissões dos proprietários e podem gravar até mesmo um diretório 755.
  10.   

Esta resposta: Regras gerais para lidar com as permissões de arquivo será útil para uma melhor compreensão das permissões em um sistema baseado no Ubuntu. O que, no caso de ser um servidor local, não precisará ser acessado por meio de um Cliente FTP para executar a tarefa, mas usando um terminal.

Se você precisar de mais informações sobre isso, fique à vontade para deixar um comentário. Meu Blog do WP pode ser acessado pelo link e enfrentei esse problema muitas vezes no passado para servidores remotos e locais.

Glossário da minha resposta:

  1. O Servidor Local deve ser considerado um computador que eu possa conectar com um teclado ou mouse para interagir diretamente com o sistema operacional.
  2. Servidor Remoto é um computador que não está fisicamente à minha frente e não consigo conectar um teclado ou mouse a ele para trabalhar com o sistema operacional do computador.
por Geppettvs D'Constanzo 11.07.2011 / 19:53
2
chown -R ftpuser.ftpuser /var/www/yourwebsite/wp-content/upgrade/

chmod 755 /var/www/yourwebsite/wp-content/upgrade/
    
por raswan 28.09.2012 / 19:32
0

Você viu seu espaço em disco disponível? Esse foi o meu problema ao tentar atualizar alguns plugins. Eu aumentei a cota e a questão foi corrigida.

    
por Christopher 01.10.2013 / 16:15
0

Você tentou alterar o proprietário e o grupo do diretório. Geralmente /var/www deve ter www-data como proprietário e grupo. Alterar proprietário & amp; grupo de /var/www/wordpress... para o usuário do ftp que você está usando. O comando parece com o abaixo,

chown -R www-data:www-data /var/www/wordpress

E também tente usar o endereço IP em vez de 127.0.0.1

    
por user3215 11.07.2011 / 19:06