webdav(mod_dav)の導入(with mod_ssl)
2002/02/26
文責:まいパパ(munetika@niji-net.com)
webdavには幾つかの実装がありますが、現在、日本語ファイル名が
使えるのは、mod_encordingを追加したmod_davだけだと思います。
SSL対応したApache+mod_davの導入方法をまとめてみました。
参考文献:
http://www.atmarkit.co.jp/flinux/special/webdav/webdav02a.html
http://galaxies.jp/httpd.conf.html
環境]:
Vine Linux 2.1.5
Apache 1.3.23
mod_ssl-2.8.6-1.3.23
(注)2002年2月26日時点の最新版mod_ssl-2.8.7-1.3.23ではなぜか
インストールがうまく行きませんでした
mod_dav-1.0.3-1.3.6
[導入方法]
1.ApacheをSSL対応してインストールする
0)入手先
(apache)
http://www.apache.jp/misc/download.html から適当なサイトを
見つけてダウンロードしましょう。
(mod_ssl)
http://www.modssl.org/source/mod_ssl-2.8.6-1.3.23.tar.gz
1)元のApacheを削除
rpm -e apache-1.3.20-0vl3 apache-devel-1.3.20-0vl3 apache-manual-1.3.20-0vl3
2)コンパイル&Make
$ tar xvfz apache_1.3.23.tar.gz
$ tar xvfz mod_ssl-2.8.6-1.3.23.tar.gz
$ cd mod_ssl-2.8.6-1.3.23
$ ./configure --with-apache=../apache_1.3.23 --with-ssl=/usr
(注)Vine Linux2.1.5では"--with-ssl=/usr"でよかった
$ cd ../apache_1.3.23
$ ./configure --enable-shared=max --enable-module=ssl
$ make
$ make certificate
(注)設定内容については http://galaxies.jp/mod_ssl.html を参照
(注)正式な認証を受けていない場合、公式なサイトとして使えない
$ su root
# make install
2.mod_davを導入
0)入手先
http://www.webdav.org/mod_dav/
1)コンパイル&Make
$ tar xvfz mod_dav-1.0.3-1.3.6.tar.gz
$ cd mod_dav-1.0.3-1.3.6
$ ./configure --with-apxs=/usr/local/apache/bin/apxs
$ make
$ su root
# make install
3.mod_encodingを導入
0)入手先
http://www.atmarkit.co.jp/flinux/special/webdav/mod_encoding.c
1)コンパイル&Make
$ /usr/local/apache/bin/apxs -c mod_encoding.c
$ su root
# /usr/local/apache/bin/apxs -i mod_encoding.so
4.環境設定
webdavのワークディレクトリとして/workを作成する。
# /workは適当なディレクトリに読み替えてもらってかまわない
/workにはApacheがnobody権限で書き込むので、適当な権限を
与える。
また、「5.httpd.confの編集」で使用するディレクトリを作成
し同様にnobody権限で書き込める、適当な権限を付与する。
5.httpd.confの編集
以下の行がある(有効になっている)ことを確認
LoadModule ssl_module libexec/libssl.so
LoadModule dav_module libexec/libdav.so
AddModule mod_ssl.c
AddModule mod_dav.c
以下の行をエディタで追加する
DAVLockDB /work/DAVLock
Alias /webdav /work/dav
DAV On
LoadModule encoding_module libexec/mod_encoding.so
AddModule mod_encoding.c
EncodingEngine on
SetServerEncoding UTF-8
AddClientEncoding SJIS "Microsoft .* DAV"
AddClientEncoding SJIS "xdwin9x/"
AddClientEncoding EUC-JP "cadaver/"
6.Apacheを起動する
# /usr/local/apache/bin/apachectl startssl
(注)startsslオプションで起動することに注意
起動時に以下のメッセージが出力される。
"make certificate"時に設定したパスワードを入力する。
[Tue Feb 26 14:14:38 2002] [warn] module mod_encoding.c is already added, skippi
ng
Apache/1.3.23 mod_ssl/2.8.6 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide us with the pass phrases.
Server libretto.niji-net.com:443 (RSA)
Enter pass phrase:XXXXXXXX <-ここで先ほど設定したパスワードを入力
Ok: Pass Phrase Dialog successful.
/usr/local/apache/bin/apachectl startssl: httpd started
7.クライアントで確認
http://www.atmarkit.co.jp/flinux/special/webdav/webdav02b.html
を参考にしてクライアントで確認する。通常はIE5.0以上でインストール
されるWebフォルダを使用すれば良いでしょう。
http://.... を https://....とすることでSSLでアクセスできるかど
うかがわかります。
8.認証について
上記で設定した環境にプラスしてBasic認証を行い、よりセキュアにアクセス
できるようにする。
1)パスワードファイルを作成する
htpasswdコマンドを使ってパスワードファイルを作成する。
便宜上ユーザー名を"uzuuzu"とし、作成するパスワードファイル
を"/usr/local/apache/sec/passwd"とする。
# /usr/local/apache/bin/htpasswd -c /usr/local/apache/sec/passwd uzuuzu
New password:####### <-ここでパスワードを入れる何も表示されない
Re-type new password:###### <-ここでもう一度パスワードを入れる
Adding password for user uzuuzu
2)httpd.confを編集し、 ....の
個所を追加する
# WebDAV Configuration
DAVLockDB /work/DAVLock
Alias /webdav /work/dav
DAV On
# ---- ここから追加 ----
# Security
AuthType Basic
AuthName "WebDAV Directory"
AuthUserFile /usr/local/apache/sec/passwd
Require valid-user
# ---- ここまで追加 ----
LoadModule encoding_module libexec/mod_encoding.so
AddModule mod_encoding.c
EncodingEngine on
SetServerEncoding UTF-8
AddClientEncoding SJIS "Microsoft .* DAV"
AddClientEncoding SJIS "xdwin9x/"
AddClientEncoding EUC-JP "cadaver/"
Aapcheを再起動し、クライアントから確認するとBasic認証を
行いますので、先ほど登録したID/パスワードでログインしてく
ださい。