HTTP の拡張である WebDAV を利用すると、サーバ上のファイルシステムを HTTP で外部に公開できます。Debian9 を利用した設定例を記載します。HTTP サーバとしては Apache を利用します。
必要なパッケージをインストールします。
sudo apt install apache2
公開するディレクトリを用意します。
sudo mkdir -p /data/webdav
sudo chown www-data: /data/webdav
sudo chmod 770 /data/webdav
WebDAV の設定を追加します。
/etc/apache2/conf-enabled/webdav.conf
Alias /webdav /data/webdav
<Location /webdav>
Dav On
Options None
AuthType Basic
AuthName MyAuthForWebDAV
AuthUserFile /etc/apache2/.htpasswd
Require user debian
</Location>
Basic 認証用のユーザを追加します。
sudo htpasswd -c /etc/apache2/.htpasswd debian
Apache の WebDAV 関連のモジュールを有効化します。
sudo a2enmod dav*
sudo systemctl restart apache2
ファイルシステムとしてマウントするクライアント davfs2
を利用する場合は以下のようになります。常時マウントするためには fstab 等を利用します。
sudo apt install davfs2
sudo mkdir /media/webdav
sudo mount -t davfs http://127.0.0.1/webdav /media/webdav
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 236M 0 236M 0% /dev
tmpfs 50M 5.5M 44M 11% /run
/dev/sda1 8.7G 1.6G 6.7G 19% /
tmpfs 247M 0 247M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 247M 0 247M 0% /sys/fs/cgroup
tmpfs 50M 0 50M 0% /run/user/1000
http://127.0.0.1/webdav 1.3T 763G 509G 61% /media/webdav