suexecの設定を変更する方法

2008/05/09 by demuyan · コメントする
カテゴリー: Ruby on Rails, 日常 
  このエントリーを含むはてなブックマーク この記事をクリップ! コメントを見る

Ubuntuでは、SuexecのDocrootが/var/wwwに設定されている。 このままだと、/home/foo/public_htmlではsuexecが使用できないので,suexecの設定を変更してビルドし直した。 Rebuilding suexec with Different Options on Ubuntu ≪ planetOzhを参考にした。

suexecの設定を確認

ubuntuのデフォルトでは、以下のように表示されるはず。

1
2
3
4
5
6
7
8
$ sudo ./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"

DOC_ROOT=”/home/”に変更する

suexecはapache2.2-commonに含まれているため、apache2.2-commonをビルドする準備をする

1
2
3
4
$ cd /usr/src
$ apt-get build-dep apache2.2-common
$ apt-get source apache2.2-common
$ cd apache2-2.2.3/

AP2_COMMON_CONFARGSのDOC_ROOTを/homeに変更する

1
2
$ vi debian/rules
 --with-suexec-docroot=/home \

dchを使ってchange logを書きかえる(dchはdevscriptパッケージに含まれている)

1
$ dch -i

あとはbuildするだけ

1
$ dpkg-buildpackage

/usr/srcに出来あがったapache2.2-common.debからインストールしてもよいが、面倒なのでパッケージ化される前のバイナリをコピーする

1
$ sudo cp debian/apache2.2-common/usr/lib/apache2/suexec /usr/lib/apache/suexec

変更されているか確認

1
2
3
4
5
6
7
8
$ sudo ./suexec -V
 -D AP_DOC_ROOT="/home"
 -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"

こちらもあわせてどうぞ

Comments

コメントをどうぞ...





Trackback URL

Get Adobe Flash playerPlugin by wpburn.com wordpress themes