
我想透過瀏覽器提供的文件位於/root/my_folder
(ubuntu 14.04)。我將路徑從 in 更改為/var/www/html
in /root/my_folder
,/etc/apache2/sites-available/000-default.conf
之後當我嘗試在瀏覽器中存取它時出現禁止錯誤。
Apache 預設歡迎頁面指出:
預設情況下,Ubuntu 不允許透過 Web 瀏覽器存取除 /var/www、public_html 目錄(啟用時)和 /usr/share(對於 Web 應用程式)中的檔案之外的任何檔案。如果您的網站使用位於其他位置(例如 /srv)的 Web 文件根目錄,您可能需要將 /etc/apache2/apache2.conf 中的文件根目錄列入白名單。
如何將我的根目錄列入白名單/etc/apache2/apache2.conf
,使用什麼文法?
答案1
您不能也不應該從/root
目錄中提供服務。root
當 Apache 使用 user 運行時,它只能由使用者存取www-data
。查看錯誤日誌,您會發現 Apache 抱怨權限問題:
tail -f /var/log/apache2/error.log
root
如果您無論如何都在系統上與該用戶一起工作,那麼您應該直接在 內部上傳文件/var/www/html
,因為您已經在那裡擁有權限。
答案2
最簡單的解決方法可能是將該目錄綁定安裝在下面,/var/www/html
如下所示:
mount -t none -o bind,ro /root/my_folder /var/www/html
然後啟動阿帕契。
注意:在 Fedora Linux 發行版以及可能其他使用 systemd 的發行版上,由於預設啟用某些安全功能,某些服務在啟動後看不到完成的安裝。欲了解更多詳細信息,請閱讀管理員的 systemd,第 XII 部分。此外,如果使用 SELinux,文件需要有適當的標籤,例如public_content_t
。