#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 新規作成 ぼくぴ