2014-12-19 160 views
2

我已將WordPress的安裝從託管VPS移至新的centos服務器。 現在我遇到了直接從wordpress管理面板寫入文件的問題。Wordpress無法寫入文件

文件夾/文件設置爲755/644。用戶所有者是「wwwuser」,組是「apache」(我使用這個通過ftp訪問documentroot)。

我認爲問題是我在/etc/httpd/conf/http.conf用戶和組都設置爲「apache」,實際上,如果我將權限更改爲775/664,這應該表示當組主人被設置爲Apache的一切工作,對嗎?

所以我的問題是,我應該將所有權限更改爲775還是有另一個解決方案,這不會導致安全問題?製作所有文件夾和文件775和664是否安全?如果我從/etc/httpd/conf/http.conf將「apache」更改爲「wwwuser」,該怎麼辦?

編輯:是否有可能是在phpinfo中,環境pwd設置爲/home/wwwuser/test而不是/home/wwwuser/

回答

2

我建議不要更改Apache正在運行的用戶(不編輯Apache配置文件),而是將apache設置爲文件的所有者。 chown -R apache /path/to/your/app/files

我認爲這是最簡單的解決方案。如果您選擇更改權限,則不必更改每個人(其他人)的權限:您可以更改爲774,但我不明白爲什麼775.

默認情況下,Apache正在運行在apache用戶在CentOS上。

+0

感謝您的回覆。問題是我將來可能會使用FTP(例如上傳插件),並且這可能會導致問題,因爲ftp與wwwuser相關聯。如果我自動從wordpress ui下載e插件,會發生什麼?在我以前的VPS中,我怎麼可能沒有遇到過這個問題,並且用戶的所有者不是Apache? – testermaster

+0

@daimpa如果你上傳的插件文件不需要由php編輯,那麼它應該工作。如果他們這樣做,那麼你可能不得不改變業主。如果你從Wordpress下載插件,它將工作,因爲'apache'會在服務器上創建文件。有很多原因可以解釋爲什麼它在你之前的VPS中工作:Web服務器配置,文件許可...... –

+0

Aussourd:再次感謝你的回覆和耐心。在舊的服務器文件權限是相同的,755/644。你認爲爲業主創造相同的環境極爲困難嗎?我的意思是,我一直在通過許多共享主機,我從來沒有遇到過這個問題。現在我在一臺專用的服務器上,並希望以正確的方式做事。 – testermaster

1

這是你現在面臨的一個非常普遍的問題。有時,使用FTP創建/上傳的文件/目錄可能已經分配了不同的用戶/用戶組。正如@CélineAussourd所說,如果你已經安裝了WordPress的插件,那麼所有的文件和目錄將會得到默認的用戶/用戶組。

現在,最簡單的方法來確定哪個用戶應該分配給您的文件是使用稱爲「test.php」的CPanel文件管理器創建一個測試文件,如果它正在工作,則從網絡訪問它,然後檢查其用戶/用戶組並更改您所有的設置文件都與該用戶/用戶組一起

chown -R {user} /path/to/your/worpress/root 

將{user}替換爲apache web用戶。

UPDATE:(要安裝的插件沒有FTP細節)

請添加下面一行到您的wp-config.php文件後定義( 'WP_DEBUG',虛假);一行。

define('FS_METHOD', direct); 

刪除插件並重新安裝它,這次它不會問你FTP的詳細信息,並會直接寫入文件。

+0

它試圖從wordpress安裝一個新插件時向我詢問FTP用戶名/密碼UI,所以它創建了所有文件/文件夾與用戶wwwuser和組apache,與權限755,這是錯誤的,它應該是用戶apache或權限775 ... – testermaster

+0

您可以刪除插件重新安裝?如果是,請按照我上面更新了回答 –

+0

它通過設置apache作爲用戶/組所有者喜歡由celine說,我以前做過,但我不知道它爲什麼沒有保存 – testermaster