Apacheベーシック認証設定
目次
構成
サーバ構成
OSバージョン
CentOS release 5.5 (Final) 32bit
パッケージ一覧
イントラネット向け Webサーバや
SSL対応WebサーバApacheをインストールしていれば
特に追加のパッケージは必要ありません。
今回は以下のパッケージがインストールされている環境で動作確認しています。
apr-1.2.7-11.el5_3.1.i386.rpm
postgresql-libs-8.1.18-2.el5_4.1.i386.rpm ・・・apr_utilが依存
apr-util-1.2.7-11.el5.i386.rpm
httpd-2.2.3-43.el5.centos.i386.rpm
php-common-5.1.6-27.el5.i386.rpm ・・・PHPの実行に必要、php-mbstringが依存
php-mbstring-5.1.6-27.el5.i386.rpm ・・・PHPの実行に必要
gmp-4.1.4-10.el5.i386.rpm ・・・PHPの実行に必要、phpが依存
php-cli-5.1.6-27.el5.i386.rpm ・・・PHPの実行に必要、phpが依存
php-5.1.6-27.el5.i386.rpm ・・・PHPの実行に必要
distcache-1.4.5-14.1.i386.rpm ・・・SSL対応で必要、mod_sslが依存
mod_ssl-2.2.3-43.el5.centos.i386.rpm ・・・SSL対応で必要
クライアント構成
OSバージョン
Windows XP Professional Service Pack 3
環境構築
設定
既に定義済みの設定ファイルに対してアクセスの際にベーシック認証がを 必要とするディレクトリを追加で定義します。 今回は /var/www/html/secret/ ディレクトリ以下にアクセスする際に ベーシック認証が必要となるように定義します。 その後、ベーシック認証で使用されるアカウント情報(ユーザ名とパスワード)を 記録する.htpasswdファイルを作成します。ファイル名は特に何でも良いのですが、 一般的によく使われる名前にしておきます。
HTTPサーバの設定
viエディタで設定ファイル(httpd.conf)を開き、設定を変更します。
# cd /etc/httpd/conf/ # vi httpd.conf
※該当行を追加※ <Directory "/var/www/html/"> (中略) </Directory> <Directory "/var/www/html/secret/"> AuthUserFile /etc/httpd/conf/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your password." AuthType Basic Require valid-user </Directory>
パスワードファイルの作成
設定ファイルの中で指定したパスワードファイルを新規に作成します。 今回はユーザ2名分のアカウント(adminとuser)を作成します。
# htpasswd -c .htpasswd admin New password: ←パスワードを入力 Re-type new password: ←パスワードを再入力 Adding password for user admin # htpasswd .htpasswd user New password: ←パスワードを入力 Re-type new password: ←パスワードを再入力 Adding password for user user
以上で設定が終了しましたのでrcスクリプトを使用してデーモンを再起動します。
# /etc/rc.d/init.d/httpd restart Stutting down httpd: [ OK ] Starting httpd: [ OK ]
設定ファイル
/etc/httpd/conf/.htpasswd
/etc/httpd/conf/httpd.conf
動作テスト
HTTPサーバのプロセス起動確認
プロセスが起動していることを確認します。
# ps -ef | grep httpd root 2405 1 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2458 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2459 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2460 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2461 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2462 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2463 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2464 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd apache 2465 2405 0 Feb27 ? 00:00:00 /usr/sbin/httpd root 3555 3528 0 00:24 pts/0 00:00:00 grep httpd