sid の apache2 で WebDAV

まずパッケージがなさげな mod_encoding を野良インストール。

# apt-get install apache2-dev libiconv-hook1
# wget http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20020611a-2
# mv mod_encoding.c.apache2.20020611a-2 mod_encoding.c
(なんとなく #include <iconv/iconv.h> だかを #include <iconv.h> に変更)
# gcc -shared -o mod_encoding.so -I/usr/include/apache2 -I/usr/include/apr-0 mod_encoding.c -Wall -liconv_hook
# cp mod_encoding.so /usr/lib/apache2/modules

dav, encoding, headers を enable にする。実体は /etc/apache2/mods-available の下で、 mods-enabled にシンボリックリンクをはる。

 ==> /etc/apache2/mods-enabled/dav.conf <==
DAVLockDB /var/lock/apache2/DAVLock
 ==> /etc/apache2/mods-enabled/dav.load <==
LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
LoadModule dav_fs_module /usr/lib/apache2/modules/mod_dav_fs.so
 ==> /etc/apache2/mods-enabled/encoding.conf <==
EncodingEngine    on
NormalizeUsername on
SetServerEncoding     UTF-8
DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
AddClientEncoding "cadaver/" EUC-JP
 ==> /etc/apache2/mods-enabled/encoding.load <==
LoadModule encoding_module /usr/lib/apache2/modules/mod_encoding.so
 ==> /etc/apache2/mods-enabled/headers.conf <==
Header add MS-Author-Via "DAV"
 ==> /etc/apache2/mods-enabled/headers.load <==
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so

dav.tnh.jp を enable にする。設定は以下のような感じのファイルを作って /etc/apache2/sites-enabled にシンボリックリンク

 ==> /etc/apache2/sites-available/dav.tnh.jp <==
<VirtualHost *>
	ServerAdmin tnh@webmasters.gr.jp
	ServerName dav.tnh.jp
	
	DocumentRoot /home/public
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /home/public>
  		DAV On
  		AuthType Basic
  		AuthName "WebDAV"
  		AuthUserFile /etc/apache2/htpasswd
  		Require valid-user
  		order deny,allow
  		deny from all
  		allow from 192.168.1
	</Directory>
	ErrorLog /var/log/apache2/dav.tnh.jp/logs/error.log-80
	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn
	CustomLog /var/log/apache2/dav.tnh.jp/logs/access.log-80 combined
	ServerSignature On
</VirtualHost>