MENU Mário Valney

WordPress pedindo senha do FTP em localhost no Linux

WordPress 18 de outubro de 2014 59 comentários
WordPress
  • 18 - 10 - 14
  •        
  • 59

E ae galera! Tudo bem?

Essa vai ser uma dica rápida, mas daquelas que salvam vidas.

wordpress-solicitando-ftp

Linux: amor e ódio

Quem nunca se complicou com questões de permissões e dono de pasta no Linux não teve infância. Sério… é algo tipo assistir ao Chaves: você fica puto com o Seu Madruga apanhar toda hora inocentemente, mas é impossível não gostar.

Então antes de começar vou deixar links para estudo dos comandos para mudança de usuário e permissões.

O problema

O problema (como o título sugere) é o fato de o WordPress ficar solicitando as credenciais de FTP para instalar plugins e temas. Na maioria dos casos, o problema pode ser resolvido como a documentação (e o A.Torres lá nos comentários) sugerem: usando a constante FS_METHOD.

Mas as vezes isso não resolve ou então você não consegue manualmente alterar arquivos (o que é chato, já que você está desenvolvendo). Isso ocorre (dentre outros motivos) porque o usuário do seu servidor localhost (Xampp, Mamp, Lamp, EasyPHP, etc) não é o dono da pasta.

Solução e mais problemas

Com uma pesquisa rápida no Tio Google você encontra a solução de mudar o dono da pasta do site (no momento deve estar “root” ou “seu-usuario”):

$ sudo chown -R www-data pasta-do-site
$ sudo chmod -R g+w pasta-do-site

A primeira linha altera recursivamente o dono da pasta para “www-data” (geralmente esse é o usuário atribuído ao seu localhost, se não for, troque o nome) e a segunda linha torna isso verdade para as novas subpastas, caso crie alguma.

O problema dessa solução é que muito provavelmente você não poderá mais criar ou alterar manualmente pastas e arquivos (através da interface gráfica, por exemplo).

Solução definitiva: alterar o usuário do localhost

A forma que encontrei pra dar permissão ao “locahost” alterar os arquivos e não impedir que eu também possa fazer isso foi atribuir meu usuário ao localhost. Ou seja, troquei “www-data” por “meu-usuario”.

Para fazer isso, você vai até o arquivo de configurações do seu servidor local (aqui no meu caso foi /etc/apache2/apache2.conf) e altera as seguintes linhas (trocando “www-data” pelo nome do seu usuário):

User www-data
Group www-data

Maaaaaaaas… pode acontecer como aconteceu comigo e no lugar de “www-data” ter uma variável. Nesse caso, deve vir comentado acima a origem desses valores. Como você pode ver no exemplo:

# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

Nesse caso, você vai lá e altera. Aqui ficou assim:

export APACHE_RUN_USER=neo
export APACHE_RUN_GROUP=www-data

Lembre-se que sudo é necessário para alterar esses arquivos.

Por favor, considere desativar o AdBlock

Não perca nenhuma novidade, assinando nossa newsletter!



Não se preocupe: não enviaremos muitos e-mails, nem mostraremos seu e-mail para ninguém. Dúvidas?


Deixe seu comentário! Dúvida sobre como comentar
ou vai postar código? Leia antes.