ラズパイの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化しておればフルアクセスが出来るようである。
余裕が出来ればやってみようと思う。