sourceではやったことあるけど、dpkg ではやったことないので。
ref.
apache2とsuexec install。
# apt-get install apache2 apache2-suexec
suexecのconfigure option 確認
# /usr/lib/apache2/suexec -V -D AP_DOC_ROOT="/var/www" -D AP_GID_MIN=100 -D AP_HTTPD_USER="www-data" -D AP_LOG_EXEC="/var/log/apache2/suexec.log" -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin" -D AP_UID_MIN=100 -D AP_USERDIR_SUFFIX="public_html"
あとはsuexecの条件を満たすように設定。ここまでは簡単。
suexec を動作させるディレクトリを変更したい場合
suexec が --with-suexec-docroot=/var/www, --with-suexec-userdir=public_html で設定されているので、virtualhostを設定した場合などに、ディレクトリ構成が違うとsuexecが動かなくなる。
そんな場合は apache2-suexec-custom packageを入れる(apache2-suexec は削除される) 。
# apt-egt install apache2-suexec-custom
- 設定確認
# /usr/lib/apache2/suexec -V -D SUEXEC_CONFIG_DIR=/etc/apache2/suexec/ -D AP_GID_MIN=100 -D AP_LOG_EXEC="/var/log/apache2/suexec.log" -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin" -D AP_UID_MIN=100
設定ファイル
/etc/apache2/suexec/www-data を編集する。
/var/www public_html/cgi-bin #/var/www # The first two lines contain the suexec document root and the suexec userdir # suffix. Both features can be disabled separately by prepending a # character. # This config file is only used by the apache2-suexec-custom package.
- 1行目に --with-suexec-docroot (AP_DOC_ROOT) のディレクトリ
- 2行目に --with-suexec-userdir (AP_USERDIR_SUFFIX) のディレクトリ
注意点
"Both features can be disabled separately by prepending a # character."
とあるので、元の設定を残そうとして1,2行目にコメントなどをしてると動かないので注意。
# 間違い
1行目 #/var/www 2行目 /home/hogem 3行目 public_html