サーバーのディスクが余っていたのでファイルサーバーにしようかと思い,いくつか方法を考えていましたが, Apache を使っていたので WebDAV サーバーを構築してみました。
環境
- Ubuntu 10.4 Server 版 (64-bit)
- Apache 2.2
- mod_dav
mod_dav の有効化
WebDAV を利用できるようにするために mod_dav を有効化します。
sudo a2enmod dav ## 勝手に有効化されるらしい # sudo a2enmod dav_fs
Apache の設定
サーバー上のディレクトリ /var/www/dav をウェブサーバー上のロケーション /share に公開します。
まずはディレクトリの作成から。
sudo mkdir -p /var/www/dav sudo chown www-data:www-data /var/www/dav
次に設定ファイルに以下を追加します。
DavLockDB /var/lock/apache2/DAVLock Alias /share /var/www/dav <Location /share> DAV On DavMinTimeout 600 Options Indexes Order allow,deny allow from all </Location>
WebDAV の開始
モジュールを有効にし,サイト設定をロードするために Apache を再起動します。
sudo /etc/init.d/apache2 restart
これでウェブブラウザから http://[host]/share にアクセスすれば,ファイル一覧が表示されます[A]。
クライアントの設定
Windows Vista/7 の場合
エクスプローラーでコンピューターを開き,コンテキストメニューの [ネットワークの場所を追加する] からウィザードを開きます。あとはダイアログにしたがっていけば OK です。
Mac OS 10.6 の場合
Finder の [移動] メニューにある [サーバへ接続] からダイアログに入力します。
Ubuntu の場合
Mac OS X と同様に, [サーバへ接続] からダイアログに入力します。
別解として,直接マウントするという方法もあります。
sudo aptitude install davfs2 sudo mount -t davfs http://[host]/share /mnt/share
セキュリティ
以上の設定だと,ファイルは全て一般にさらされている状態です。 Apache の通常の設定と同じようにパスワード認証をかけたりアクセス元の IP を制限したりすることが可能です。ここでは割愛します。
なお, SSL クライアント認証を試した所,上記の方法で接続しようとした場合, Windows 以外では接続できませんでした。もしかしたらサードパーティー製のアプリケーションにはクライアント認証をサポートしているものがあるのかもしれません。
主要参考文献
脚注
- このときドットで始まるファイルが表示されません。セキュリティの問題からだと思いますが,ファイルサーバーとして使う場合には少し不都合です。表示する方法はないのでしょうか。 [↩]