FreeBSD/WebDAV

Apache2でWebDAVを使う

dokuwiki.fl8.jp転載済み

  1. 環境
  2. インストール(Apache2)
  3. 日本語対応(mod_encoding)
  4. http.confの修正
  5. Apache再起動

環境

FreeBSD 6.0
Apache 2.0.54

インストール(Apache2)

Apache2からはWebDAVが標準で組み込まれているので、これを利用する。Apacheからバージョン2のApacheソースコードをダウンロードする。

# cd /usr/ports/www/Apache2
# make install


起動

# apachectl start
ブラウザからIP入力するなどして、確認してみる。


日本語対応(mod_encoding)

WebDAV Resources JPよりソースとApache2用のソースをダウンロード

# fetch http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz
# fetch http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616
# tar zxvf mod_encoding-20021209.tar.gz
# cd mod_encoding-20021209
# cp ../mod_encoding.c.apache2.20040616 mod_encoding.c
# ./configure --with-apxs=/usr/local/sbin/apxs 

■そのままgmakeするとエラーが出るので修正

# vi mod_encoding.c
-------------------修正個所-----------------------
#include <iconv_hook/iconv.h>
              ↓
#include </usr/local/include/iconv_hook/iconv.h>
-------------------修正個所-----------------------

■Makefileも修正

# vi Makefile
-------------------修正個所-----------------------
LIBS = 
          ↓
LIBS = -L/usr/local/lib -liconv -liconv_hook
-------------------修正個所-----------------------

■コンパイル
gmakeインストールでエラーが表示されるが.libs/にmod_encoding.soができているので、手動でコピーする。

# gmake
# gmake install
# cp .libs/mod_encoding.so /usr/local/libexec/apache2/

httpd.confの修正

# vi /usr/local/etc/apache2/httpd.conf
-------------------追加個所-----------------------
LoadModule encoding_module libexec/apache2/mod_encoding.so
<IfModule mod_encoding.c>
  EncodingEngine on
  NormalizeUsername on
  SetServerEncoding UTF-8
  DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
  AddClientEncoding "cadaver/" EUCJP
</IfModule>

DAVLockDB /tmp/DAVLock
DAVMinTimeout 600
Alias /webdav "/work2/webdav"

<Location /webdav>
  DAV On
  Header add MS-Author-Via "DAV"
  DAVMinTimeout 1800
  Options +Indexes
  IndexOptions FancyIndexing
  AuthType Basic
  AuthName "Please Input ID and Password."    
  AuthUserfile /etc/webdav.passwd
  Require valid-user
  Order allow,deny
  Allow from all
</Location>
 -------------------追加個所-----------------------

■使用者のIDとPaswordを追加しておく。

# htpasswd -c /etc/webdav.passwd matsui
New password: *****
Re-type new password: *****
Adding password for user matsui

Apache再起動

# apachectl restart

接続確認

Windowsのマイネットワーク ⇒ ネットワークプレースの追加