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/パスワードでログインしてく ださい。