Estou usando o WordPress no meu servidor ativo, que usa apenas SFTP usando uma chave SSH .
Quero instalar e atualizar plug-ins, mas parece que você precisa digitar seu logon FTP para instalar os plug-ins. Existe uma maneira de instalar e atualizar plugins carregando manualmente os arquivos em vez de o WordPress lidar com todo o processo?
wp-content/plugins/
painel wp, vá para a guia plug-ins e ative-o.VPS
, deve tentar este: stackoverflow.com/a/44137965/3160597Respostas:
O WordPress solicitará apenas suas informações de conexão FTP ao tentar instalar plug-ins ou uma atualização do WordPress se não puder gravar
/wp-content
diretamente. Caso contrário, se o servidor da Web tiver acesso de gravação aos arquivos necessários, ele cuidará das atualizações e instalação automaticamente. Esse método não exige que você tenha acesso FTP / SFTP ou SSH, mas exige que você tenha permissões de arquivo específicas configuradas no servidor da web.Ele tentará vários métodos em ordem e retornará ao FTP se os métodos Direct e SSH não estiverem disponíveis.
https://github.com/WordPress/WordPress/blob/4.2.2/wp-admin/includes/file.php#L912
O WordPress tentará escrever um arquivo temporário no seu
/wp-content
diretório. Se isso der certo, ele compara a propriedade do arquivo com o seu próprio uid e, se houver uma correspondência, permitirá que você use o método 'direto' de instalar plug-ins, temas ou atualizações.Agora, se por algum motivo você não quiser confiar na verificação automática de qual método de sistema de arquivos usar, você pode definir uma constante,
'FS_METHOD'
em seuwp-config.php
arquivo, que é ou'direct', 'ssh', 'ftpext' or 'ftpsockets'
não, e ele usará esse método. Lembre-se de que, se você definir isso como 'direto', mas seu usuário da web (o nome de usuário sob o qual o servidor da web é executado) não possui permissões de gravação adequadas, você receberá um erro.Em resumo, se você não deseja (ou não pode) alterar as permissões no wp-content para que seu servidor web tenha permissões de gravação, adicione-o ao seu arquivo wp-config.php:
Permissões explicadas aqui:
fonte
getmyuid
linha 876 é indiscutivelmente incorreto aqui, pois retorna o UID do proprietário do script, não do executor do script. Eu acredito que deveria serposix_getuid
.print_r(posix_getpwuid(posix_geteuid()));
Você pode adicionar o código nowp-config
arquivo.chown -R www-data wordpress/wp-content
não funcionou para mim, maschown -R www-data wordpress
fezComo afirmado anteriormente, nenhuma das permissões permit funciona mais. Você precisa alterar as permissões de acordo e colocar o seguinte no seu
wp-config.php
:fonte
Só queria acrescentar que NUNCA deve definir a
wp-content
permissão ou permissão de qualquer pasta para777
.Isto é o que eu tinha que fazer para:
1) Defino a propriedade da pasta wordpress (recursivamente) para o usuário apache, da seguinte forma:
# chown -R apache wordpress/
2) Alterei a propriedade do grupo da pasta wordpress (recursivamente) para o grupo apache, da seguinte forma:
# chgrp -R apache wordpress/
3) conceda ao proprietário privilégio total para o diretório, da seguinte maneira:
# chmod u+wrx wordpress/*
E isso fez o trabalho. Minha
wp-content
pasta tem755
permissões, btw.Versão TL; DR:
fonte
wp-config.php
adiçãodefine('FS_METHOD', 'direct');
wp-content/
,wp-content/plugins/
.wp-content/plugins
diretório).Trabalhou na versão 3.2.1
fonte
abra o
wp-config.php
arquivo e adicione a seguinte linha:define('FS_METHOD', 'direct');
isso está funcionando para mim ... Obrigado
fonte
Apenas uma alteração rápida para wp-config.php
É isso, aproveite suas atualizações do wordpress sem ftp !
Método alternativo:
fonte
Para habilitar o uso do SSH2 para suas atualizações e carregamentos de temas, você precisa gerar suas chaves SSH e ter o módulo PHP SSH instalado. Em seguida, o WordPress detectará que você tem o SSH2 disponível e você verá uma opção diferente (SSH2) exibida ao fazer um upload / upgrade.
1.) Verifique se você possui o módulo PHP instalado para o debian:
2.) Gere chaves SSH, adicionar uma senha é opcional:
3.) Altere a permissão para que o WordPress possa acessar essas chaves:
Agora você terá a opção SSH2 ao fazer um upload / upgrade / plugin.
4.) Para maior facilidade, você pode configurar os padrões no seu
wp-config.php
e isso preencherá previamente as credenciais SSH na janela de upload do WordPress.A 'senha' é opcional, se você não configurar uma senha durante
ssh-kengen
; então não adicionewp-config.php
Isso resolveu meu problema. E eu não precisava fazer
chown
nada. Mas eu já vi esse método referenciado em outros lugares.Referências:
fonte
Normalmente, você pode simplesmente enviar o seu plugin para o
wp-content\plugins
diretório. Se você não tiver acesso a este diretório via SFTP, receio que você esteja preso.fonte
Você pode obtê-lo com muita facilidade digitando o seguinte comando no comando promt
ou copie e cole o seguinte código no seu arquivo wp-config.php.
Onde "your_folder_name" é a pasta em que o WordPress está instalado dentro desta pasta.
fonte
Execute o seguinte código no terminal
Para mais detalhes, visite o Wordpress no Ubuntu, instale plugins sem acesso ao FTP
fonte
sudo chown -R www-data /var/www/html
Adicione o seguinte código ao wp-config
FS_METHOD força o método do sistema de arquivos. Deve ser apenas direto, ssh2, ftpext ou ftpsockets. Geralmente, você só deve alterar isso se estiver com problemas de atualização. Se você alterá-lo e não ajudar, altere-o novamente / remova-o. Na maioria das circunstâncias, configurá-lo como 'ftpsockets' funcionará se o método escolhido automaticamente não funcionar.
(Preferência primária) "direct" obriga a usar solicitações de E / S de arquivos diretos do PHP, isso é repleto de problemas de segurança em hosts mal configurados. É escolhido automaticamente quando apropriado.
(Preferência secundária) "ssh2" é forçar o uso da extensão PHP SSH, se instalado
(3ª preferência) "ftpext" é forçar o uso da extensão PHP PHP para acesso FTP e, finalmente,
(4ª preferência) "ftpsockets" utiliza a classe PHP Sockets para acesso FTP
Para mais informações, visite: http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants
fonte
Se você estiver no Ubuntu , uma solução rápida que funcionou para mim é dar propriedade ao usuário do Apache (www-data por padrão) da seguinte forma:
fonte
Mude de
php_mod
parafastcgi
comcgi
&SuEXEC
ativado. Funciona para mim.Se não funcionar, tente mudar
wp-content
para775
como root:Adicionar a
wp-config.php
:eu espero que dê certo
fonte
O WordPress 2.7 permite fazer upload de um arquivo zip diretamente (há um link na parte inferior da página de plug-ins) - não é necessário acesso ao FTP. Este é um novo recurso do 2.7 e funciona apenas para plugins (ainda não para temas).
fonte
Ressuscitando um thread antigo, mas há um fantástico novo plug-in chamado SSH SFTP Updater Support que adiciona recursos de SFTP sem a necessidade de editar seu
wp-config.php
arquivo. Além disso, a implementação SFTP do Wordpress depende de alguns módulos PHP um tanto obscuros que geralmente não são ativados nos servidores; esse plugin empacota um plugin PHP SFTP diferente para que você não precise configurar nada no lado do Apache.Eu tive muitos problemas para que o suporte ao SFTP funcionasse - esse plugin resolveu todos eles e é simplesmente fantástico.
fonte
Tente isto
1) No
wp-config.php
adddefine('FS_METHOD', 'direct');
2) Defina o
wp-content
diretório como777
para gravável.3) Agora instale o plugin.
fonte
A resposta do stereointeractive cobre todas as opções. Só queria mencionar uma maneira alternativa de usar o FTP. Suponho que o motivo pelo qual você não está permitindo o acesso ao FTP seja por segurança. Uma maneira de resolver essas preocupações de segurança é executar o servidor FTP escutando apenas no 127.0.0.1
Isso permite que você use o FTP de dentro do WordPress e poderá instalar plug-ins sem expô-lo ao resto do mundo. Isso também pode ser aplicado a outros aplicativos da web populares, como o Joomla! e Drupal. É o que fazemos com nossos dispositivos BitNami e servidores em nuvem e funciona muito bem.
fonte
Também recomendo o plug-in SSH SFTP Updater Support . Apenas resolvi todos os meus problemas também ... especialmente no que diz respeito a obter plugins para excluir através do administrador. Basta instalá-lo da maneira usual e, da próxima vez que você for solicitado pelo WordPress para obter detalhes de FTP, haverá campos extras para você copiar / colar sua chave SSH privada ou fazer upload do seu arquivo PEM.
O único problema que tenho é fazê-lo lembrar a chave (tentei os dois métodos). Não gosto da ideia de precisar encontrá-lo e inseri-lo toda vez que precisar excluir um plug-in. Mas pelo menos é uma solução sólida por enquanto.
fonte
Sim, instale diretamente o plugin no WordPress.
outra opção
fonte
É possível usar o SFTP ou SSH para atualizar automaticamente os plug-ins no WordPress, mas você precisa ter a extensão ssh2 pecl. Você pode descobrir como fazê-lo, usando o seguinte tutorial
fonte
Usamos SFTP com SSH (tanto em nossos servidores de desenvolvimento quanto em live), e eu tentei (não muito difícil) usar o recurso de upload do WordPress. Concordo com Toby, carregue seus plugins no
wp-content/plugins
diretório e ative-os a partir daí.fonte
Vi muitas pessoas recomendando definir a permissão para 777. Eu tive o mesmo problema há 2 dias e tudo o que fiz foi adicioná-lo ao wp-content
e
Isso resolveu meu problema de solicitar acesso / senha de acesso ao FTP.
Antes disso, eu tinha que adicionar o plug-in manualmente, adicionando o arquivo .zip à pasta do plug-in e, em seguida, fui
wp-admin/plugins
e o instalei.fonte
Tente isto Verifique se a permissão correta é dada à pasta wp-content.
Edite o arquivo wp-config.php e adicione a seguinte linha
chmod o diretório "wp-content" para www-data para acesso total.
Agora tente instalar o plugin.
fonte
Sim, você pode fazer isso.
Você precisa adicionar
no seu wpconfig. Mas esse método não será preferível, pois possui violações de segurança.
Obrigado,
fonte
Método 1: Você pode definir o seguinte: 1. No wp-config.php, você precisa escrever estas linhas.
Nota: coloque isso depois de define ('DB_CHARSET', 'utf8mb4').
defina a permissão wp-content ou a permissão recursiva 777, permissão total que você pode conceder via filezilla. escrever, clique em diretório> permissões> marque ler-escrever e executar e marque Recurso em subdiretórios
Método 2:
ou Você também pode definir isso
fonte
Note: put this after define( 'DB_CHARSET', 'utf8mb4' ).
configurar um ftp ou mesmo uma conexão SFTP ou chmod 777 é uma maneira ruim de procurar algo diferente de um ambiente local. Abrir até um método SFTP apresenta mais riscos de segurança que não são necessários.
o que é necessário é uma permissão gravável para / wp-content / uploads e / wp-content / plugins / pelo proprietário desses diretórios. (o linux ls -la mostrará a você a propriedade).
O usuário apache padrão que é executado é www-data.
O chmod 777 permite que qualquer usuário na máquina edite esses arquivos, não apenas o usuário do thread apache / php.
O SFTP, se você ainda não o estiver usando, apresentará outro ponto de possível falha de uma fonte externa. Considerando que você só precisa acessar pelo usuário local executando o processo apache / php para concluir o objetivo.
Como não vi ninguém defendendo isso, pensei em oferecer essas informações para ajudar com nossos constantes problemas de segurança do WP on-line.
fonte
Aqui está um método simples.
Execute os seguintes comandos.
Isso permitirá que seu módulo mod_rewrite para o Apache
Este comando mudará o proprietário da pasta para www-data
Depois de executar os comandos acima, você pode instalar qualquer tema sem FTP.
fonte
sudo chown -R www-data [Wordpress Folder Location]
Por favor, adicione
define('FS_METHOD','direct');
wo-config.phpfonte
A única razão pela qual o WordPress não permitirá que você faça o upload de qualquer plugin via painel de administração do WordPress quando você não tem permissão para escrever no diretório / wp-content. Lembre-se de que seu diretório wordpress / wp-content requer nível de permissão 0755. Existem várias maneiras de alterar o nível de permissão de uma pasta.
Alterando as permissões de arquivo usando o cPanel:
Vá para o Gerenciador de Arquivos em abra a pasta HTML pública onde seu site wordpress deveria estar, ou abra o diretório raiz do site, se o site estiver em outra pasta. No diretório raiz do WordPress, navegue em direção à pasta wp-content; no final da linha da pasta wp-content, a última caixa contém permissões de arquivo para essa pasta. Certifique-se de editar o nível de permissão da pasta para 0755 e pronto.
Alterando permissões de arquivo usando o terminal SSH:
No seu terminal, localize a raiz do site WordPress, que no meu caso era / var / www / html, para mover para o diretório raiz do WordPress, digite o seguinte comando:
Agora você está no diretório raiz do WordPress, onde está localizada a pasta / wp-content necessária. Portanto, para alterar as permissões do arquivo, digite o seguinte comando:
Isso alterará sua permissão de arquivo do diretório / wp-content para 0755.
Agora você não receberá uma mensagem de erro ao enviar plugins do wordpress via FTP.
fonte
A melhor maneira de instalar o plugin usando SSH é o WPCLI.
Observe que, o acesso SSH é obrigatório para usar comandos WP CLI. Antes de usá-lo, verifique se a CLI do WP está instalada no servidor ou na máquina de hospedagem.
Como verificar:
wp --version
[Ele mostrará a versão wp cli instalada]Se não estiver instalado, como instalá-lo: Antes de instalar o WP-CLI, verifique se o ambiente atende aos requisitos mínimos:
Ambiente semelhante ao UNIX (OS X, Linux, FreeBSD, Cygwin); suporte limitado no ambiente Windows. PHP 5.4 ou posterior WordPress 3.7 ou posterior. Versões anteriores à versão mais recente do WordPress podem ter funcionalidade degradada
Se os pontos acima forem satisfeitos, siga as etapas: URL de referência: WPCLI
Agora o WP CLI está pronto para instalar.
Agora você pode instalar qualquer plug-in disponível no WordPress.org usando os seguintes comandos:
NOTA: O wp cli pode instalar apenas os plug-ins disponíveis no wordpress.org
fonte