ラズパイのWebDAVの設定

 家庭内や離れている親族相互のファイル共有のためWebDAVを試してみることとした。
 セキュリティ対策上はもう一つのようだが、差しさわりの無いファイルであれば問題ないかと思っている。

 設定方法についてネットで調べてみると、
  1.WebDAV用ディレクトリーの準備   2 .htpasswd を作る
  3.basic 認証用設定ファイルを置く
  4.basic 認証用設定ファイルを有効にする
  5.Apache2 をリロードする。

のようである。
 1番のWebDAV用のディレクトリーであるが、これはapacheでアクセスできる範囲、つまり /var/www/html 以下に配置し、所有者を設定しておく。
 例えば
$ sudo mkdir /var/www/html/WebDAV
$ sudo chown www-data:www-data /var/www/html/WebDAV

 2番の.htpaddwdの設定である。
初回のみ -c を付けてパスワードファイルを作成する。
$ cd /etc/apache2
$ sudo htpasswd -m -c .htpasswd xxxxxxxxx
New password: sud
Re-type new password:
Adding password for user xxxxxxxxx

オプション -m は、MD5 でのパスワード暗号化指定。
オプション -c は create のことで、指定のファイルが無い場合に作る。
すでにある場合は上書きされるそうである。

2回目以降(2人目以降)は、こんな感じ。

$ cd /etc/apache2
$ sudo htpasswd -m .htpasswd tester
New password:
Re-type new password:
Adding password for user tester

これで、Basic 認証用アカウントファイル /etc/apache2/.htpasswd を作った。

 3番のApache2 にさっきの Basic 認証用ファイルを利用するよう設定しなければならない。
設定ファイル:/etc/apache2/conf-available/basic-auth.conf
対象ディレクトリ:/var/www/html
パスワードファイル:/etc/apache2/.htpasswd

これらを盛り込んだファイルを作る。
$ sudo vi /etc/apache2/conf-available/basic-auth.conf

       DAV On
       AllowOverride None
       AuthType Basic
       AuthName WebDAV
       AuthBasicProvider file
       AuthUserFile /etc/apache2/.htpasswd
       Require valid-user
       Allow from all
       Order allow,deny

AllowOverride None は .htaccess を無効にする設定。
basic 認証用設定ファイルを有効にする

$ sudo a2enconf basic-auth

 ついでにWevDavモジュールの起動しておく

  sudo a2enmod dav
  sudo a2enmod dav_fs

Apache2 をリロードする。
最後に、有効にした設定ファイルを反映してあげないといけないので、apache2 をリロードする。

$ sudo systemctl reload apache2

コマンドラインでのアクセスは以下の通り、
$ curl -u anabuki:anabuki007 -T test5.doc --url http://192.168.0.65/WebDAV/test5.doc -X PUT

$ curl -u anabuki:anabuki007 --url http://192.168.0.65/WebDAV/test2.txt -X GET

 これでファイルの移動が出来ていれば一応完成である。
 ブラウザからは閲覧は出来るが転送は出来ない。転送やファイルの削除などの操作は専用のソフト carotDAV などが必要となる。

 windows10はSSL化しておればフルアクセスが出来るようである。
 余裕が出来ればやってみようと思う。