>> HOME >> CentOS 4 MENU >> Webページパスワード制限 (.htpasswd .htaccess)
ある特定の人にしかホームページを閲覧させたくない場合には、BASIC認証を使用すると、比較的容易に実現することができます。しかしながら、BASIC認証方式では、平文でネットワーク上を流れるため、盗聴の危険性があることを知っておかなければなりません。盗聴の危険性を考慮するなら、SSLでの暗号を併用するなど対策が必要です。

1. Apache の設定
1 ) Apache 設定ファイル /etc/httpd/conf/httpd.conf 編集
2. Apache の再起動
1 ) httpd の再起動
3. パスワードファイル(.htpasswd)の作成
1 ) 新規にパスワードファイルを作成し、ユーザを登録する場合
1 ) 既に作成済みのパスワードファイルにユーザを追加する場合
1 ) ユーザの登録確認
4. アクセスファイル(.htaccess)の作成
1 ) .htpasswdに登録してある全てのユーザーの認証を許可する場合
2 ) .htpasswdに登録してある特定のユーザーのみ認証を許可する場合
2 ) 認証に SSL の経由を強制する場合
5. Webページパスワード制限確認
1. Apache の設定
1 ) Apache 設定ファイル /etc/httpd/conf/httpd.conf 編集
[root@linux ~]# vi /etc/httpd/conf/httpd.conf 

  :
  :
<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
#
    # .htaccessの許可
    AllowOverride All

</Directory>
  :
  :
2. Apache の再起動
1 ) httpd の再起動
[root@linux ~]# service httpd restart 
httpdを停止中:                                             [  OK  ]
httpd を起動中:                                            [  OK  ]
3. パスワードファイル(.htpasswd)の作成
1 ) 新規にパスワードファイルを作成し、ユーザを登録する場合
[root@linux ~]# htpasswd -c /etc/httpd/conf/.htpasswd user1 
# ユーザ user1 のパスワードを入力
New password: xxxxxxx 
# 上と同じパスワードを確認入力
Re-type new password: xxxxxxx 
Adding password for user user1
2 ) 既に作成済みのパスワードファイルにユーザを追加する場合
[root@linux ~]# htpasswd /etc/httpd/conf/.htpasswd user2 
# ユーザ user2 のパスワードを入力
New password: xxxxxxx 
# 上と同じパスワードを確認入力
Re-type new password: xxxxxxx 
Adding password for user user2
3 ) ユーザの登録確認
[root@linux ~]# cat /etc/httpd/conf/.htpasswd 
user1:VP.rJ3ky/nVRg
user2:cuW/zSNEtkuK.
4. アクセスファイル(.htaccess)の作成
1 ) .htpasswdに登録してある全てのユーザーの認証を許可する場合
[root@linux ~]# vi /var/www/html/security/.htaccess 

AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your UserName and password"
AuthType Basic
# .htpasswdに登録してある全てのユーザーを認証
require valid-user
2 ) .htpasswdに登録してある特定のユーザーのみ認証を許可する場合
[root@linux ~]# vi /var/www/html/security/.htaccess 

AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your UserName and password"
AuthType Basic
# .htpasswdに登録してある特定のユーザーのみを認証
require user user1
3 ) 認証に SSL の経由を強制する場合
[root@linux ~]# vi /var/www/html/security/.htaccess 

# 認証に SSL の経由を強制
SSLRequireSSL
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your UserName and password"
AuthType Basic
require valid-user
5. Webページパスワード制限確認
Windowsクライアントより [http://サーバのアドレス/アクセス制限をかけたディレクトリ/] でアクセスして以下の画面が表示されればOKです。
また、「ユーザー名(U)」「パスワード(P)」を入力し、諸望のページが表示されることを確認します。
Authorization Required