Apacheでベーシック認証の設定を行う †本資料はCentOS6, Apache/2.2.15 (Unix)を使用してベーシック認証の設定を行った手順を記してあります。 スポンサーリンク 関連資料 †iptablesなどにより外部から接続できない場合は、以下の資料が参考になるかもしれません。 ベーシック認証を設定した環境 †ベーシック認証の環境を構築したOSおよびApacheバージョンです。 # cat /etc/redhat-release CentOS release 6.3 (Final) # httpd -v Server version: Apache/2.2.15 (Unix) Server built: Feb 13 2012 22:31:42 ベーシック認証モジュールの有効化 †ベーシック認証を設定するために、mod_authモジュールが有効になっているか確認します。 # # Dynamic Shared Object (DSO) Support # # To be able to use the functionality of a module which was built as a DSO you # have to place corresponding `LoadModule' lines at this location so the # directives contained in it are actually available _before_ they are used. # Statically compiled modules (those listed by `httpd -l') do not need # to be loaded here. # # Example: # LoadModule foo_module modules/mod_foo.so # LoadModule auth_basic_module modules/mod_auth_basic.so <snip> ベーシック認証用のパスワードファイルの作成 †この資料では、ベーシック認証用のパスワードファイルは、/etc/httpd/.htpasswdに保存することにします。 htpasswd -c /etc/httpd/.htpasswd ユーザ名 以下の実行例は、ユーザsakuraで作成しています。 # htpasswd -c /etc/httpd/.htpasswd sakura New password: Re-type new password: Adding password for user sakura # ls /etc/httpd/.htpasswd /etc/httpd/.htpasswd # cat /etc/httpd/.htpasswd sakura:P/90xXxXxXxXx
作成したパスワードファイルのパーミッションを変更します。 # chown apache:apache /etc/httpd/.htpasswd # chmod 600 /etc/httpd/.htpasswd # ls -l /etc/httpd/.htpasswd -rw-------. 1 apache apache 43 9月 24 11:17 2012 /etc/httpd/.htpasswd みなさんの環境に応じて適正なパーミッションを設定してください。 ユーザの追加 †ユーザ追加の場合は、htpasswdコマンドにオプションなしで実行すれば引数で指定したユーザを追することができます。 # htpasswd /etc/httpd/.htpasswd tsubaki New password: Re-type new password: Adding password for user tsubaki # cat /etc/httpd/.htpasswd sakura:NGabcdefghijh tsubaki:Jz1234567890a パスワードの更新 †パスワードの更新の場合は、htpasswdコマンドにオプションなしで実行すれば引数で指定したユーザのパスワードを変更することができます。 # htpasswd /etc/httpd/.htpasswd sakura New password: Re-type new password: Updating password for user sakura httpd.conf側の設定 †今回使用した環境デフォルトのままであり、以下のように設定されています。 DocumentRoot "/var/www/html" : : : <Directory "/var/www/html"> : : 本資料では、<Directory "/var/www/html"> 中略 </Directory>にダイジェスト認証の設定を行います。 <Directory "/var/www/html"> AuthType Basic AuthName "AuthArea" AuthUserFile /etc/httpd/.htpasswd Require valid-user : 追加したのは、以下の4行です。 AuthType Basic AuthName "AuthArea" AuthUserFile /etc/httpd/.htpasswd Require valid-user AuthTypeにはBasic Apacheを再起動して設定を反映させる †Apacheが既に起動している場合は、Apacheを再起動します。
ベーシック認証をためしてみる †ブラウザを起動してBasic認証を設定したホストに接続します。 スポンサーリンク |