启用 wordpress 通过 vsftpd 安装内容

启用 wordpress 通过 vsftpd 安装内容

我在 Amazon EC2 实例上安装了 Wordpress,但在启用 WP 安装主题、插件等时遇到了问题。例如,主题安装失败,原因如下:

Installation failed: Could not copy file. harmonic/404.php

我使用vsftpd并创建了一个名为 的用户wordpress

这看起来像是一个文件权限问题,但是我根据一些在线说明设置了权限,并且无法发现问题:

[ec2-user@ec2 wordpress]$ ls -lah
total 196K
drwxr-sr-x  5 wordpress www 4.0K Aug 29 14:29 .
drwxrwsr-x  3 root      www 4.0K Aug 29 14:45 ..
-rw-r--r--  1 wordpress www  418 Sep 25  2013 index.php
-rw-r--r--  1 wordpress www  20K Mar  5 20:14 license.txt
-rw-r--r--  1 wordpress www 7.2K Jul 19 17:34 readme.html
-rw-r--r--  1 wordpress www 5.4K May 24 21:02 wp-activate.php
drwxr-sr-x  9 wordpress www 4.0K Aug 16 18:23 wp-admin
-rw-r--r--  1 wordpress www  364 Dec 19  2015 wp-blog-header.php
-rw-r--r--  1 wordpress www 1.5K May 23 16:44 wp-comments-post.php
-rw-r--r--  1 wordpress www 3.0K Aug 29 09:42 wp-config.php
-rw-r--r--  1 wordpress www 2.8K Dec 16  2015 wp-config-sample.php
drwxr-sr-x  5 wordpress www 4.0K Aug 29 14:29 wp-content
-rw-r--r--  1 wordpress www 3.3K May 24  2015 wp-cron.php
drwxr-sr-x 17 wordpress www  12K Aug 16 18:23 wp-includes
-rw-r--r--  1 wordpress www 2.4K May 23 16:44 wp-links-opml.php
-rw-r--r--  1 wordpress www 3.3K Apr 14 17:53 wp-load.php
-rw-r--r--  1 wordpress www  34K Jun 14 21:51 wp-login.php
-rw-r--r--  1 wordpress www 7.7K Jul 13 12:37 wp-mail.php
-rw-r--r--  1 wordpress www  14K Aug 13 16:02 wp-settings.php
-rw-r--r--  1 wordpress www  30K May 24 20:44 wp-signup.php
-rw-r--r--  1 wordpress www 4.0K Nov 30  2014 wp-trackback.php
-rw-r--r--  1 wordpress www 3.0K Jul  6 12:40 xmlrpc.php

[ec2-user@ip-172-31-27-36 wp-content]$ ls -lah
total 24K
drwxrwsr-x  5 wordpress www 4.0K Aug 29 14:29 .
drwxr-sr-x  5 wordpress www 4.0K Aug 29 14:29 ..
-rw-rw-r--  1 wordpress www   28 Jan  8  2012 index.php
drwxrwsr-x  5 wordpress www 4.0K Aug 29 14:45 plugins
drwxrwsr-x  5 wordpress www 4.0K Aug 29 14:29 themes
drwxrwxr-x 17 wordpress www 4.0K Aug 29 15:04 upgrade

我将目录的所有权移交/var/www/html/wordpress给了用户wordpress——这样正确吗?

为什么 vsftpd 日志中没有包含任何有关失败操作的信息?

答案1

  1. Vsftpd 并不关心 WordPress 是否无法复制文件,这对它来说不算错误。只有在文件传输或通过 SFTP 访问文件时出现问题时才会出现错误,但这里的情况并非如此。问题在于安装过程中,文件已经在服务器上了。

  2. 您的两个命令均未显示有问题的实际目录,harmonic该目录可能位于您的themes目录中。问题就出在这里,因此我们需要查看该目录的权限。

  3. 正如 Christian 提到的,您应该使用 WP_DEBUG 来获取真正的错误,但您不需要费心记录它,只需使用以下命令:

    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_DISPLAY', true );
    

    它应该设置为默认显示,并且这些错误应该显示在您尝试安装主题的页面上,所以请查看那里。

  4. 这些文件和目录应归 Apache 用户所有,而不是您的 vsftpd 用户。如果 Apache 正在使用,www则应将其更改为。最常见的是使用www-data,因此我将通过查看正在运行的进程来检查:

     ps aux | egrep '(apache|httpd)'
    

    /etc/apache2/httpd.conf或者,如果您运行的是 Ubuntu/Debian,则在 Apache 配置文件中;/etc/httpd/conf/httpd.conf如果您运行的是 CentOS/RHEL,则在 Apache 配置文件中。您可以在指令中找到它User

相关内容