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

Ant*_*ony 50 wordpress amazon-ec2 wordpress-plugin

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

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

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


编辑


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

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);
Run Code Online (Sandbox Code Playgroud)

Bas*_*bas 140

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

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

sudo chown -R apache:apache /var/www/html
Run Code Online (Sandbox Code Playgroud)

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

有关如何在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/

  • 工作得很好,虽然我不得不用"www-data"替换"apache". (10认同)
  • 这应该是公认的答案!谢谢 (7认同)
  • 拥有我的apache2进程的用户不是"apache"所以我看看用户正在启动它们并且它是"www-data",然后它工作得很好! (4认同)
  • 这对我有帮助,而不是100个解决方法和安装FTP,设置Apache的权限是正确的方法.谢谢你的配偶,这是有史以来最快的解决方案. (2认同)
  • 谢谢你!为我工作完美. (2认同)
  • 更好的方法是创建一个"www"组并允许组访问文件,并将apache用户添加到"www"组.完整说明[这里](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html) (2认同)

Fai*_*han 47

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

define('FS_METHOD', 'direct');
Run Code Online (Sandbox Code Playgroud)


Sau*_*tel 34

更改wordpress目录的所有者

sudo chown -R www-data:www-data /var/www/wordpress
Run Code Online (Sandbox Code Playgroud)

或者尝试

define('FS_METHOD', 'direct');
Run Code Online (Sandbox Code Playgroud)

  • 这适用于我的EC2实例,OCT,30,2017. (2认同)

Ant*_*ony 5

我在Stephen White的博客文章中找到了这个问题的答案.

简而言之,我必须这样做

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

    这对我来说非常好.


usu*_*oio 5

这对我有用:

首先按照Faizan所说的做,如果你的话wp-config.php:

# you will want this as close to the bottom as possible
define('FS_METHOD', 'direct');
Run Code Online (Sandbox Code Playgroud)

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

sudo chmod 777 -R /your_whole_wp_project
Run Code Online (Sandbox Code Playgroud)

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

sudo chmod 664 -R /your_whole_wp_project
Run Code Online (Sandbox Code Playgroud)

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