概要
Webサイトにアクセス制限をかける方法は、いくつかありますが、最も簡易的に制限をかけることができる方法としてベーシック認証(Basic認証)があります。ベーシック認証(Basic認証)はWebサーバーに付いている機能で、単一ファイルに数行の記述をするだけで簡単にアクセス制限をかけることが出来ます。
設定方法
AuthType Basic
AuthName "名前"
AuthUserFile ".htpasswdファイルの場所"
require valid-user
AuthType Basic
- 認証方式を設定します。認証方式は「Basic」か「Digest」がありますが、ベーシック認証は「Basic」と記述してください。
AuthName ” 名前 “
- 好きな名称を設定して問題ありません。
- 日本語を使用すると文字化けする可能性がありますので、半角英数字での設定が推奨です。
AuthUserFile “.htpasswdファイルの場所”
- 「/」(スラッシュ)記号で始まる場所をフルパス(URLではなく、サーバー内でのフルパス)で記述してください。
- 「.htpasswd」ファイルの設置場所は「.htaccess」ファイルと同じディレクトリでも構いません。
require valid-user
- この通りに記述してください。
例
実際、設定すると以下のようになります。
AuthType Basic
AuthName "User Authentication"
AuthUserFile "/var/www/data/.htpasswd"
require valid-user
.htpasswd 作成コマンド
新規作成
以下のコマンドで .htpasswd を新規に作成できます。
[@server ~]# htpasswd -c /var/www/passwd/.htpasswd abc
New password:
Re-type new password:
Adding password for user abc
出来上がった .htpasswd を参照してみると
ユーザー名:パスワード
になっていることが確認できます。
[@server ~]# cat /var/www/passwd/.htpasswd
abc:$apr1$Isc/2gru$XAGHWOU5Lccb9LxJgSBIf.
ユーザーの追加
ユーザーの追加は、以下のコマンドでできます。
[@server ~]# htpasswd /var/www/passwd/.htpasswd def
New password:
Re-type new password:
Adding password for user def
以下のように追加されています。
[@server ~]# cat /var/www/passwd/.htpasswd
abc:$apr1$Isc/2gru$XAGHWOU5Lccb9LxJgSBIf.
def:$apr1$kMCSjXYu$bZSntg8sdfedkp;oPgSp1c