May 03, 2009

初めてのWebDAV

ポスト @ 21:15:50 , 修正 @ May 03, 2009 12:15:50 | ubuntu

 前から少し気になっていたWebDAV。AppleのiDiskや、Dropbox、Box.netとかいろいろあるので、いまさら自前で似たようなものを用意する必要があるのかと思ったのだけれど、容量制限を気にしなくていいし(もちろんハードディスクの容量による制限はあるけれど、2GBとか20GBなんてことはない)、一度自分で試してみたいと思った訳だ。さっそく、Ubuntu 8.10で準備してみた。

 まず、日本語ファイル名を扱えるように(あまり自分では日本語名を名づけないのだけど)、sudo apt-get install libapache2-mod-encodingとやってmod-encodingをインストール。そして、/etc/apache2/mods-available/にencoding.confという名のファイルを作成し、以下を記述。

<IfModule mod_encoding.c>
    EncodingEngine    on
    NormalizeUsername on
    SetServerEncoding     UTF-8
    DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
    AddClientEncoding "cadaver/" EUC-JP
</IfModule>
 次に、モジュールを有効化する。
sudo a2enmod dav
sudo a2enmod dav_fs
sudo a2enmod encoding
 そして、先日増設したハードディスクにdav用の領域を作り、permissionの設定をする。
sudo mkdir /mnt/HD2/www/webdav
sudo chown -R www-data:www-data /mnt/HD2/www/webdav
sudo chmod 755 /mnt/HD2/www/webdav
 最後に、Apache2の設定ファイルのディレクティブ内に以下の記述を追加。
        Alias   /dav/    /mnt/HD2/www/webdav/
        <Directory "/mnt/HD2/www/webdav">
            Dav on
            AuthUserFile  "/etc/xxx/dav.htpasswd
            AuthName  "WebDav Server"
            AuthType  Basic
            Require valid-user
        </Directory>
 そうです。Basic認証です。なんと安直な。SSLでしょう、普通。でも、設定が面倒くさかったので。これでapache2を再起動すればできあがり。

 Dell Inspiron mini9 / ubuntu 8.04でこいつをマウントしてみようと、メニューの「場所」→「サーバへ接続」を選び、接続方式を WebDAVとして、サーバ名、ディレクトリ名、ユーザ名など入力して接続しようとしても、そんなところには繋がらないと言われてしまう。WebDAVがうまく機能していないのかとずいぶん悩んだが、ホームディレクトリに「nDisk」という名のディレクトリを作り、sudo mount -t davfs http://nakano.no-ip.org/dav /home/xxxx/nDisk -o uid=xxxx -o gid=xxxx -o nolocksとやったら問題なくマウントできた。やはりコマンドラインは裏切らないということなのか。

 やってみると意外に簡単。まあ、Basic認証だけど。

 追記:MacOSXからは、メニューの「移動」→「サーバへ接続」を選び、http://nakano.no-ip.org/davとか入れるだけ。ユーザ名とパスワードを求められるので、これを入れればマウントされる。ユーザ名とパスワードをキーチェインに登録しておけば次回以降訊かれることもなくなる筈。よく使うサーバとしてブックマークしておけば次回からはもっと簡単になる。なかなか便利である。速度はまだ未確認だけれども。

Trackback

No Trackbacks

Track from Your Website

http://nakano.no-ip.org/attic/trackback/tb.php?id=372
(言及リンクのないトラックバックは無視されます)