Basic認証
Webサイトにパスワード認証を設定します。
◆パスワードファイルの作成
例として
パスワードファイル名:server.passwd
ユーザ名:server
パスワード:yyyy
とします。
$ cd /etc/apache2
$ sudo htpasswd -c server.passwd server
New password: yyyy
Re-type new password: yyyy
Adding password for user server
今回初めて作成するので「-c」というcreateオプションをつけました。このパスワードファイルに新たにユーザを追加するときは
$ sudo htpasswd server.passwd newuser
でOKです。また以下の所有者・パーミッション変更はやらなくても動きますが、セキュリティ上設定したほうがいいです。www-dataというのはApacheを動かしているユーザで、以下の設定はroot とwww-data の人しかファイルを読み書き出来なくしています。
$ sudo chown www-data:www-data ./server.passwd
$ sudo chmod 600 ./server.passwd
◆Apacheのディレクティブ設定の編集
$ sudo emacs -nw /etc/apache2/sites-available/default
以下のように追記します。
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride None
Order allow,deny
allow from all
#Basic認証
AuthType Basic
#好きな名前に
AuthName "Server"
#パスワードファイルを作成した場所
AuthUserFile /etc/apache2/server.passwd
#パスワード入力した人だけ許可
Require valid-user
</Directory>
設定したらApacheを再起動します。
$ sudo service apache2 restart
これで
http://localhost
にアクセスするとパスワードを訊かれるようになります。