Linux で WebDAV をマウント — NetDrive の実験的 Ubuntu ビルド

読了目安 7 分 provider-guide webdav linux
Steve
SteveSenior Engineer
WebDAV サーバー(Synology NAS、ownCloud、標準準拠の任意のホスト)を、NetDrive の実験的な Linux ビルドで Ubuntu のマウントポイントとしてマウントする。

ヘッドレスな Ubuntu ランナー群で CI を運用しているビルドチームは、共有ツールチェーンとキャッシュ済みフィクスチャを社内の WebDAV サーバーに置いており、各ランナーは同期エージェントでディスクを消費してローカルにフルコピーを持つことなく読み取りアクセスできる必要がある。誰かがファイルを更新した瞬間に古くなるコピーは避けたい。NetDrive の Linux ビルドはこの WebDAV 共有を通常のマウントポイントとしてマウントするので、/mnt/webdav/fixtures/build.tar.gz を読むジョブは、前回の実行がダウンロードしたコピーではなく、サーバー上の最新ファイルを直接取得できる。

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

Ubuntu に WebDAV サーバーをマウント

NetDrive を使えば Google Drive、OneDrive、S3、SFTP、WebDAV などが Windows と macOS でネイティブドライブとして表示されます — 同期も、まるごとダウンロードも不要です。

  • Ubuntu 16.04 以降で動作
  • Synology NAS を含む、標準準拠のあらゆる WebDAV ホストで利用可能
  • 共有を直接マウント — ローカル同期コピーの維持は不要
WindowsmacOS
Linux 版 NetDrive をダウンロード →

無料トライアル。永久ライセンスとサブスクリプションプランあり。

WebDAV と Linux 版 NetDrive

WebDAV(Web Distributed Authoring and Versioning)は、Web サーバーを HTTP 経由で書き込み可能なファイルストアに変える技術で、Synology のファイル共有、ownCloud、そして数多くのセルフホスト型ストレージサーバーの裏側で動いているプロトコルである。NetDrive は 2017 年 9 月の最初の 3.x リリース以来 WebDAV をサポートしており、FTP や SFTP と並んで、クラウドプロバイダー統合が始まる以前からの基礎的な 3 つのプロトコルの一つとなっている。

Linux では、NetDrive はディストリビューションのパッケージリポジトリではなく、github.com/NetDrive/installer から配布されている。Linux サポートには NetDrive 独自の experimental(実験的)ラベルが付いているが、これはこのプラットフォーム上の全プロバイダーに共通するもので、WebDAV に固有のものではない。Windows と macOS が、実績のある本番向けターゲットとして扱われている。

WebDAV protocol logo, the standard NetDrive supports across all platforms

Ubuntu への NetDrive のインストール

  1. github.com/NetDrive/installer にアクセスし、使用している Ubuntu のバージョンに合ったリリースをダウンロードする。サポートされる最小バージョンは Ubuntu 16.04 である。
  2. そのビルドのリリースノートに従う — NetDrive が何かをマウントできるようになる前に、ドライバーコンポーネントのインストールが必要になる。
  3. NetDrive パッケージをインストールする。
  4. NetDrive を起動する。初回起動時にドライバーコンポーネントが読み込まれ、システムの設定によっては sudo を求められる場合がある。

アップデートは apt upgrade 経由ではなく GitHub のリリースとして配布され、Linux 版ドライバーは独自のスケジュールで保守されている — Windows や macOS に入った修正が、同じ週のうちに Linux にも届くとは限らない。そのボックスを管理する運用手順書に一行加えておく価値がある。

手順:WebDAV サーバーへの接続

  1. NetDrive の Drive Manager を開き+ Add Drive をクリックする。
  2. 接続タイプの一覧から Select WebDAV を選ぶ。
  3. サーバーの URL を入力する。 デフォルトポートで HTTPS を使う場合: https://yourserver.example.com/dav/。カスタムポートの場合 — Synology の WebDAV パッケージはデフォルトで 5006 を使う — https://yourserver.example.com:5006/ のように入力する。

Confirming a server's port number before entering it into a WebDAV connection

  1. WebDAV アカウントの ユーザー名とパスワードを入力する
  2. マウントポイントを設定する/mnt/webdav のようなパス、または書き込み権限を持つ任意の空ディレクトリでよい。
  3. Click Connect. NetDrive が認証を行い、そのパスに共有をマウントする。

NetDrive mounting a cloud storage account as a local drive — the same core interaction the Linux build provides at a mount point

接続先が Synology NAS の場合、NetDrive が接続できるようになる前に、DSM 上で WebDAV Server パッケージをインストールし HTTPS を有効にしておく必要がある — これは Windows や macOS でも同様の前提条件である。

マウントの確認とよくある接続の問題

GUI だけを信頼せず、端末からマウントを確認しておくとよい。特に実験的なビルドではなおさらである。

# Confirm the mount is listed
mount | grep webdav

# Or just try listing it
ls /mnt/webdav

Confirming that a cloud drive connected successfully after mounting

接続拒否またはタイムアウト — URL が http:// ではなく https:// になっているか確認する。ほとんどの WebDAV サーバーは素の HTTP を拒否し、次に多い原因はポートの不一致(Synology のデフォルトでは 5006 対 443)である。

自己署名サーバーでの証明書エラー — 自己署名証明書を使うセルフホスト型 WebDAV ホストでは、NetDrive の接続が成功する前に、その証明書をシステムの CA 信頼ストアに追加しておく必要がある。Let’s Encrypt のようなパブリック CA の証明書であれば、この手順自体が不要になる。

Connect 後に何も表示されない — サーバー側を疑う前に、マウントポイントのパスが存在し、NetDrive を実行しているユーザーから書き込み可能であることを再確認する。

まとめ

Ubuntu 上で WebDAV サーバーをマウントすれば、Windows や macOS で NetDrive が提供しているのと同じドライブ形式のアクセスを、apt ではなく GitHub 上で公開されているインストーラーを通じて、ヘッドレスなボックスにも与えられる。Linux 全般については NetDrive on Ubuntu Linux、より広くテストされたプラットフォームでの同じプロトコルについては Mount WebDAV on Windows、そして Linux ビルドでの別の接続タイプについては Mount an SFTP Server on Linux を参照してほしい。

— Steve, NetDrive