録画予約画面でユーザー認証
外部から録画予約画面が見え、録画予約や削除などができるのは非常に便利だが MythTV には録画予約画面にユーザー認証機能は無い(と思う。)。それでは非常に危険だ。アドレスさえ分かれば誰でも録画予約ができてしまうし MythWeb のページでできる事が誰にでも全部可能になる。
そこで、apache の機能を使ってユーザー認証をする事にした。
apache のユーザー認証には Basic認証と Digest認証の2つがあるそうだ。Basic認証は、パスワードが平文でネットワークを流れるらしい。Digest認証は暗号化されて流れるらしいので、Digest認証を使う事にしよう。
- ユーザー認証によりアクセスに制限をかけるディレクトリの確認
Fedora では、デフォルトでドキュメントルートが /var/www/html/ になっているので、今回アクセス制限をかけるのは /var/www/html/mythweb となる。
- Apache を設定する。
apache の設定ファイル /etc/httpd/conf/httpd.conf に以下を記述
<Directory "/var/www/html/mythweb"> AuthType Digest AuthName "User Only" AuthDigestDomain /mythweb/ AuthDigestFile /etc/httpd/.htdigest Require user myuser01 </Directory>
上記の User Only は認証ダイアログに現れる文字列なのでなんでも良い。Member Only とか MythWeb 等でも良い。
myuser01 はアクセスする際のユーザー名、/etc/httpd/.htdigest はパスワードファイル。を指定している。
- htdigest コマンドでユーザー
myyser01myuser01 とパスワードを設定する。
# htdigest -c /etc/httpd/.htdigest "User Only" myuser01 Adding password for myuser01 in realm User Only. New password: Re-type new password:
これで、/etc/httpd/.htdigest が生成される。初回のみ -c オプションが必要。
- httpd を再起動する。
# /etc/rc.d/init.d/httpd restart
- Web ブラウザで外部からアクセス
Firefox 等で、http://hoge.hage/mythweb にアクセスすると下図のように ID と Password を求めるダイアログがでて来る。