Apache で認証有りのページを作成する(basic 認証)




バージョン 2.2.3

Web サイトでページを閲覧できるユーザを限定したい場合、認証をかけることができる。
Apache で basic 認証有りのページを作成する方法は次の通り。

まず、Web 認証用のユーザを作成する。

# htpasswd -c [任意のファイル名] [任意のユーザ名]
New password:
Re-type new password:

例)
# htpasswd -c /etc/httpd/.htpasswd secret
New password: [任意のパスワード]
Re-type new password:[上で入力したパスワード]
「-c」オプションは、パスワードファイルを作成する際に使用する。
1回目のユーザ作成時のみ「-c」を使用。
2回目以降不要。

.htpasswdに対して読み込み権限を与える
# chmod 644 /etc/httpd/.htpasswd

認証をかけたいディレクトリを作成する
# mkdir /var/www/htdocs/member

/etc/httpd/conf/httpd.confに認証をかけたいディレクトリのディレクティブに
「AllowOverride AuthConfig」を追記
<Directory /var/www/htdocs/member>
	AllowOverride AuthConfig
</Directory>

認証をかけたいディレクトリに.htaccessファイルを作成する
# vi /var/www/htdocs/member/.htaccess
AuthUserFile /etc/httpd/.htpasswd
AuthName "Secret Zone"
AuthType Basic
Require user secret

httpdを再起動する。

これで、memberディレクトリにアクセスすると認証が聞かれるようになる。

認証はサブディレクトリにも適用される。

/etc/httpd/conf/httpd.confの認証をかけたいディレクトリの
ディレクティブの書き方は、digest認証の方で紹介する方法でも同じ意味。

Apacheで認証有りのページを作成する(digest認証)

.htaccessファイルを使用する方法は
httpd.confを編集できないユーザに対してユーザ認証に関して設定できるようにすることが可能。