developer's diary

最近はc#のエントリが多いです

pacoでapache2.2をコンパイル毎に管理

コンパイルオプション無しのapache2をpaco経由でインストール

  • paco -package=パッケージ名 でインストール
$ wget http://ftp.kddilabs.jp/infosystems/apache//httpd/httpd-2.2.17.tar.gz
$ tar zxvf httpd-2.2.17.tar.gz
$ cd httpd-2.2.17
$ ./configure --prefix=/usr/local/normal_apache2
$ make
$ sudo paco -package=normal_apache2.2.17 make install
$ paco -ao
ackage=normal_apache2.2.17:
--prefix=/usr/local/normal_apache2

paco-2.0.7:
--disable-gpaco

最小限のモジュールのみのapache2をpaco経由でインストール

最小限のモジュールはApacheクックブックのレシピ6.24より。

$ tar zxvf httpd-2.2.17.tar.gz
$ cd httpd-2.2.17
$ ./configure --prefix=/usr/local/min_apache2 \
  --disable-authn-file \
  --disable-authn-default \
  --disable-authz-host \
  --disable-authz-groupfile \
  --disable-authz-user \
  --disable-authz-default \
  --disable-auth-basic \
  --disable-include \
  --disable-filter \
  --disable-charset-lite \
  --disable-env \
  --disable-setenvif \
  --disable-version \
  --disable-status \
  --disable-autoindex \
  --disable-asis \
  --disable-cgid \
  --disable-cgi \
  --disable-negotiation \
  --disable-actions \
  --disable-userdir \
  --disable-alias
$ make
$ sudo paco -package=min_apache2.2.17 make install
$ paco -ao
ackage=min_apache2.2.17:
--prefix=/usr/local/min_apache2 --disable-authn-file --disable-authn-default --disable-authz-host --disable-authz-groupfile --disable-authz-user --disable-authz-default --disable-auth-basic --disable-include --disable-filter --disable-charset-lite --disable-env --disable-setenvif --disable-version --disable-status --disable-autoindex --disable-asis --disable-cgid --disable-cgi --disable-negotiation --disable-actions --disable-userdir --disable-alias

ackage=normal_apache2.2.17:
--prefix=/usr/local/normal_apache2

paco-2.0.7:
--disable-gpaco

インストールしたモジュール

モジュール 概要
mod_dir スラッシュで終わるURLへのリクエストがあった際のリダイレクト機能
mod_mime リクエストされたファイルの拡張子からファイルの振る舞いを決定する機能
mod_log-config サーバへのリクエストのロギング機能

ちなみに上記3つだけだと、apache2の起動時にSyntax errorとなります。

Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration

Allow,Deny,Orderディレクティブはmod_authz_hostを入れないと使用することができません。なのでhttpd.confの該当箇所をコメントアウトしました。

ちなみにapache2.0系の場合は、mod_accessが該当モジュール。