| ●apacheでwebdavサービス |
apacheのコンパイルの際に
--enable-so
--enable-dav
をつけてコンパイルしておきます。
apacheのインストールはこちら
http://unix-study.com/unix/install/apache/index.html
○mod_encodeingのインストール
http://webdav.todo.gr.jp/download/
から
mod_encoding 20021209.tar.gz
mod_encoding.c.apache2.20040616
をダウンロードします。
# gzip -dc mod_encoding-20021209.tar.gz | tar xf -
# cp mod_encoding.c.apache2.20040616 mod_encoding-20021209/mod_encoding.c
展開した後にmod_encoding.cをダウンロードしたものと置き換えます。
次にlib/ 以下で
#configure ; make; make installしておきます
iconv_hookをインストールします。
/usr/local/include/iconv_hook/iconv.h
/usr/local/include/iconv_hook/iconv_hook.h
/usr/local/lib/libiconv_hook.la
/usr/local/lib/libiconv_hook.a
/usr/local/lib/libiconv_hook.so
/usr/local/lib/libiconv_hook.so.1.0.0
/usr/local/lib/libiconv_hook.so.1
がインストールされます。
# ./configure --enable-debug \
> --with-apxs=/usr/local/apache2/bin/apxs \
> --with-iconv-hook=/usr/local/include/iconv_hook \
> 2>&1| tee configure.log
などとする必要があります。--enable-debug というのは問題追跡を
楽にするためで、必須ではありません。
# make 2>&1|tee make.log
# make install 2>&1|tee make_install.log
なお、make install で失敗した場合も、mod_encoding.so を適切な
モジュール置き場にコピーすれば問題なく使えます。
---
cp mod_encoding.so /usr/local/apache2/modules/mod_encoding.so
cp: mod_encoding.so: No such file or directory
apxs:Error: Command failed with rc=65536
.
make[1]: *** [install-exec-local] Error 1
make[1]: Leaving directory `/usr/local/arch/apache/mod_encoding-20021209'
make: *** [install-am] Error 2
---
というようなエラーが出ます。
この場合は
# cp .libs/mod_encoding.so /usr/local/apache2/modules/
にコピーすることにより正常に
make installでエラーが出ずに正常にインストールを終えるために
makeする前にmod_encoding-20021209ないにあるMakefileを修正します
---対策---
# cp Makefile Makefile.bak
# vi Makefile
67行目
LIBS = -L/usr/local/lib -liconv_hook
259行目
$(APXS) -i -a -n encoding mod_encoding.la
---対策終わり---
この後に
# make 2>&1|tee make.log
Solarisなどで/usr/ccs/bin/ldを探してmakeされると
makeに失敗するのでGNULDを使うようにしておきましょう。
# make install 2>&1|tee make_install.log
するとエラーなく正常に/usr/local/apache2/modules/mod_encoding.so
がコピーされています。
以上でインストールは終了です。
次にmod_encodingの設定を行います。
# vi /usr/local/apache2/conf/httpd.conf
--適当なところに---
### For mod_encoding###
<IfModule mod_encoding.c>
EncodingEngine on
SetServerEncoding UTF-8
DefaultClientEncoding UTF-8 CP932 EUCJP-MS
AddClientEncoding "Microsoft .* DAV 1.1" ASCII CP932 UTF-8
AddClientEncoding "Microsoft .* DAV" UTF-8 CP932
AddClientEncoding "(Microsoft .* DAV $)" UTF-8 CP932
AddClientEncoding "(Microsoft .* DAV 1.1)" CP932 UTF-8
AddClientEncoding "Microsoft-WebDAV*" UTF-8 CP932
AddClientEncoding "RMA/*" CP932
AddClientEncoding "xdwin9x/" CP932
AddClientEncoding "cadaver/" UTF-8 EUCJP-MS
AddClientEncoding "Mozilla/" EUCJP-MS
</IfModule>
###END mod_encoding###
を入れておきましょう。
LoadModule encoding_moduleの記述が
どこかに入っているのでその行を探して付け加えておきましょう。
●mod_davの設定
今回は/usr/local/apache2/webdav
を公開することにします。
# mkdir /usr/local/apache2/webdav
# chown www:www /usr/local/apache2/webdav
httpdを実行しているユーザの所有権にしておきます。
# vi /usr/locla/apache2/conf/httpd.conf
---以下を追記---
### FOR moddav###
DAVLockDB /tmp/lockdb
Alias /webdav /usr/local/apache2/webdav
<Location /webdav>
DAV on
AuthType Basic
AuthName "For mod_dav authentication"
AuthUserFile /usr/local/apache2/conf/passwd
Require valid-user
</Location>
### END moddab###
---
※Lockファイルは必ずhttpdの実行ユーザが
書き込み可能なディレクトリに!
※AuthUserFileがない場合は
# htpasswd -c passwordfile username password
で作成しておきます。
これで認証を行ってwebdavとして使えます。
ただhttp上で行うと認証のデータも全て平文に
なるのでhttpsに乗せておくことをお勧めします。
httpsにする手順はこちら
http://unix-study.com/unix/install/apache/index.html
webdavの設定方法はなんら変わりはありません。
Windowsからwebdavディレクトリをマウント
「スタート」→「マイネットワーク」
→左上ペインの「ネットワークプレースを追加する」
後はFig1〜Fig7のようなWindowsの操作で
簡単にwebdavフォルダを追加できます。
1.次へをクリック

FIg1.
2.次へ

Fig2
3.URLを入力

Fig3.
4.ユーザ名とパスワード(apacheのBasic認証)

Fig4
5.任意の名前をつける

Fig5.
6.完了

Fig6.
7.インターネット越しにネットワークフォルダがマウントされる

Fig7.
以上のようにクライアントの設定をすることができます。
このフォルダは「マイネットワーク」フォルダができますので
いつでもそこからアクセスできます。
認証している場合は開くたびに認証を行います。
他にwebdavに関するpatch
http://webdav.todo.gr.jp/download/
に
【おまけ】
SunJAVA Webserverでのwebdav
仮想サーバ単位の WebDAV の動作を確認しました。
1. WebDAV を Enable にする。
1) 右上 Class Manager をクリック
2) Content Mgmt タブをクリック
3) Enable/Disable WebDAV を選択し、"Enable DAV for class vsclass1"
にチェックをつけて OK ボタンを押す
2. Collection を作成する
(WebDAV を有効にする URI やタイムアウトなどの設定を行う
1) Virtual Servers タブを選択し、Manage Virtual Servers 画面で
"Manage" を選ぶ
2) WebDAV タブをクリック
3) Add DAV Collection をクリック
4) URI に "/davtest" を入力し、OK ボタンを押す
これにより、http://<hostname>/davtest/ 以下に対して WebDAV
メソッドを発行できる
3. アクセス制限を編集する
1) Edit DAV Collections をクリック
2) Setup ACL の Edit ACL をクリック
3) Create/Edit Accexx Control for URI をクリック
4) 通常の ACL と同じように ACL を設定
だけであまりんも拍子抜けするくらい簡単にできてしまいます。