nginxでwebdavをやるには、以下の二つのモジュールが必要。
http_dav_module
nginx-dav-ext-module
nginx -V
で確認できる。
--with-http_dav_module
--add-module=/build/buildd/nginx-1.6.2/debian/modules/nginx-dav-ext-module
があればよい。
ちなみに-Vの結果は1行で出るので、grepしてもわからない。
こういうときはどうやればいいのだろう?
とりあえずテキストにコピーして探した。
nginx自体は
sudo apt-get install nginx
でインストールできるのだが、何もしないと上記のモジュールなしにインストールされてしまう。
検索すると、ソースコードをダウンロードして、モジュールを組み込んでビルドする、
という方法を紹介している人が見つかるが、めんどくさいしやってみたら途中で
わからなくなった。
こんなことしなくても、最新を持ってくるとかすれば入ってるんじゃないのか・・・
と検索し、下記のページのとおりにすると、無事2つのモジュール入りがインストールできた。
http://qiita.com/hiroq/items/420424bc500d89fd1cc8
さて、webdavの設定自体はそれほど大変ではない。
## webdav
server {
listen 10080 default;
server_name example.com;
root /var/webdav;
charset utf-8;
location / {
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:rw all:r;
client_body_temp_path /tmp/nginx/webdav;
create_full_put_path on;
}
}
}
いちおうクライアントからアクセスでき、ファイルのコピーもできるが、
サーバにおこうとすると、「ファイルがすでにあるが上書きするか」
というメッセージが表示されてしまう。
なんか間違ってるんだろう・・・。後で直す。
ちなみにクライアントはCarotDav@windows7home premium 64bit