EC2上的WordPress需要FTP凭据才能安装插件

问题描述 投票:46回答:8

我刚刚在Amazon Linux AMI EC2微实例上安装了WordPress 3.5.2。当我尝试安装wp-db-backup插件(插件 - >添加新)时,系统提示我输入主机名,FTP用户名,FTP密码和连接类型。

this question的答案建议在命令行完成passwd。我不清楚我在基于this answer的命令行上做了什么。所以我用Google搜索并发现了一篇关于configuring vsftpd的文章。本文讨论了在服务器上生成证书的问题,我想知道我是否会按照这篇文章离开这里。我在本地使用CentOS 6.3,在EC2上使用Amazon Linux AMI)。

任何协助/指导将不胜感激。提前致谢。


编辑


我正在阅读讨论wp-config.php文件的ftp常量的WordPress Codex。它建议我根据需要定义这些常量,以纠正我的更新问题。我是在正确的轨道(尤其是安全方面)?我列出了下面的常量。任何指导将不胜感激。

define('FS_METHOD', 'ftpext');
define('FTP_BASE', '/path/to/wordpress/');
define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');
define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
define('FTP_PRIKEY', '/home/username/.ssh/id_rsa');
define('FTP_USER', 'username');
define('FTP_PASS', 'password');
define('FTP_HOST', 'ftp.example.org');
define('FTP_SSL', false);
wordpress amazon-ec2 wordpress-plugin
8个回答
129
投票

这里的主要问题是apache无法访问这些文件夹。默认权限授予AMI中的ec2-user。

在你的终端运行这个,你应该很高兴。

sudo chown -R apache:apache /var/www/html

完成此操作后,您应该可以上传主题,插件,更新等。

有关如何在EC2上安装Wordpress的详细说明,请点击此链接。 http://www.tecsolsoftware.com/blog/how-to-install-wordpress-drupal-joomla-etc-on-aws-ec2-in-5-minutes/

如果您希望使用Nginx安装Wordpress,请点击此链接。 http://www.tecsolsoftware.com/blog/superfast-wordpress-nginx/


45
投票

在wp配置文件中尝试此代码

define('FS_METHOD', 'direct');

29
投票

更改wordpress目录的所有者

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

或者尝试

define('FS_METHOD', 'direct');

5
投票

我在Stephen White's blog post找到了这个问题的答案。

简而言之,我必须这样做

  • 为端口范围20-21和我的EC2实例FW中的一些其他端口创建自定义规则
  • 安装并配置FTP服务器vsftpd
  • 创建和配置FTP用户
  • 并将我的FTP设置放在wp-config.php文件中 这对我来说非常好。

5
投票

这对我有用:

首先按照Faizan所说的做,如果你的wp-config.php,请放下以下行:

# you will want this as close to the bottom as possible
define('FS_METHOD', 'direct');

然后,您需要TEMPORARILY将您的文件权限交换到更开放的状态。在命令行中键入以下内容:

sudo chmod 777 -R /your_whole_wp_project

现在运行您的更新,然后将权限更改为以下内容:

sudo chmod 664 -R /your_whole_wp_project

我知道这是一个安全问题,也许不是最好的方法,但我唯一可以试着让它为我工作。


2
投票

'define('FS_METHOD','direct');'在EC2中编辑我的安全组后,建议为我工作,允许对端口443的出站访问(HTTPS)


1
投票

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

上面的命令为我做了伎俩。


0
投票

对我来说这是一个selinux问题。这样做对我来说:chcon -Rv --type=httpd_sys_rw_content_t /var/www/html/

见:https://www.svnlabs.com/blogs/centos-7-selinux-apache-php-writeaccess-permission/

© www.soinside.com 2019 - 2024. All rights reserved.