« ガンバルぼっくすの設置が行われました^^ | メイン | mod_encodingがうまくいっていないのか。。。orz »

apache1.3系でDigest認証

The requested URL /_vti_bin/shtml.exe/_vti_rpc was not found on this server.

WebDav接続を(httpで)Windowsクライアントから接続しようとすると上記のエラーが出る。

apache1.3.37でDigest認証を行う必要が出てきたのでその設定のメモをちょこっと。。。

通常、httpsプロトコルでWebDavに接続する場合は別にDigest認証でなくてもBasic認証で良いが

httpプロトコルでWebDavに接続する場合パケットは盗聴されたとしてもパスワードを解析しにくいそうです。

この件に関して実際に参考文献はたくさんあるのでググってみてね(^^;

 

さて本題です。。。

 

#cd /etc/httpd/modules

#ls

とやるとmod_auth_digest.soはあるんだけどデフォルトでどうやら使えないようになっている。

/etc/httpd/conf/httpd.confにも

LoadModule digest_auth_module modules/mod_auth_digest.so

これはない。

 

rpmでapache1.3.37を導入した環境でとりあえずapache_1.3.39.tar.gzをwgetして解凍。

リビルトしコンパイル。

#cd /usr/local

#wget http://www.meisei-u.ac.jp/mirror/apache/httpd/apache_1.3.39.tar.gz

#tar zxvf apache_1.3.39.tar.gz

#cd apache_1.3.39/src/modules/experimental

#which apxs

/usr/sbin/apxs(ここにapxsがあるのを確認)

#/usr/sbin/apxs -c -D DEV_RANDOM mod_auth_digest.c

#/usr/sbin/apxs -i mod_auth_digest.so

ここまでやるとmod_auth_digest.soが/etc/httpd/modulesにコピーされているはず。

LoadModule の最後の方に

LoadModule digest_auth_module modules/mod_auth_digest.so

AddModuleの最後の方に

AddModule mod_auth_digest.c

を追記し有効に。。。

service httpd restart

で有効になった。

アクセス可能ユーザーのパスワードを作成

#cd /pass_directory

#htdigest -c .htdigest 'Secret Zone' secret

Adding password for mediacreate in realm Secret Zone

New password:


Re-type new password:


Basic認証と一緒でパスワードを二回聞かれます。

どこのディレクトリをDigest認証をかけるのかをhttpd.confでちゃんと指定してやらなきゃ・・・

#vi /etc/httpd/conf/httpd.conf

<Directory "/var/www/html/member">

    AuthType Digest


    AuthName "Secret Zone"


    AuthDigestDomain /member/


    AuthDigestFile /pass_directory/.htdigest


    Require user secret


</Directory>


っで。。。Apacheの再起動でパスワードユーザーを反映。

#service httpd restart

以上でDigest認証が有効になりました。

 

Cannot remove module mod_auth_digest.c: not found in module list

こんなエラーが出た場合はちゃんと下記の二行が追記されているのかもう一度確認する。

LoadModule digest_auth_module modules/mod_auth_digest.so

AddModule mod_auth_digest.c


 

また、コンパイル時に

#/usr/sbin/apxs -c -D DEV_RANDOM mod_auth_digest.c

とせず

#/usr/sbin/apxs -i ./mod_auth_digest.so
としただけだとエラーになるので注意っす。
もう一回再コンパイルした方が良いかもです。
 

トラックバック

このエントリーのトラックバックURL:
http://jpaccess.net/cgi-bin/blog/mt-tb.cgi/377

この一覧は、次のエントリーを参照しています: apache1.3系でDigest認証:

» mod_encodingがうまくいっていないのか。。。orz 送信元 みんなの豊明ブログ
前回のこっちのページでファイル名は文字化けせずに うまくいってたんだけど、クラ... [詳しくはこちら]

コメント (1)

rpmでapache1.3.37を導入した環境でとりあえずapache_1.3.39.tar.gzをwgetして解凍。
この箇所は間違いですね(^^;

Digest: user password mismatch

このエラーが頻発します(^^;

ソースをインストールされているものと合わせてとりあえず解消?していますが
WebDavでFile does not exist: のエラーが頻発します(^^;

ファイルは存在しているのになぁ(´・ω・`)

コメントを投稿

About

2008年01月21日 23:39に投稿されたエントリーのページです。

ひとつ前の投稿は「ガンバルぼっくすの設置が行われました^^」です。

次の投稿は「mod_encodingがうまくいっていないのか。。。orz」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type