WsgiDAVでWebDAVする

この記事は約3分で読めます。

Nginxに拡張モジュールを導入してWebDAVするとしていたが、実際は使い物にならなかった。アクセスできないクライアントがあった。

そこで、WsgiDAVを使って、WebDAVできるようにした。だいぶまえのこと。

参考にしたのはこちら。

ウェブサーバにはNginxを使っていたので、リバースプロキシとして設定。個人用途として使うには十分。一応Basic認証をかけていた。

で、導入したときは、2.0.0。それからだいぶ経っていたので、WsgiDAVもアップデートしていないかなと思って調べてみると、案の定、2.2.4がリリースされていた。そこで、アップデート。

試行錯誤したが、結果的にはうまくいったのでメモ。WsgiDAVのアップデートと、ついでにSSL化をした。

WsgiDAVはこちらから入手できる。

というか、マニュアルには、以下のようにして導入するとある。2.2.4が導入される。

sudo pip install -U wsgidav

あるいは、最新版の場合は、こちら。2.2.5が導入される。

pip install git+https://github.com/mar10/wsgidav.git

あるいは、git cloneして、インストールする方法もある。

git clone https://github.com/mar10/wsgidav.git wsgidav
cd wsgidav
setup.py develop
setup.py test
wsgidav --help

と、両方やってみたが、なぜかインストールはできるのだが、うまく動かなかった。

で、2.2.2ぐらいまでバージョンをさかのぼって試したがだめ。2.1.0をgit cloneしてインストールしたら、何とかうまく動きそう。

ということで、最新版は様子を見てまた試してみよう。

ちなみに、Nginxの設定はこんな感じ。

server {
    listen 80;
    server_name webdav.domain.com;
    location / {
        return 301 https://webdav.domain.com$request_uri;
    }
}

server {
    listen 443 ssl http2;
    server_name webdav.domain.com;

    ssl_protocols TLSv1.2;

    ssl_certificate /etc/letsencrypt/live/webdav.domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/webdav.domain.com/privkey.pem;

    ssl_prefer_server_ciphers on;

    ssl_session_timeout  10m;

    location / {
        auth_basic "Restricted";
        auth_basic_user_file /path/to/pass/.htpasswd;
        client_max_body_size 200m;
        proxy_pass http://127.0.0.1:6060;
    }
}

 

コメント

  1. […] ージョンなので、2.1.0から2.4.1にとりあえずアップデートしてみた。2.4.1は以前導入しようとしたがうまくいかなかった。ドキュメントも新しくなっていたので、記述に沿って再び試して […]