OSS Fan ~OSSでLinuxサーバ構築~

このエントリーをはてなブックマークに追加

Apacheベーシック認証設定

カテゴリ:OSSセットアップ | ソフトウェア:Apache | タグ:
最終更新日:2020/11/02 | 公開日:2010/07/11

目次

構成

サーバ構成

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
ファイル名:/etc/httpd/conf/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