harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

WebDAV環境セットアップ&検証

   


apache/linux環境でWebDAV環境のセットアップ。
もともとRPM版httpdが入っている環境なので、そのまま利用。

1)ファイル配置ディレクトリ作成

クライアントからアクセスするディレクトリはパーミッションと
オーナー権限(httpdの実行ユーザーが読み書きできること)が適切であれば
特に制限は無い様子。

以下はhttpdの実行ユーザーapacheにオーナー権限を合わせている例。
※設定によってはnobodyなどになる場合もあり。

# mkdir /var/www/html/dav
# chown apache.apache /var/www/html/dav
# chmod 755 /var/www/html/dav

2)ロックファイルディレクトリ作成

RPM版のapacheはWebDAV環境が用意されているので、それらを活用する。

  • httpd.confから抜粋
    <IfModule mod_dav_fs.c>
       # Location of the WebDAV lock database.
       DAVLockDB /var/lib/dav/lockdb
    </IfModule>

ソースからapacheをインストールした環境で別途作成する場合は
/var/lock以下などが適切。

3)apache設定

紆余曲折を経て、うまく動作した時の設定。

  • httpd.confではなくVirtualHostに設定した際の例。
    <IfModule mod_dav_fs.c>
       DAVLockDB /var/lib/dav/lockdb
    </IfModule>
    	
    <IfModule mod_dav.c>
       DAVMinTimeout 600
       Alias /dav /var/www/html/dav
    	
       <Directory /var/www/html/dav>
           DAV On
           AllowOverride None
           Options None
           AuthName "WebDAV Dir Auth"
           AuthType Basic
           AuthUserFile /etc/httpd/conf/.davpasswd
           <LimitExcept HEAD OPTIONS>
                   Require valid-user
           </LimitExcept>
    	
           Header add MS-Author-Via "WebDAV"
    	
       </Directory>
    	
    </IfModule>
  • ベーシック認証ファイル設定
    ここは通常のベーシック認証としてアカウントを登録する。

    # htpasswd -c /etc/httpd/conf/.davpasswd USERNAME

    →設定変更後、httpdを再起動。

4)動作確認

※Windows環境からのアクセスの際の注意事項
WindowsXP SP2以降においてWebDAVリダイレクタの基本認証が回避されてしまうとのこと。
ベーシック認証で先に進めない場合は以下を設定する。

  1. レジストリキーの設定
    "regedit" レジストリエディタを起動し、以下を設定

    	キー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
    	種類:DWORD値
    	キー名:UseBasicAuth
    	キー値:1
  2. URL指定時の注意
    	1.デスクトップ上 ”マイネットワーク”アイコンをダブルクリック
    	2.ネットワークプレースの追加
    	3.”インターネットまたはネットワークのアドレス”欄に
    	http://www.example.com:80/dav
    	もしくは
    	http://www.example.com/dav?
    	と設定する。(:80をつける、もしくは最後に?をつける)
    	4.BASIC認証用のユーザー名とパスワードを入力する。

 - apache, GNU/Linux ,