WevDAV
WebDAVサーバを作ってみました。メモ程度です。
# ./configure --enable-shared=yes --enable-dav=yes --enable-headers --enable-so --enable-ssl --with-ssl=/usr/local/ssl --enable-proxy --with-included-apr
以下のオプションが必要
# /usr/local/apache2/bin/httpd -l
以下のモジュールが組み込まれていることを確認
ソースからコンパイルしているため、httpd.confへのLoadModuleの記述は不要
■lockファイルの作成
# mkdir /var/lock/dav
# ls -l /var/lock
drwxr-xr-x 2 root root 4096 5月 16 20:39 dav
■属性変更
# chown apache.apache /var/lock/dav
# ls -l /var/lock
drwxr-xr-x 2 apache apache 4096 5月 16 20:39 dav
■WebDAVフォルダの作成
mkdir /usr/local/apache2/htdocs/dav
■属性変更
chown apache.apache /usr/local/apache2/htdocs/dav
# ls -l
drwxr-xr-x 2 apache apache 4096 5月 16 20:42 dav
error_logを確認してみると以下のメッセージが出ている
# less error_log
【解決策】
apacheのconfigure時に以下のオプションを指定
参考サイト
http://blog.goo.ne.jp/espiya/e/c909f86037ec657d7f0...
http://www.futurewave.co.jp/linux/webdav.html
# wget http://webdav.todo.gr.jp/download/experimental/mod...
# tar zxvf mod_encoding-20021209.tar.gz
# cp -p mod_encoding.c.apache2.20040616 mod_encoding-20021209/mod_encoding.c
cp: `mod_encoding-20021209/mod_encoding.c' を上書きしてもよろしいですか(yes/no)? yes
# cd mod_encoding-20021209/lib
# ./configure
# make
# make install
# vi /etc/ld.so.conf
/usr/local/lib
#ldconfig
# pwd
/home/work/mod_encoding-20021209/lib
# cd ..
# pwd
/home/work/mod_encoding-20021209
# ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-iconv-hook=/usr/local/lib
# make
# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook
# cp mod_encoding.so /usr/local/apache2/modules/
WebDAVサーバの作成
apache2系にはWebDAVサーバが組み込まれているので、configre時に組み込むことで使用できる。■apacheの再インストール
# ./configure --enable-shared=yes --enable-dav=yes --enable-headers --enable-so --enable-ssl --with-ssl=/usr/local/ssl --enable-proxy --with-included-apr
以下のオプションが必要
--enable-shared=yes --enable-dav=yes
# /usr/local/apache2/bin/httpd -l
Compiled in modules:
以下のモジュールが組み込まれていることを確認
mod_dav.c mod_dav_fs.c mod_so.c
ソースからコンパイルしているため、httpd.confへのLoadModuleの記述は不要
■lockファイルの作成
# mkdir /var/lock/dav
# ls -l /var/lock
drwxr-xr-x 2 root root 4096 5月 16 20:39 dav
■属性変更
# chown apache.apache /var/lock/dav
# ls -l /var/lock
drwxr-xr-x 2 apache apache 4096 5月 16 20:39 dav
■WebDAVフォルダの作成
mkdir /usr/local/apache2/htdocs/dav
■属性変更
chown apache.apache /usr/local/apache2/htdocs/dav
# ls -l
drwxr-xr-x 2 apache apache 4096 5月 16 20:42 dav
エラー
入力したフォルダは有効ではないようです。別のフォルダを選択してください。error_logを確認してみると以下のメッセージが出ている
# less error_log
[Wed May 16 22:39:12 2007] [error] [client 192.168.1.101] File does not exist: /usr/local/apache2/htdocs/_vti_inf.html [Wed May 16 22:39:12 2007] [error] [client 192.168.1.101] File does not exist: /usr/local/apache2/htdocs/_vti_bin
【解決策】
apacheのconfigure時に以下のオプションを指定
--enable-headers
参考サイト
http://blog.goo.ne.jp/espiya/e/c909f86037ec657d7f0...
http://www.futurewave.co.jp/linux/webdav.html
windowsXPでのネットワークプレイスの追加
省略日本語文字化け対応
# wget http://webdav.todo.gr.jp/download/mod_encoding-200...# wget http://webdav.todo.gr.jp/download/experimental/mod...
# tar zxvf mod_encoding-20021209.tar.gz
# cp -p mod_encoding.c.apache2.20040616 mod_encoding-20021209/mod_encoding.c
cp: `mod_encoding-20021209/mod_encoding.c' を上書きしてもよろしいですか(yes/no)? yes
# cd mod_encoding-20021209/lib
# ./configure
# make
# make install
# vi /etc/ld.so.conf
/usr/local/lib
#ldconfig
# pwd
/home/work/mod_encoding-20021209/lib
# cd ..
# pwd
/home/work/mod_encoding-20021209
# ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-iconv-hook=/usr/local/lib
# make
# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook
# cp mod_encoding.so /usr/local/apache2/modules/
httpd.confへの追加
# vi httpd.conf-------------------------------------------------------- #WebDav encoding LoadModule encoding_module modules/mod_encoding.so <IfModule mod_encoding.c> EncodingEngine on NormalizeUsername on SetServerEncoding EUC-JP DefaultClientEncoding JA-AUTO-SJIS-MS SJIS AddClientEncoding "cadaver/" EUC-JP </IfModule> --------------------------------------------------------
2007年06月03日(日) 00:04:56 Modified by glass57