webdav@nginx@ubuntu@さくらのVPS

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