2011-04-24 49 views
2

我正在複製Drupal 7安裝從一臺機器到另一臺。這兩款機器都是運行MAMP當前版本的Mac OSX。步驟如下:Drupal 7文件系統錯誤:目錄網站/默認/文件存在,但不可寫,並且無法寫入

  1. 創建SQL轉儲文件
  2. rsync -ar path/to/source path/to/destination
  3. chmod -R 755 destination/sites/default/files
  4. chown -R username destination
  5. 導入SQL轉儲文件
  6. 調整的settings.php(實際上,它們保持不變不同環境,但只需檢查db連接信息和$ base_url。)

除了站點/默認/文件目錄不能寫入[sic]之外,在此處的所有內容都適用於目標端。目錄樹中的某些內容和/或權限正在改變,但我無法弄清楚什麼/如何。是什麼賦予了?

回答

13

網站/默認/文件需要由網頁用戶寫入,或者所有用戶都可以寫入。

所有用戶:

搭配chmod -R一個+ W目的地/網站/默認/文件

,或者讓Apache(或您的網絡用戶是誰)所有者

喬敦 - R的阿帕奇:apache destination/sites/default/files

注意:755和777將一切設置爲可執行。 777會有效,這是不正確的。目錄需要可執行權限,但除非需要,文件通常不可執行。

我個人更喜歡讓apache成爲文件目錄的所有者和所有內容,因爲在Drupal寫入文件時會發生什麼。

+0

如果您使用埃吉爾然後做'喬敦 - R的埃吉爾:阿帕奇目的地/網站/默認/ files' – littledynamo 2013-03-26 10:08:12

+0

搭配chmod -R一個+ w目標/網站/默認/文件工作正常。謝謝 – 2014-11-08 09:08:51

+0

我試過上面的問題,但問題仍然存在 – 2016-07-25 12:29:52

0

也許你需要對例如目錄中運行的restorecon:

restorecon -rv default/