ownCloudにWebDAV経由でアクセスする

2019年5月16日

ownCloudについての全投稿は/tag/owncloudを参照してほしい。

ownCloudサーバへのアクセス方法としては、デスクトップ用クライアントソフト、Andoid/iPhone用のクライアントソフトを使うのが一般的と思われるが、ownCloudはWebDAVもサポートしているので、これを利用してみる。

Windows用のWebDAVクライアント

まずは、Windows用のWebDAVクライアントであるCarotDAVを使用してみる。https://forest.watch.impress.co.jp/library/software/carotdav/からダウンロードできる。

ダウンロードしたら、まず接続先を設定する。

通常の接続として指定するURLに「/remote.php/webdav」を追加して指定する。ユーザ名・パスワードは同じものを使用する。

例えば、「https://example.com/owncloud」の場合であれば、「https://example.com/owncloud/remote.php/webdav」とする。

以下のようなエントリが作成されるので、これをダブルクリックする。

トップのフォルダが見えるようになる。さらに下位のフォルダを表示させ、ファイル等をダウンロードすることもできるし、アップロードも可能。

ownCloudサーバ内部でWebDAVを使用する

ownCloudサーバ側でファイルを追加するで記述したことだが、サーバマシン内の重要ファイルのバックアップファイルをownCloudファイル管理にし、手元のPCに自動ダウンロードさせる運用について書いた。

しかし、この方法ではバックアップファイルのバージョニングはできない。新たなバックアップファイルを上書きすると、以前のものは失われてしまう。以前の状態を取り戻す方法が無いのだ。

そこで、通常のownCloud管理のファイルと同様に、ファイルのバージョニングをさせたい。これには二つの方法があると思われる。

  • サーバ内にownCloudクライアントをインストールし、自身の中にあるownCloudサーバに接続する。このクライアントの管理領域にバックアップファイルをコピーする。
  • WebDAVを通じてownCloudサーバに接続する。

前者の方法は非常に無駄が多い。必要の無いクライアントがサーバ内で動作し、さらに必要の無いクライアント領域も必要になってくる。

ここでは、WebDAVによってサーバに接続することを考えてみる。これはかなり単純である。接続するとは言っても、WebDAV経由でownCloudのフォルダをファイルシステムとしてマウントし、そこを読み書きすればよいのである。

以下ではCentOS-6.9を前提としている。また一般ユーザではなくrootでアクセスする

davfs2をインストールし、クレデンシャルを書く

yum install davfs2

/etc/davfs2/secretsに以下を書き加える

https://example.com/owncloud/remote.php/webdav ユーザ名 パスワード

マウントポイントを作成し、マウント

mkdir /mnt/owncloud_webdav
mount -t davfs https://example.com/owncloud/remote.php/webdav /mnt/owncloud_webdav

以下の警告が表示されるが、意味は今のところ不明

/sbin/mount.davfs: warning: the server does not support locks

テストしてみる

ls -l /mnt/owncloud_webdav

としてみると、たしかにownCloud管理のフォルダ一覧が表示される。

適当なフォルダで以下を行う。

echo "this is test" > test.txt

さらにその後に

echo "this is sample" > test.txt

としてみる。バージョン管理されていることが確認できる。