Apache設定 · 1 min read · Jan 29, 2026
Apache2 mpm-itkを使用してDebian Etchで別々のUID/GIDでVhostsを実行する
Apache2 mpm-itkを使用してDebian Etchで別々のUID/GIDでVhostsを実行する
Version 1.0
Author: Falko Timme
この文書では、Debian Etchサーバーにapache2-mpm-itkをインストールおよび構成する方法を説明します。apache2-mpm-itkは、Apache 2ウェブサーバー用のMPM(マルチプロセッシングモジュール)です。mpm-itkを使用すると、各vhostを別々のUIDおよびGIDで実行できるため、1つのvhostのスクリプトや構成ファイルが他のすべてのvhostに対して読み取り可能である必要がなくなります。mpm-itkは、従来のprefork MPMに基づいているため、mod_phpと連携して動作します。これは、スレッドを使用しないことを意味します。これにより、ウェブサイトのPHPスクリプトを別のユーザーとして実行するためにsuExecやsuPHPを使用する必要がなくなります。
この文書には、いかなる種類の保証もありません!これがあなたにとって機能するという保証はありません!
1 予備的な注意
Debian Etchサーバーにmod_phpを使用した動作するApache2インストールがあると仮定しています。
速度に関する考慮事項については、http://blog.stuartherbert.com/php/2008/04/19/using-mpm-itk-to-secure-a-shared-server/を参照してください。
セキュリティに関する考慮事項については、http://mpm-itk.sesse.net/をご覧ください。
2 apache2-mpm-itkのインストール
apache2-mpm-itkはDebian Etch用のDebianパッケージとして利用可能ですので、実行する必要があるのは次のコマンドです。
apt-get install apache2-mpm-itk3 apache2-mpm-itkの構成
apache2-mpm-itkはvhostごとに構成されます。つまり、グローバルオプションを設定する必要はなく、vhostで設定する必要があるのはAssignUserIdという1つのディレクティブだけです。これは、vhostが実行されるユーザー名とグループを指定する2つのパラメータを取ります。
この例では、デフォルトのDebian Apache vhost(その構成は/etc/apache2/sites-available/defaultにあります)を使用し、ドキュメントルートを/var/wwwに設定します(異なるvhostsがある場合は、これをあなたの状況に合わせて調整してください)。このvhostは、ユーザーweb1_adminおよびグループweb1として実行されるようにします。
ユーザーとグループがまだ存在しない場合は、次のように作成できます。
groupadd web1
useradd -s /bin/false -d /home/web1_admin -m -g web1 web1_admin
次に、vhost構成を開き、次の行を追加します:
| [...] |
例えば:
vi /etc/apache2/sites-available/default| NameVirtualHost * |
その後、Apacheを再起動します:
/etc/init.d/apache2 restart これで完了です!
4 リンク
- apache2-mpm-itk: http://mpm-itk.sesse.net
- Apache: http://httpd.apache.org
- Debian: http://www.debian.org
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。