VineLinux3.x/Apache2.0/WebDAVを使うための設定 のバックアップ(No.10)


概要

WebDAV(Distributed Authoring and Versioning protocol for the WWW)でファイル共有ができるようにします。

設定手順

ロックディレクトリの作成

# mkdir /usr/local/apache2/lock
# chown apache2.apache2 /usr/local/apache2/lock/

apache2の動作ユーザーapache2がアクセスできるように、lockディレクトリの所有者をapache2に変更します。

WebDAVディレクトリの作成

# mkdir /home/httpd/dav
# chown apache2.apache2 /home/httpd/dav/

davディレクトリの所有者をapache2に変更します。

  • SSL用のディレクトリを作る場合
    # mkdir /home/httpd/dav/ssl
    # chown apache2.apache2 /home/httpd/dav/ssl/

httpd.confの編集

# vi /usr/local/apache2/conf/httpd.conf

一番最後に追加

Alias /dav "/home/httpd/dav"
DAVMinTimeout 600
DavLockDB lock/DavLock
<Location /dav>
        DAV On
        Options Indexes
        AuthType Basic
        AuthName "Webdav"
        AuthUserFile "/usr/local/apache2/conf/.htpasswd"
        Require valid-user
</Location>
<Location /dav/ssl>				←SSL用
        DAV On
        Options Indexes
        SSLRequireSSL
        AuthType Basic
        AuthName "Webdav (SSL)"
        AuthUserFile "/usr/local/apache2/conf/.htpasswd"
        Require valid-user
</Location>

この設定ではSSLを有効にしないとBasic認証になるためパスワードが平文で流れます。暗号化パスワードで認証したい場合は、Apache2でDigest認証を行ってください。
SSLだと認証も含め、すべての通信が暗号化されます。SSLで使う場合は、先にApache2でSSLを使うための設定?を行ってください。

アクセス用パスワードの作成

"test"ユーザーのパスワードを作成

# /usr/local/apache2/bin/htpasswd -c /usr/local/apache2/conf/.htpasswd test
New password:
Re-type new password:
Adding password for user test

apache2の再起動

# /etc/rc.d/init.d/apache2 restart
httpdを停止中:                                             [  OK  ]
httpdを起動中:                                             [  OK  ]

動作の確認

dav.png

クライアントでIEを起動して、ファイル→開く、でWebDAVのURLを入力。URLの最後に?をつけないとうまく認証できないようです。そして、Web フォルダとして開くにチェックをいれOKをクリック。パスワード入力のダイアログが出るので入力し、無事に入れればOK。

ファイルをコピーしたりフォルダをを作成したりしてみてください。うまくいかない場合はディレクトリのパーミッションに問題がないか確認してください。WindowsのWebフォルダのみでやり取りする場合、特に文字化けはしないようです。が、ファイル名がUTF-8で保存されているため、サーバ上で見ると文字化けします。

Windows XP のウィザードでWebフォルダを追加するにはこちら

Tips

エラーが記録されてる

Webフォルダからアクセスするとerror_logに、

_vti_inf.html
_vti_bin

といったファイルがないと言われる。動作に問題は無いが気持ち悪いので出ないようにする。

これはWindowsのWebフォルダが誤作動を起こしているためで、このエラーを出さないためにはapache2のモジュールmod_headersをインストールする。

apache2のソースディレクトリに移動する

# cd httpd-2.0.54/modules/metadata/

コンパイル、インストール

# /usr/local/apache2/bin/apxs -c -i -a mod_headers.c

/usr/local/apache2/modules/mod_headers.soがインストールされる

httpd.confの編集

# vi /usr/local/apache2/conf/httpd.conf

LoadModule headers_module modules/mod_headers.so が記述されていることを確認し、以下を追加する

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

保存してapache2を再起動

# /etc/rc.d/init.d/apache2 restart
httpdを停止中:                                             [  OK  ]
httpdを起動中:                                             [  OK  ]

htmlのリンクとして開きたい

IE5以上でブラウザから直接リンクとしてWebフォルダを開きたい場合は、htmlファイルの中に

<STYLE TYPE="text/css">
	<!--
	A {behavior: url(#default#AnchorClick);}
	-->
</STYLE>

<A FOLDER="http://xxxx/dav?">Open Folder View</A>

と記述してOpen Folder ViewをクリックするとWebフォルダとしてアクセスできます。

コメント

コメントはありません。 WebDAV/コメント?

お名前: