AuthType

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じゃなくて直接書いた
今回は.htaccessじゃなくて直接書いた

今回は.htaccessじゃなくて直接書いた。
AuthTypeは認証方法。Basic認証なので、"AuthType Basic"。
AuthNameは、ブラウザによっては表示されるダイアログのメッセージ。
AuthUserFileがパスワードファイル。
Requireは対象ユーザ(認証通れば見れるユーザ)なんだけど、valid-userにすればパスワードファイルに書いてある人はだれでも見れる。

Apache再起動前は誰でもアクセスできる
Apache再起動前は誰でもアクセスできる

Apache再起動前は誰でもアクセスできる。

Apache再起動後はユーザとパスワード要求
Apache再起動後はユーザとパスワード要求

Apache再起動後はユーザとパスワード要求。

間違えると
間違えると

間違えると、

弾かれる
弾かれる

弾かれる。

正しければ通る
正しければ通る

正しければ通る。