AuthTypeディレクティブは、どの認証方法を使うかを指定する。
今回は、Apacheで簡単なBasic認証を仕掛ける。
認証、承認、アクセス制御 - Apache HTTP サーバ バージョン 2.4
ApacheでBASIC認証(パスワード認証)を設定する | Points & Lines
まず、認証をかけるディレクトリの作成。
$ cd /var/www/html/access_test/ $ ls access_test1 $ mkdir access_test2 $ cd access_test2/ $ vi access2.html $ cat access2.html <html> <head> <title>AuthType</title> </head> <body> <a href="http://bgstation0.com/">B.G-STATION</a> </body> </html> $
access_test2ディレクトリを作成し、access2.htmlを置く。
次に、認証をかけたディレクトリにアクセス可能なユーザとパスワードの作成。
$ sudo htpasswd -c /etc/httpd/htpasswd testuser1 [sudo] password for bg1: New password: Re-type new password: Adding password for user testuser1 $
htpasswdコマンドで、パスワードファイル/etc/httpd/htpasswdを作成し、testuser1を追加。
$ cat /etc/httpd/htpasswd testuser1:$apr1$WsD6GAR6$FjhQF5tq58tk7RJDLcuXA. $
保存したパスワード自体は暗号化されている。
$ sudo vi /etc/httpd/conf/httpd.conf
httpd.confを開いて、
# access_test2 <Directory /var/www/html/access_test/access_test2/> AuthType Basic AuthName "Authentication" AuthUserFile /etc/httpd/htpasswd Require valid-user </Directory>
このようなセクションを追加。
今回は.htaccessじゃなくて直接書いた。
AuthTypeは認証方法。Basic認証なので、"AuthType Basic"。
AuthNameは、ブラウザによっては表示されるダイアログのメッセージ。
AuthUserFileがパスワードファイル。
Requireは対象ユーザ(認証通れば見れるユーザ)なんだけど、valid-userにすればパスワードファイルに書いてある人はだれでも見れる。
Apache再起動前は誰でもアクセスできる。
Apache再起動後はユーザとパスワード要求。
間違えると、
弾かれる。
正しければ通る。