mod_auth_digest.soのセットアップ・インストール †1.インストール方法 †Digest 認証を使うためには mod_auth_digest をセットアップする必要があります。Apache 1.x 系ではデフォルト(初期状態)では自動で組み込まれません。そこで、自分で apxs*1 を使ってセットアップします。 2.インストール手順 †コンパイル時に 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 ↑書き込む場所は適当で構いません。RPM で入っている apache にはモジュールの組み込みをクリアしてるところがあるので、一番末尾に書くのが無難かもしれません。私の場合は php の後ろに書いてます。 この2行を追加して apache の再起動(/usr/local/apache/bin/apachectl restart)をして、あとは完了です。 |