ざっくりBASIC(ベーシック)認証

ステージングサイトやテストサイトなど、表立って見せたくないし検索に引っかかっても困るページなどに、ベーシック認証を掛けておくことは多々ある。

そういう目線でBASIC認証をざっくりとメモっておく。

.htpasswdファイルを作る。

htpasswd -c ファイル名 ユーザー名 で作成する。

$htpasswd -c .htpasswd taro
New password:
Re-type new password:
Adding password for user taro

 .htaccessファイルを追加もしくは作成(.htaccessパターン)

下記記述の.htaccessファイルをベーシック認証をかけたいディレクトリにvimなどで作成。
すでにファイルが存在している場合は追加。

AuthType Basic
AuthName "gomokuro secret area"
AuthUserFile /var/www/html/.htpasswd
Require valid-user

あとは、アクセスすれば、掛かっているはず。

httpd.confのディレクトリに直接書く(httpd.confパターン)

root権限がある場合や、.htaccessが他の目的で使用しているので使いたくない場合(CakePHPのリライト等)などは、httpd.confのディレクティブに直接書いてもよい。
ただし、apacheの再起動が必要になる。

<Directory "/var/www/html/">
    AuthType Basic
    AuthName "gomokuro secret area"
    AuthUserFile /var/www/html/.htpasswd
    Require valid-user
</Directory>

 

 注意点

・AuthUserFileのパスはフルパスで書くこと。

相対パスで書いて動かなくてハマる。

・Requireは正しく書くこと。

Require valid-userで許可されたユーザーならだれでも認証を通すようにすればよいが、たまに下記のように、認証が通った後の許可ユーザーを書く。

Require user gomokuro taro

・httpd.confで、AllowOverride Allになっていないか。

上記2つは何故かユーザー名もパスも間違ってないのに通らないという動作になるが、こちらは、うんともすんとも言わず、わかりにくいので注意。

 

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>