我在实时服务器上使用WordPress ,该服务器仅通过SSH密钥使用SFTP 。

我想安装和升级插件,但是看来您需要输入FTP登录才能安装插件。 有没有一种方法可以通过手动上传文件而不是让WordPress处理整个过程来安装和升级插件?


#1楼

  1. wp-config.php添加define('FS_METHOD', 'direct');
  2. 使服务器可写目录wp-content/wp-content/plugins/
  3. 安装插件(将插件目录复制到wp-content/plugins目录中)。

处理版本3.2.1


#2楼

尝试这个

1)在wp-config.php中添加define('FS_METHOD','direct');

2)将“ wp-content”目录设置为777可写。

3)现在安装插件。


#3楼

可以使用SFTP或SSH自动更新WordPress中的插件,但您需要具有ssh2 pecl扩展名。 您可以使用以下教程来了解如何做


#4楼

只是想补充一点,您绝不能将wp-content许可或任何文件夹的许可设置为777

这是我要做的:

1)我将WordPress文件夹的所有权(递归)设置为apache用户,如下所示:

# chown -R apache wordpress/

2)我将wordpress文件夹的组所有权(递归)更改为apache组,如下所示:

# chgrp -R apache wordpress/

3)授予所有者对目录的完全特权,如下所示:

# chmod u+wrx wordpress/*

做到了。 我的wp-content文件夹有755权限,顺便说一句。

TL; DR版本:

# chown -R apache:apache wordpress
# chmod u+wrx wordpress/*

#5楼

为了使SSH2能够用于您的更新和主题上传,您必须生成SSH密钥并安装PHP SSH模块。 然后WordPress将检测到您有可用的SSH2,并且在执行上载/升级时会看到一个不同的选项(SSH2)。

1.)确保已为debian安装了PHP模块:

sudo apt-get install libssh2-php

2.)生成SSH密钥,添加密码是可选的:

ssh-keygen
cd  ~/.ssh
cp id_rsa.pub authorized_keys

3.)更改权限,以便WordPress可以访问这些密钥:

cd ~
chmod 755 .ssh
chmod 644 .ssh/*

现在,在执行上载/升级/插件时,您将获得SSH2选项。

4.)为了更加简便,您可以在wp-config.php设置默认值,这将在WordPress上传窗口中预先填充SSH凭据。

define('FTP_PUBKEY','/home/<user>/.ssh/id_rsa.pub');
define('FTP_PRIKEY','/home/<user>/.ssh/id_rsa');
define('FTP_USER','<user>');
define('FTP_PASS','passphrase');
define('FTP_HOST','domain.com');

如果您在ssh-kengen期间未设置密码,则“密码”是可选的; 然后不要在wp-config.php添加它

这解决了我的问题。 而且我没有做chown的。 但是我已经在其他地方看到了这种方法。

参考文献:

  • http://wp.tutsplus.com/articles/tips-articles/quick-tip-upgrade-your-wordpress-site-via-ssh/
  • http://codex.wordpress.org/Editing_wp-config.php#Enabling_SSH_Upgrade_Access

#6楼

是的,直接在WordPress中安装插件。

  1. 复制插件文件夹并粘贴到WordPress插件文件夹中。
  2. 转到管理员端(/ test / wp-admin),然后转到插件链接上并检查插件的名称。
  3. 激活插件,以便轻松安装插件。

其他选择

  1. 为插件代码创建zip文件。
  2. 转到管理端(/ test / wp-admin),然后转到插件链接上,然后单击“添加新内容”,然后浏览插件zip文件夹并安装插件,然后选择激活插件选项,因此请激活插件并激活插件。

#7楼

将以下代码添加到wp-config

define('FS_METHOD', 'direct');

FS_METHOD强制使用文件系统方法。 它只能是direct,ssh2,ftpext或ftpsockets。 通常,只有在遇到更新问题时才应更改此设置。 如果您更改了它但无济于事,请将其更改回/删除。 在大多数情况下,如果自动选择的方法无效,则将其设置为“ ftpsockets”即可。

(主要首选项)“直接”强制它使用PHP内部的直接文件I / O请求,这会给配置不良的主机带来安全性问题,这在适当时会自动选择。

(第二优先级)“ ssh2”用于强制使用SSH PHP扩展(如果已安装)

(第三个首选项)“ ftpext”是强制将FTP PHP扩展名用于FTP访问,最后

(第四个优先级)“ ftpsockets”利用PHP套接字类进行FTP访问

有关更多信息,请访问: http : //codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants


#8楼

您可以通过在命令promt上键入以下命令来轻松获得它

sudo chown -R www-data:www-data your_folder_name

或将以下代码复制并粘贴到wp-config.php文件中。

define('FS_METHOD', 'direct');

其中“ your_folder_name”是将WordPress安装在此文件夹中的文件夹。


#9楼

只需快速更改wp-config.php

define('FS_METHOD','direct');

就是这样, 不用ftp就可以享受您的wordpress更新!

替代方法:

那里有主机,它将阻止此方法简化您的WordPress更新。 幸运的是,还有另一种方法可以防止这种有害生物提示您输入FTP用户名和密码。

同样,在wp-config.php文件中的MYSQL登录声明之后,添加以下内容:

define("FTP_HOST", "localhost");
define("FTP_USER", "yourftpusername");
define("FTP_PASS", "yourftppassword");

#10楼

在终端执行以下代码

sudo chown -R www-data /var/www

有关更多详细信息,请访问无需FTP访问的Ubuntu安装插件上的Wordpress


#11楼

打开wp-config.php文件并添加以下行:

define('FS_METHOD', 'direct');

这对我有用...谢谢


#12楼

我看到很多人建议将权限设置为777。我在2天前遇到了同样的问题,而我所做的只是将其添加到wp-content

define('FS_METHOD', 'direct');

将插件文件夹的权限设置为775

这解决了我询问FTP访问登录名/密码的问题。

在此之前,我必须通过在插件文件夹中添加.zip文件来手动添加插件,然后转到wp-admin/plugins并进行安装。


#13楼

  1. 从改变php_modfastcgicgiSuEXEC启用,对我的作品

不要忘了如果不工作,尝试改变

  1. 以root身份将wp-content更改为775

    chmod -R 775 ./wp-content

  2. 添加到wp-config.php

    define('FS_METHOD','direct');

我希望它能起作用


#14楼

尝试执行此操作检查是否对wp-content文件夹授予了正确的权限。

编辑wp-config.php添加以下行

define('FS_METHOD', 'direct');

将“ wp-content”目录更改为www-data以进行完全访问。

现在尝试安装插件。


#15楼

设置ftp甚至SFTP连接或chmod 777是除本地环境以外的其他任何不好的方法。 甚至打开SFTP方法都会带来不必要的更多安全风险。

所需的是这些目录的所有者对/ wp-content / uploads和/ wp-content / plugins /的可写权限。 (linux ls -la将显示所有权)。

运行的默认apache用户是www-data。

chmod 777允许计算机上的任何用户编辑这些文件,而不仅仅是apache / php线程用户。

如果您尚未使用SFTP,它将从外部来源引发另一点可能的故障。 而您只需要运行apache / php进程的本地用户访问即可完成目标。

没看到有人提出这些观点,所以我想我会提供此信息来帮助解决我们不断出现的WP安全问题。


#16楼

您可以拥有fileZilla并使用FTP帐户来更新插件和主题。 或者,您可以只登录Cpanel并访问wordpress文件夹,然后可以通过解压缩主题或插件来更新主题。


#17楼

使用SSH安装插件的最佳方法是WPCLI。

请注意,使用WP CLI命令必须进行SSH访问。 使用它之前,请检查您的托管服务器或计算机上是否已安装WP CLI。

如何检查: wp --version [它将显示已安装的wp cli版本]

如果未安装,如何安装:在安装WP-CLI之前,请确保环境满足最低要求:

类似UNIX的环境(OS X,Linux,FreeBSD,Cygwin); Windows环境中的有限支持。 PHP 5.4或更高版本WordPress 3.7或更高版本。 早于最新的WordPress版本的功能可能已降级

如果满足上述要求,请执行以下步骤:参考URL: WPCLI

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
[ download the wpcli phar ]php wp-cli.phar --info [ check whether the phar file is working ]chmod +x wp-cli.phar [ change permission ]
sudo mv wp-cli.phar /usr/local/bin/wp [ move to global folder ]
wp --info [ to check the installation ]

现在可以准备安装WP CLI。

现在,您可以使用以下命令安装WordPress.org中可用的任何插件:

wp install plugin plugin-slug
wp delete plugin plugin-slug
wp deactivate plugin plugin-slug

注意:wp cli只能安装wordpress.org中可用的那些插件


#18楼

这是一个简单的方法。

执行以下命令。

这将为Apache启用mod_rewrite模块

$sudo a2enmod rewrite

此命令会将文件夹的所有者更改为www-data

$sudo chown -R www-data [Wordpress Folder Location]

执行完上述命令后,您可以安装任何不带FTP的主题。


#19楼

是的,您可以做到。

您需要添加

define('METHOD','direct');

在您的wpconfig中。 但是,此方法由于具有安全缺陷而将不受欢迎。

谢谢,


#20楼

如果WordPress无法直接写入/wp-content它只会在尝试安装插件或WordPress更新时提示您输入FTP连接信息。 否则,如果您的Web服务器具有对必要文件的写访问权,它将自动处理更新和安装。 此方法不需要您具有FTP / SFTP或SSH访问权限,但需要在Web服务器上设置特定的文件权限。

它将按顺序尝试各种方法,如果Direct和SSH方法不可用,则使用FTP。

https://github.com/WordPress/WordPress/blob/4.2.2/wp-admin/includes/file.php#L912

WordPress将尝试将临时文件写入您的/wp-content目录。 如果成功,它将文件的所有权与其自己的uid进行比较,如果匹配,则将允许您使用“直接”方法安装插件,主题或更新。

现在,如果由于某种原因您不想依靠自动检查要使用哪种文件系统方法,则可以在wp-config.php文件中定义常量'FS_METHOD' ,即'direct', 'ssh', 'ftpext' or 'ftpsockets' ,它将使用该方法。 请记住,如果将其设置为“ direct”,但是您的Web用户(运行Web服务器时使用的用户名)没有适当的写入权限,则会收到错误消息。

总之,如果您不想(或不能)更改wp-content的权限,以使您的Web服务器具有写权限,那么请将其添加到wp-config.php文件中:

define('FS_METHOD', 'direct');

权限说明如下:

  • http://codex.wordpress.org/Updating_WordPress#Automatic_Update
  • http://codex.wordpress.org/Changing_File_Permissions

#21楼

请添加define('FS_METHOD','direct'); 在wo-config.php中


#22楼

当您没有权限在/ wp-content目录中写入内容时,WordPress不允许您通过WordPress管理仪表板上传任何插件的唯一原因。 请记住,您的wordpress目录/ wp-content需要0755权限级别。 有多种方法可以更改文件夹的权限级别。

使用cPanel更改文件权限:

转到文件管理器,打开您的wordpress网站应该位于的公共HTML文件夹,或者如果您的网站位于其他文件夹中,则打开网站根目录。 在您的WordPress根目录中,导航到wp-content文件夹; 在wp-content文件夹行的末尾,最后一个框包含此文件夹的文件权限。 确保将文件夹权限级别编辑为0755,然后完成。

使用SSH终端更改文件权限:

在您的终端中,找到WordPress网站的根目录(在本例中为/ var / www / html),因此要移至WordPress根目录,请输入以下命令:

cd /var/www/html

现在,您在WordPress根目录中所需的文件夹/ wp-content所在的位置。 因此,要更改文件权限,请键入以下命令:

sudo chmod wp-content 755

这会将/ wp-content目录文件权限更改为0755。

现在,您将不会收到通过FTP上传wordpress插件的错误消息。


#23楼

通常,您只需将插件上传到wp-content\\plugins目录。 如果您无法通过SFTP访问此目录,恐怕您可能会被卡住。


#24楼

WordPress 2.7允许您直接上传一个zip文件(插件页面底部有一个链接)-无需FTP访问。 这是2.7中的新功能,仅适用于插件(尚不适用于主题)。


#25楼

我们将SFTP和SSH结合使用(在我们的开发服务器和实时服务器上),并且我已经尝试(虽然不太难)使用WordPress上传功能。 我同意Toby的观点,将您的插件上传到wp-content/plugins目录,然后从那里激活它们。


#26楼

立体互动的答案涵盖了所有选项。 只是想提一下使用FTP的另一种方法。 我猜测您不允许FTP访问的原因是出于安全性考虑。 解决这些安全问题的一种方法是运行FTP服务器,使其仅侦听127.0.0.1

这使您可以从WordPress内部使用FTP,并且可以安装插件,而无需将其暴露给世界各地。 这也可以应用于其他流行的Web应用程序,例如Joomla!。 和Drupal。 这就是我们对BitNami设备和云服务器所做的工作,并且运行良好。


#27楼

恢复了旧线程,但是有一个了不起的新插件叫做SSH SFTP Updater Support ,它增加了SFTP功能,而无需编辑wp-config.php文件。 另外,Wordpress的SFTP实现依赖于一些晦涩难懂的PHP模块,这些模块通常未在服务器上启用。 该插件打包了一个不同的PHP SFTP插件,因此您无需在Apache端进行任何配置。

让SFTP支持正常工作时遇到了很多问题-这个插件解决了所有问题,真是太棒了。


#28楼

如果您使用的是Ubuntu ,那么对我有用的快速解决方案是将所有权授予Apache用户(默认为www-data),如下所示:

cd your_wordpress_directory
sudo chown -R www-data wp-content
sudo chmod -R 755 wp-content

#29楼

如前所述,烫发修复程序无法正常工作。 您需要相应地更改权限,并将以下内容放入wp-config.php

define('FS_METHOD', 'direct');

#30楼

我还建议使用SSH SFTP Updater支持插件 。 刚刚也解决了我所有的问题...尤其是在通过管理员删除插件方面。 只需以通常的方式安装它,下次WordPress提示您输入FTP详细信息时,将有其他字段可用于复制/粘贴您的私密SSH密钥或上载PEM文件。

我唯一的问题是让它记住密钥(尝试了两种方法)。 不喜欢每次我需要删除插件时都必须查找并输入它的想法。 但是至少目前这是一个固定的解决方案。

我可以在不提供FTP访问的情况下安装/更新WordPress插件吗?相关推荐

  1. Linux下安装ftp服务器异常,linux下安装ftp服务器

    大部分内容来自网络. 1.安装 能下载到安装包的话还是用安装包来安装吧.我没有用安装包,结果用户权限配置上各种出问题.现在虽然安装好了,但是管理配置绝对不是最佳的.慢慢摸 索着来吧. 我是使用这句命令 ...

  2. vbox安装教程linux,请提供一个在VBOX虚拟机下安装的教程

    由 匿名用户[218.249.16.*] 在 星期二, 10/21/2008 - 19:02 发表. [转帖]How to install Puppy Linux 3.01 on Virtualbox ...

  3. grpc提供http访问方式

    0x00 最近系统在从c++迁移到go,之前使用brpc,也需要转移到grpc,但是grpc提供的接口服务原生无法被http访问到,这对我们调试来说也很麻烦,所以需要让grpc跟brpc一样,http ...

  4. HTG评论The Wink Hub:在不破坏资金的情况下为您的智能家居提供大脑

    Having a home packed with smart devices is great but managing them all in a smooth and unified fashi ...

  5. html 中的网址怎么写,正确的url地址写法是 ftp访问url地址怎么写

    正确的URL格式是什么样的? 我是从其他网站上拉图片到另外一个网站 正确的URL格式为(A)A.(协议)://(主机名):(端口号)/(文件路径)/(文件名)B(主机名)://(协议):(端口号)/( ...

  6. Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)

    对于Linux搭建服务器步骤详解:可以基于匿名访问.本地用户访问.虚拟用户访问 FTP服务访问可分为三种 匿名用户:用户名为ftp或者anonymous,提供任意密码或无密码访问即可. 本地用户:要求 ...

  7. 在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口 6...

    在上两篇文章中,我们介绍了如何为Android系统的硬件编写驱动程序,包括如何在Linux内核空间实现内核驱动程序和在用户空间实现硬件抽象层接口.实现这两者的目的是为了向更上一层提供硬件访问接口,即为 ...

  8. ftp 访问mysql6,RedHat6.5开启ftp访问已有目录方法

    RedHat6.5开启ftp访问已有目录方法 1. 先用rpm -qa| grep vsftpd命令检查是否已经安装,如果ftp没有安装,先下载对应的rpm包,然后执行如下命令:[注:不同版本系统安装 ...

  9. Nginx 反向代理,提供 http 访问,代理 https 外站内容

    场景:在内网提供 http 访问外网 https 网站资源. 内网架设 nginx http 站点,通过 http://aaa.com 供访问,nginx 收到 http 请求后,反射代理外网 htt ...

最新文章

  1. 使用Django1.11创建简单的资产管理平台
  2. 微软Workflow Foundation 高阶透视
  3. 用OpenJTAG烧写程序到Flash—— 韦东山嵌入式Linux视频学习笔记03
  4. 利用photoshop制作gif图片
  5. sentinel接入网关应用_接入容器服务Kubernetes版应用
  6. Visual Studio2012打开时弹出“遇到异常:这可能是由某个扩展导致的”错误的解决办法...
  7. hadoop jar包_计算机毕业设计中hadoop上运行Java程序
  8. [Oracle]Sqlplus 中使用 new_value
  9. 数据结构排序系列详解之三 冒泡排序
  10. 电脑练习打字软件_极速字根练习软件电脑版下载-极速字根练习软件免费版v0.1 最新版...
  11. 继电器设备改造需要的设备清单
  12. 读 《.Net 之美》解析.Net Remoting (应用程序域)-- Part.1
  13. 优秀的WBS的分解标准
  14. 说说Windows一键还原的备份文件夹
  15. linux连接Redis客户端
  16. 阿里笔试 3.14 T1
  17. Python的学习心得和知识总结(十二)|Python图形用户接口编程(Graphical User Interface编程 一)
  18. excel切换sheet的快捷键
  19. 在matlab中怎么把点链接,怎么样把所有点连接起来?
  20. Shiny server: application failed to start

热门文章

  1. Kafka_Zookeeper_环境搭建使用
  2. 一下删除MSSQL表所有的数据,但不删除表结构
  3. python-字符串基础
  4. Android-通过Java代码来实现属性动画
  5. 一些关于angular的总结
  6. Geotrellis系列文章链接
  7. 字符串的碎片整理。。。
  8. 写给程序员和UI--Android的切图标准
  9. 易错点:C 语言 continue while for 循环
  10. centos 5.6 安装redmine 步骤