如何將 apache 中的目錄列入白名單

如何將 apache 中的目錄列入白名單

我想透過瀏覽器提供的文件位於/root/my_folder(ubuntu 14.04)。我將路徑從 in 更改為/var/www/htmlin /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

相關內容