Webページパスワード制限(htpasswd)

最終更新日: 2014.02.19

<<トップページ <<新着情報 <<逆引き集 <<アンケート <<リンク集 <<サイト内検索 <<CentOSで自宅サーバー構築 <<Scientific Linuxで自宅サーバー構築

■概要

Webページへのアクセスにユーザー名とパスワードによるアクセス制限をかける。
ここでは、https://fedorasrv.com/secret/以下のWebページへユーザー名(fedoraとする)とパスワード(fedorapassとする)によるアクセス制限をかけるようにする。
なお、htpasswdによるユーザー名、パスワード情報は平文でネットワーク上を流れるため、盗み見に備えてSSLによる暗号化通信経由でしかアクセスできないようにする。

WebサーバーWebサーバー間通信内容暗号化が導入済であること


■Apache設定

[root@fedora ~]# vi /etc/httpd/conf/httpd.conf ← Apache設定ファイル編集
<Directory "/var/www/html">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
    Options Includes ExecCGI FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride All ← Allにする(.htaccessを許可)

[root@fedora ~]# /etc/rc.d/init.d/httpd reload ← Apache設定反映
httpd を再読み込み中:                                      [  OK  ]

■ユーザー登録

(1)1件目のユーザ登録の場合
[root@fedora ~]# htpasswd -b -c -m /etc/httpd/conf/.htpasswd fedora fedorapass
 ← .htpasswdを作成してユーザーfedoraを登録する
Adding password for user fedora

(2)2件目以降のユーザ登録の場合
[root@fedora ~]# htpasswd -b -m /etc/httpd/conf/.htpasswd fedora fedorapass
 ← 既存の.htpasswdへユーザーfedoraを登録する
Adding password for user fedora

(3)ユーザー登録確認
[root@fedora ~]# cat /etc/httpd/conf/.htpasswd ← ユーザー登録確認
fedora:vYwnFfo59lI/c

■Webページパスワード制限確認

(1)テスト用ディレクトリ、ページ作成
[root@fedora ~]# mkdir /var/www/html/secret ← テスト用ディレクトリ作成

[root@fedora ~]# echo test > /var/www/html/secret/index.html ← テスト用ページ作成

(2).htaccessファイル作成
登録されている全てのユーザーで認証できるようにする場合
[root@fedora ~]# vi /var/www/html/secret/.htaccess ← テスト用ディレクトリに.htaccess作成
SSLRequireSSL
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "secret page"
AuthType Basic
require valid-user

(3).htaccessファイル作成
登録されている特定のユーザー(ここでは、fedoraとする)でのみ認証できるようにする場合
[root@fedora ~]# vi /var/www/html/secret/.htaccess ← テスト用ディレクトリに.htaccess作成
SSLRequireSSL
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "secret page"
AuthType Basic
require user fedora ← 認証を許可するユーザー名を指定

(4)ユーザー認証確認
https://サーバー名/secret/にアクセスしてユーザー認証画面が表示され、ユーザー名、パスワードに.htpasswdファイルへ登録したユーザー名、パスワードを入力してテストページが表示されることを確認。

・非SSL(http://サーバー名/secret/)でアクセスした場合、ユーザー認証画面が表示されずにエラーとなることを確認。

・特定ユーザーでのみ認証を許可している場合、特定ユーザー以外ではエラーとなることを確認。

(5)Webページパスワード制限確認後始末
[root@fedora ~]# rm -rf /var/www/html/secret/ ← テスト用ディレクトリ削除

[root@fedora ~]# rm -f /etc/httpd/conf/.htpasswd ← テスト用.htpasswd削除




▲このページのトップへ戻る

LPIロゴ Copyright© 2012 fallenangels, All rights reserved.
ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします