#contents
* WebDavの環境構築 [#aa377966]
WebDavを実装したいと思います。既に稼動中の Apache1.3 なので、動的モジュールとして追加します。
以下余談ですが、似たような機能の提供として、Samba や FTP があります。うちは、以下のような形で使い分けたいと思います。
|匿名FTP|大きなファイルのダウンロード用|
|samba|LAN環境下でのファイル交換|
|FTP|インターネットでのファイル交換(容量問わず)|
|WebDav|インターネットでのファイル交換(小容量、https利用でセキュア)|
** Apache について確認すること [#u0cf1ecd]
Apache1.3 に、mod_dav を動的モジュールとしてインストールする場合、Apache本体に mod_so が静的モジュールとして組み込まれていなくてはなりません。下記のコマンドを打ち、mod_so が表示されるか確認してください。表示されない場合は、Apache の再構築が必要です。
# httpd -l
** mod_dav [#e0b38bc5]
*** mod_dav のインストール [#h604fc50]
まず、以下のダウンロード先で、mod_dav を入手します。
- [[mod_dav: a DAV module for Apache:http://www.webdav.org/mod_dav/]]
うちは、プレインストールのApacheを使っているため、apxs のパスは、"/usr/sbin/apxs" になっています。ソースからインストールした場合は、"/usr/local/apache/bin/apxs" にあるかと思います。単純に "-with-apxs" とのみ指定した場合は、すでに apxs にパスが通っているものと解釈されます。
[bokupi@pokota mod_dav-1.0.3-1.3.6]$ ./configure --with-apxs=/usr/sbin/apxs
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for executable suffix...
checking for object suffix... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for ranlib... ranlib
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for static Apache module support... no
checking for dynamic Apache module support (via APXS)... found at /usr/sbin/apxs
checking for expat... found in /usr/include/apache
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libdav.module
config.status: creating config.h
続いて、make します。
[bokupi@pokota mod_dav-1.0.3-1.3.6]$ make
スーパーユーザーになり、make install します。
[root@pokota mod_dav-1.0.3-1.3.6]# make install
モジュールのインストールと、httpd.conf の更新が行なわれます。古い設定ファイルは、httpd.conf.bak として保存されます。
*** 環境設定 [#g95a09a1]
ロックファイルを用意します。
# mkdir /var/www
# mkdir /var/www/lock
# chown apache:apache /var/www/lock
# chmod 0770
ファイルを格納する領域を用意します。
# mkdir /home/httpd/dav
# chown apache:apache /home/httpd/dav
*** httpd.conf の設定 [#q589ed1d]
下記を追加します。
DAVLockDB /var/www/lock/DAVLock
<Location /dav>
DAV On
</Location>
これで、/dav 以下は、WebDavとして利用できます。
しかし、うちの場合、これではいささか不具合があります。それは、バーチャルホストを利用しているため、Location指定だと、全ドメインで /dav 以下が、WebDav になってしまうのです。それを避けるために、Directory指定を用いました。
<Directory /home/private/dav>
DAV On
AuthUserFile /home/private/.htpasswd
AuthGroupFile /dev/null
AuthType Basic
<Limit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require user bokupi
</Limit>
</Directory>
** mod_encoding [#v02a6951]
*** mod_encoding のインストール [#z482653a]
日本語ファイル名に対応するため、このモジュールを追加します。
- [[WebDAV Resources JP(Download Page):http://webdav.todo.gr.jp/download/]]
今回ダウンロードしたのは、mod_encoding-20021209.tar.gz です。
[bokupi@pokota mod_encoding-20021209]$ ./configure -with-apxs=/usr/sbin/apxs
[bokupi@pokota mod_encoding-20021209]$ make
[root@pokota mod_encoding-20021209]$ make install
*** httpd.conf の設定 [#p9ec28ae]
下記の内容を、httpd.conf に追加してください。場所はどこでもいいです。
LoadModule mod_encoding
AddModule mod_encoding.c
<IfModule mod_headers.c>
Header add MS-Author-Via "DAV"
</IfModule>
<IfModule mod_encoding.c>
EncodingEngine on
NormalizeUsername on
SetServerEncoding UTF-8
DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
AddClientEncoding "cadaver/" EUC-JP
</IfModule>
*** mod_encoding による弊害 [#ff8b2527]
[[WebDAVの日本語対策でmod_encodingを導入すると、他のソフトの日本語環境やPHPやCGIで文字化けが発生する。:http://www.aconus.com/~oyaji/faq/apache_encoding.htm]]
うちは、日本語は使わないようにします。どうしても必要であれば、ftpを利用すればいいのですし。
** クライアントからアクセス [#vfbfbf78]
一番簡単なのは、IE からアクセスする方法です。IE の「ファイル」メニューを開き、「開く」を選択します。出てきたダイアログに対し、WebDav として利用したい URL を入力します。そして、「Webフォルダとして開く」にチェックを入れます。下の画像を参考にしてください。
#ref(ie_open_menu.jpg);
OKボタンを押すと、指定した URL の中身を、エクスプローラーの形式で見ることができます。ファイルの新規作成などできるか、確認しましょう。
*** 認証付き [#nb9cb33b]
うちは、すでに上位層で認証を掛けている領域のなかに、WebDav 用のディレクトリを作成しています。そのためなのか、IE からアクセスすると、認証系がおかしいです。
最初に出てくるダイアログは正しいID やパスワードを入れても、何度も出てきてしまいます。このダイアログでは、キャンセルボタンを押します。すると次のダイアログが出てきます。ここで正しいID やパスワードを入れると、ログインができます。
#ref(1st_dialog.jpg);~
最初に出てくる認証ダイアログ
#ref(2nd_dialog.jpg);~
次に出てくる認証ダイアログ
最初の認証は、どこか違うところのものでしょうか。しかし、次に出てくる認証をなくすと、最初の認証も出なくなります。謎です。
*** Firefox からアクセス [#ke91a1f2]
openwebfolder というエクステンションを入れれば、WebDavを利用できます。
openwebfolder というエクステンションを入れれば、WebDavを利用できるらしいです。エクステンションを追加したあと、右クリックメニューを開くと、「Open As Webfolder」という項目があるので、それを選択します。すると、IEが立ち上がり、Webフォルダを開こうとするのですが…、うまくいきません。
素直に、最初から IE を使った方が良さそうです。認証などがない、単純な環境なら問題ないのでしょうけど。
----
** 参考サイト [#qa61f3cf]
- [[Apache(WWW)-DAVサーバ構築:http://d-net.robata.org/inetbuild-apache-dav.html]]
- [[WEBDAVを使ってみる(2002-03-03):http://nemuneko.com/nifty/RH7.2/webdav.html]]
- [[mod_dav のインストールと設定:http://webdav.todo.gr.jp/howto/install-mod_dav.html]]
** 履歴 [#v17671be]
- 2006/04/09 新規作成 ぼくぴ