#freeze
[[Apache/Tips/Digest 認証]]

#contents
----
* mod_auth_digest.soのセットアップ・インストール [#z72557da]

** 1.インストール方法 [#t9f27ffa]

 Digest 認証を使うためには mod_auth_digest をセットアップする必要があります。Apache 1.x 系ではデフォルト(初期状態)では自動で組み込まれません。そこで、自分で apxs((自動的にapacheのモジュールをコンパイルしてくれる便利なツール、と覚えておけば実務的に問題ありません)) を使ってセットアップします。

** 2.インストール手順 [#ecd090e5]

 コンパイル時に mod_auth_digest.so が静的モジュールとして組み込まれていれば、httpd.conf の中の

 LoadModule digest_auth_module modules/mod_auth_digest.so

 のコメントを外すだけで大丈夫です。

 その他の場合は、apxs を使います。DSO(一般的に動的モジュールと呼ばれます)として組み込む場合は、以下の手順どおり進めてみてください。

 まず、ソースを展開したディレクトリにします。仮に展開したディレクトリ名が " /usr/local/src/apache_1.3.xx" とすると、探したいファイル mod_auth_digest.c は ./src/modules/experimental に位置します。それと apxs のパスは /usr/local/apache/bin/apxs と仮定します。パスについては、各自の環境に合わせて、適当にセットアップします。

 cd /usr/local/src/apache_1.3.xx/src/modules/experimental
 /usr/local/apache/bin/apxs -D DEV_RANDOM -c ./mod_auth_digest.c

 特にエラーが無ければ大丈夫です。

 通常のモジュールであれば DEV_RANDAM(/dev/random を使った乱数生成のためのオプション)不要ですが、ここは暗号化のため必要になります。もし
 /usr/local/apache/bin/apxs -c ./mod_auth_digest.c
 だけしかオプションをつけないと、あとで .htaccess に Digest 認証のオプションを書き込んでも
 .htaccess: Invalid command 'AuthDigestFile', perhaps mis-spelled or defined by a module not included
 このようなエラーが error_log に記録されてしまいます。

 で、話を戻しますが、

 エラーがないというのは、こんな感じです。

 /usr/bin/gcc -DLINUX=22 -I/usr/include/db1 -DUSE_HSREGEX -fpic -DSHARED_MODULE -I/usr/local/apache/include -DDEV_RANDOM  -c ./mod_auth_digest.c
 gcc -shared -o ./mod_auth_digest.so mod_auth_digest.o

 次に mod_auth_digest.so を apache の modules ディレクトリにセットアップします。
 /usr/local/apache/bin/apxs -i ./mod_auth_digest.so
 こちらも次のようにエラーがなければ大丈夫です。
 cp ./mod_auth_digest.so /usr/local/apache/libexec/mod_auth_digest.so
 chmod 755 /usr/local/apache/libexec/mod_auth_digest.so

 その次は httpd.conf の編集です。

 LoadModule digest_auth_module libexec/mod_auth_digest.so
// AddModule mod_auth_digest.c

 ↑書き込む場所は適当で構いません。RPM で入っている apache にはモジュールの組み込みをクリアしてるところがあるので、一番末尾に書くのが無難かもしれません。私の場合は php の後ろに書いてます。

 この2行を追加して apache の再起動(/usr/local/apache/bin/apachectl restart)をして、あとは完了です。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS