Permissions

啟用 wordpress 通過 vsftpd 安裝內容

  • August 30, 2016

我在 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. 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)'

或者在 Apache 配置文件中,/etc/apache2/httpd.conf如果您正在執行 Ubuntu/Debian,或者/etc/httpd/conf/httpd.conf如果您正在執行 CentOS/RHEL。User您可以找到它作為指令列出。

引用自:https://serverfault.com/questions/799772