Apache 多實例——權限問題
我在這裡遇到了一個奇怪的情況……我在 debian 下設置了多個 Apache 實例:
- 預設安裝保持原樣 - 但禁用並停止
- 自定義實例(apache2-apps)
想法是將每個實例作為不同的使用者執行——預設 apache 將執行第三方應用程序(WordPress、Drupal、OpenCart 等)
第二個是執行我們定制的內部應用程序,這些應用程序使用高度專有的數據……
這種設置背後的想法/希望是將應用程序與網站軟體隔離開來——不求助於虛擬機(因為我已經在其中執行了)並且稍微更容易設置和安全?然後是 Apache VirtualHost 和/或 PHP CGI
無論如何…我遇到的問題是 /var/www 目錄需要:
1. 755 permissions which make it readable by OTHER --- OR ---- 2.I need to make www-data or www-apps an owner or group of this base directory.
我目前的文件結構如下:
/var /www (user/group: webmin => RWXRWX--X) /applications (user/group: www-apps) /websites (user/group: www-data)
這個設置讓我相信我可以將預設的 apache 安裝配置為 docroot /var/www/websites和 apache2-apps docroot /var/www/applications
每個都有不同的使用者/組(分別為www-data和www-apps),從而隔離了面向公眾的網站可能發生的任何安全漏洞。
我遇到的問題是當我將每個 apache 實例的 docroot 更改為指向:
/var/www/applications /var/www/websites
如果我刪除 /var/www so 770 上的“其他”讀取/執行權限 - apache 在訪問映射到上面列出的每個 docroot 的 URI 時給我一個“禁止 403”錯誤。我不確定我明白為什麼……上面每個的docroot都有775權限
有人可以解釋為什麼我會遇到這個問題嗎?我無法理解權限的工作原理是什麼?兩個 apache 配置都沒有指向 /var/www 而是每個實例都指向它各自的目錄更深一層。
亞歷克斯
訪問一個目錄時,所有更高的目錄也至少需要該使用者(或組)的執行權限,否則不允許應用程序切換到該目錄或低於該目錄的目錄。