mod_davで Basic認証をする! に関するインストールメモ(2002/02/17, 更新日:2003/03/28) 
 

設定方法

1) Basic認証用ファイルを作成します。当然の事ながら mod_dav で公開するフォルダー内、それ以下に認証用ファイルを作成すべきではありません。

# mkdir -p /home/www/pwd
# chown -R httpd:httpd /home/www/pwd
# cd /home/www/pwd
# /usr/bin/htpasswd -c hoge.pwd hogehoge
   ※ htpasswd -c Basic認証用ファイル 追加したいユーザ
   ※ 2人目からは -c がいりません
      htpasswd Basic認証用ファイル 追加したいユーザ

2) srm.conf の定義です。

<Location /DAV>
   DAV On
   <Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
      AuthType Basic
      AuthName "WebDAV hoge"
      AuthUserFile /home/www/pwd/hoge.pwd
      Require valid-user
   </Limit>
</Location>

3) とここまでは、順調に思えた設定も WindowsXP では、Basic認証が蹴られてしまいうまい事いきません。何故かというと WindowsXP から 「アクセスサーバ名@hogehoge」というユーザ名で認証を発行しているのです。Windows2000/ME は hogehoge なのにぃぃ〜。へんなの Microsoft !

てな訳で、hogehoge ユーザを Windows2000/ME 用として 「hogehoge」、WindowsXP用として「sea-bird.org\hogehoge」 として作り無事アクセスすることができました。

# /usr/bin/htpasswd -c hoge.pwd hogehoge
# /usr/bin/htpasswd hoge.pwd sea-bird.org\\hogehoge

3) 取消線がありますが、NormalizeUsername 命令が拡張されており、WindowsXP からアクセス(ダイジェスト認証)されたときに、FQDN またはIPアドレス+ユーザ名という形で送信されてしまう不具合が解消されています。この機能は、デフォルトで Yes になっているため、どーしても WindowsXP からアクセスされるのが嫌な場合は、off にすると良いでしょう。

4) 最終的な httpd.conf の定義♪(こちら必見)

LoadModule dav_module modules/libdav.so
LoadModule headers_module modules/mod_headers.so
LoadModule encoding_module modules/mod_encoding.so

AddModule mod_dav.c

5) 最終的な srm.conf の定義♪(こちら必見)

<Location />
   Header add MS-Author-Via "DAV"
</Location>

<IfModule mod_encoding.c>
   EncodingEngine on
   NormalizeUsername on
   SetServerEncoding UTF-8
   DefaultClientEncoding JA-AUTO-SJIS-MS SJIS

   AddClientEncoding "cadaver/" EUC-JP
</IfModule>


DAVLockDB /home/www/lock
DAVMinTimeout 600

<Location /DAV>
   DAV On
   <Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
      AuthType Basic
      AuthName "WebDAV hoge"
      AuthUserFile /home/www/pwd/hoge.pwd
      Require valid-user
   </Limit>
</Location>

蛇足) html ベースからアクセスする方法もあるらしのですが、いまだできておらず(Basic認証は、いまのところできてないっす)

<STYLE>
A {behavior: url(#default#AnchorClick);}
</STYLE>
<A HREF="http://hoge.com/DAV/" FOLDER="http://hoge.com/DAV/" target="_top"> Webフォルダー</A><BR>

WebDAV を使用している時の cgi の影響について

mod_encoding 使用時には、cgi に影響が出る場合があります。ここを参照してください。