![VirtualBox 嘗試安裝 Drupal 7 時出現權限錯誤](https://rvso.com/image/1395267/VirtualBox%20%E5%98%97%E8%A9%A6%E5%AE%89%E8%A3%9D%20Drupal%207%20%E6%99%82%E5%87%BA%E7%8F%BE%E6%AC%8A%E9%99%90%E9%8C%AF%E8%AA%A4.png)
我正在嘗試在執行 Ubuntu 的 VirtualBox 中安裝 Drupal 7,使用 Vagrant 來設定 VirtualBox。
安裝到第三步的時候出現了錯誤
檔案系統 目錄sites/default/files 不可寫入。自動嘗試建立此目錄失敗,可能是由於權限問題。若要繼續安裝,請手動建立目錄並修改其權限,或確保安裝程式具有自動建立目錄的權限。有關詳細信息,請參閱 INSTALL.txt 或線上手冊。
我已閱讀並遵循說明這裡
我已經執行了下面的命令
chmod a+w sites/default/settings.php
chmod a+w sites/default
因此,作為最後的手段,我手動建立了sites/default/files目錄
mkdir files
chmod 777 files
但更改資料夾的權限後我仍然收到相同的錯誤訊息
答案1
相關目錄所在的父目錄也需要執行位元。因此,根據所有權,使用者/群組/其他權限遮罩的某種組合必須組合起來,以向請求使用者授予每個父目錄的執行位。例如,如果sites/ 和sites/default 屬於執行PHP 的使用者(稱為www-data)的群組,那麼您必須確保這兩個目錄都為群組遮罩設定了執行位元chmod g+x sites/ sites/default/
。如果 www-data 既不是父級的擁有者也不是群組擁有者,則必須類似地設定另一個遮罩:chmod o+x sites/ sites/default/
。
答案2
這應該在開發環境中工作。生產中不安全。在 ubuntu 中,Web 伺服器的使用者名稱是 www-data。
前往網站的根目錄(index.php 所在的位置),然後運行 sudo chown -R yourusername:www-data ./ sudo chmod -R 770 ./ sudo chmod -R 775sites/default/files