バージョン 2.2.3
Web サイトでページを閲覧できるユーザを限定したい場合、認証をかけることができる。
Apache で basic 認証有りのページを作成する方法は次の通り。
まず、Web 認証用のユーザを作成する。
# htpasswd -c [任意のファイル名] [任意のユーザ名] New password: Re-type new password:
例)
「-c」オプションは、パスワードファイルを作成する際に使用する。
# htpasswd -c /etc/httpd/.htpasswd secret New password: [任意のパスワード] Re-type new password:[上で入力したパスワード]
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を編集できないユーザに対してユーザ認証に関して設定できるようにすることが可能。