Apache-2.2

Apache 多實例——權限問題

  • February 23, 2015

我在這裡遇到了一個奇怪的情況……我在 debian 下設置了多個 Apache 實例:

  1. 預設安裝保持原樣 - 但禁用並停止
  2. 自定義實例(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-datawww-apps),從而隔離了面向公眾的網站可能發生的任何安全漏洞。

我遇到的問題是當我將每個 apache 實例的 docroot 更改為指向:

/var/www/applications
/var/www/websites

如果我刪除 /var/www so 770 上的“其他”讀取/執行權限 - apache 在訪問映射到上面列出的每個 docroot 的 URI 時給我一個“禁止 403”錯誤。我不確定我明白為什麼……上面每個的docroot都有775權限

有人可以解釋為什麼我會遇到這個問題嗎?我無法理解權限的工作原理是什麼?兩個 apache 配置都沒有指向 /var/www 而是每個實例都指向它各自的目錄更深一層。

亞歷克斯

訪問一個目錄時,所有更高的目錄也至少需要該使用者(或組)的執行權限,否則不允許應用程序切換到該目錄或低於該目錄的目錄。

引用自:https://serverfault.com/questions/670736