![Apache の複数のインスタンス - 権限の問題](https://rvso.com/image/652659/Apache%20%E3%81%AE%E8%A4%87%E6%95%B0%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%20-%20%E6%A8%A9%E9%99%90%E3%81%AE%E5%95%8F%E9%A1%8C%20.png)
ここで奇妙な状況が発生しています...Debian で複数の Apache インスタンスをセットアップしました:
- デフォルトのインストールはそのままですが、無効になって停止します
- カスタムインスタンス (apache2-apps)
各インスタンスを個別のユーザーとして実行するというアイデアで、デフォルトの Apache はサードパーティのアプリ (WordPress、Drupal、OpenCart など) を実行します。
2 つ目は、高度に独自のデータで動作するカスタム社内アプリを実行することです...
この設定の背後にあるアイデア/希望は、VMに頼らずに(すでにVMで実行しているので)、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/ウェブサイトそしてapache2-appsのdocrootアプリケーション
それぞれ異なるユーザー/グループ(wwwデータそしてwwwアプリこれにより、一般公開されている Web サイトで発生する可能性のあるセキュリティ侵害を隔離できます。
私が遭遇している問題は、各 Apache インスタンスの docroot を次のように変更したときです。
/var/www/applications
/var/www/websites
/var/www の「その他」の読み取り/実行権限を削除して 770 にすると、上記の各 docroot にマップされた URI にアクセスすると、Apache は「Forbidden 403」エラーを返します。なぜなのかよくわかりません...上記の各 docroot には 775 権限があります。
なぜこの問題が発生するのか説明してもらえますか? 権限の仕組みについて私が理解していない点は何でしょうか? どちらの Apache 構成も /var/www を指しているのではなく、各インスタンスが 1 レベル深いそれぞれのディレクトリを指しています。
アレックス
答え1
ディレクトリにアクセスする場合、そのユーザー (またはグループ) に対して、上位のすべてのディレクトリでも少なくとも実行権限が必要です。そうでない場合、アプリケーションはそのディレクトリまたはその下のディレクトリに切り替えることができません。