このページではLinux上でApache/httpdを使ったWebサーバーで利用できるベーシック認証/ダイジェスト認証の各設定について解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
Webサーバーの構築

Webサーバーについて

Apacheの構成と設定の準備

全般的な動作環境の設定

コンテナディレクティブの形式

コンテナディレクティブの設定

ドキュメントルートの設定等

ユーザーディレクトリの設定

バーチャルホストの設定

CGIの実行許可の設定

ユーザー認証機能の設定

httpdのコントロール

httpdの動作チェック

ポートフォワーディングの設定

Ubuntu 10.04 LTS デスクトップ版のススメへようこそ

Apacheによるユーザー認証とは

まず、こちらをクリックしてみてください。

どこかで見たことのある ユーザー認証 ダイアログ が開いたはずです。

では試しに、 ユーザー名 "guest" パスワード "obenri" とタイプして OK をクリックしてみてください。きれいな花の写真が表示されるはずです(家の近くの「正助ふるさと村」というところで撮影した藤の花です)。

これは、 Apache が標準で持っているアクセス制御機能を使って、特定のディレクトリに対して ユーザー認証 によるアクセス制限をかけた例です。

こういう機能は例えばホームページの会員限定ページなどでよく使われますが、それ以外にも、例えば管理者専用ページなどでもよく用いられます。

レンタルの Webサーバー などでは、普通こういう機能の利用は ISP から提供されることはまずありませんので、 CGI などを使って同じ機能を付加させるより他はありません。

しかしCGIの利用に制限がある場合には、それすら困難かもしれません。

ところが自分自身でApacheを運用すれば、いとも簡単にこういったユーザー認証によるアクセス制限を設定することができます。

ユーザー認証の設定は一般に、 "/etc/httpd/conf/httpd.conf" 中で、コンテナ式 ディレクティブ コンテナ式ディレクティブについて の中に、ディレクティブとして記述して行います。

ただし他の多くの設定と違って、設定例やテンプレートは予め"/etc/httpd/conf/httpd.conf"の中に準備されている訳ではないので、既存の設定の修正や有効化ではなく、最初から認証用のディレクティブを記述する必要があります。

また、この コンテンツ ではあまり勧めませんが、 "AllowOverride" ディレクティブ AllowOverrideディレクティブについて で、 "AuthConfig" オプションが有効になっているディレクトリについては、同じ設定を該当するディレクトリ以下のアクセスファイル ".htaccess" に記述することになります。

その方法についてはこのパートの後半で触れます。

このページの先頭へ↑

"httpd.conf"でのユーザー認証設定

ユーザー認証設定を記述するときは、ディレクトリの上下関係をわかりやすくするために、設定を行うディレクトリのすぐ上位のディレクトリコンテナの下に記述するとよいでしょう。

例えば、 "/var/www/html/[認証を行うディレクトリ名]" に認証設定を行う場合には、

<Directory /var/www/html>
  Options FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>
#Auth_Section
<Directory /var/www/html/[認証を行うディレクトリ名]>
  [ユーザー認証の設定1]
  [ユーザー認証の設定2]
  ...
  ...
</Directory>

というパターンで記述しましょう。

バーチャルホスト を設定している場合も同様に、

#www.obenri.com
<VirtualHost 192.168.100.11>
  ServerAdmin tanaka@obenri.com
  DocumentRoot /var/www/html
  ServerName www.obenri.com
  ErrorLog logs/www.obenri.com-error_log
  CustomLog logs/www.obenri.com-access_log combined
</VirtualHost>
<Directory /var/www/html>
  Options FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>
#Auth_Section
<Directory /var/www/html/[認証を行うディレクトリ名]>
  [ユーザー認証の設定1]
  [ユーザー認証の設定2]
  ...
  ...
</Directory>

と記述するようにすると間違いがありません。

NEC「得選街」
このページの先頭へ↑

<Directory ...>〜ディレクトリコンテナの設定

通常のディレクトリコンテナ ディレクトリ式コンテナについて と記述方法は変わりません。

もちろん、このディレクティブは必ずしもユーザー認証設定専用にする必要はないので、 "Options" ディレクティブ Oprionsディレクティブについて などを一緒に記述しても問題はありません。

ただ、一つのコンテナに違う種類のディレクティブを混ぜて記述してしまうと、後で設定の構造的な部分がわかりにくくなってしまいます。

従って、ユーザー認証に関するコンテナにはできるだけ他のディレクティブの記述はしないほうが良いでしょう。

NEC「得選街」
このページの先頭へ↑

ベーシック認証を用いる場合の設定

HTTP で利用される一般的な認証方法です。

この仕組みは、既に ダイナミックDNS の運用で扱っていることをご記憶でしょうか。

構築中のLinuxサーバー からダイナミックDNSの運用サイトの DNSサーバー に対して WAN 側の グローバルIPアドレス 情報を送信する際に利用している アプリケーション " DiCE "が、実はこのベーシック認証の仕組みを利用しています DiCEの設定について(WBEL3) DiCEの設定について(CentOS3) DiCEの設定について(WBEL4) DiCEの設定について(CentOS4) DiCEの設定について(CentOS5)

ベーシック認証は、世の中のほとんどの Webブラウザ で利用可能ですから、汎用性の高い方法です。

ただし、認証の際の通信内容が暗号化されませんから、理論的にはユーザー名とパスワードを傍受される可能性はあります。

とはいえ、通信を傍受するという行為そのものが容易ではないうえ、傍受した内容を解析するとなると更に高度な技術を必要とすることを考えれば、余程のことがない限りは通信経路から情報が漏れるということはないでしょう。

もちろん、個人情報を扱わなければならない場合には、「あらぬ疑い」をかけられないためにも、このベーシック認証は利用すべきではありません。こういった場合はこのパートの後半に説明する ダイジェスト認証 を利用するのが望ましいでしょう。

では、以下にベーシック認証を用いる場合の設定例を示します。

#Auth_Section
<Directory /var/www/html/members_only>
  AuthType basic
  AuthName "Members Only"
  AuthUserFile /var/www/password/auth_file
  Require valid-user
</Directory>

ここでは、「メンバー限定」のディレクトリとして "/var/www/html/members_only/" を用います。もちろん現段階ではそういうディレクトリは存在していないはずですから、設定を行う前に準備しておく必要があります。

このディレクトリ自身には特別な パーミッション は必要ありませんから、 "members_only" というディレクトリ名(またはフォルダ名)で、普通に FTPクライアント から アップロード すればOKです。

AuthType〜認証タイプの設定

ベーシック認証を用いる場合は、

  AuthType basic

と記述します。他にオプションはありません。

AuthName〜ダイアログに表示するメッセージ

認証を行うときに クライアント Webブラウザ ダイアログ に表示するメッセージを記述します。

例えば、

  AuthName "Members Only"

と設定した場合は、

ユーザー認証ダイアログの例(WindowsXP)
ユーザー認証ダイアログの例(ベーシック認証/WindowsXP)

と表示されます。

AuthUserFile〜パスワードファイルの指定

Apache のユーザー認証は、 クライアント から送信されるユーザー名とパスワードを、 構築中のLinuxサーバー のファイルシステム上に保管しているパスワードファイルの内容と照合して行われます。

この ディレクティブ は、その照合先のファイルを指定するもので、

  AuthUserFile /var/www/password/auth_file

と記述すると、 "/var/www/passwd/auth_file" が、そのパスワードファイルとして指定されます。

パスワードのファイルの作成方法について

パスワードファイルは予め準備されているわけではありませんので、自分で作成する必要があります。

パスワードファイルは任意の ユーザーアカウント から参照可能な場所であれば、何処に配置しても構いません。

ただし、 HTTP で参照される位置に置くと、クライアントから内容を覗かれる可能性がありますので、 スクリプトエイリアス スクリプトエイリアスの設定 の設置の場合と同様に、 httpd のドキュメントルートの外に配置するのが定石です。

今回は、 "/var/www/" 以下に "password" というパスワード格納ディレクトリを作成します。

作成したディレクトリ "password" は、後で扱いやすいように "html" "cgi-bin" と同じく、所有者を "tanaka" に変更しておきます ドキュメントルートのパーミッション変更
[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# cd /var/www/Enter cd コマンドについて
[root@web1 www]# mkdir passwordEnter mkdir コマンドについて
[root@web1 www]# chown tanaka.tanaka password/Enter chown コマンドについて
[root@web1 www]# ls -lEnter ls コマンドについて
合計 28
drwxr-xr-x  2 tanaka  tanaka    4096 7月 1 2005 cgi-bin
drwxr-xr-x  3 root   root     4096 10月 25 10:14 error
drwxr-xr-x  19 tanaka  tanaka    4096 1月 3 03:04 html
drwxr-xr-x  3 root   root     4096 10月 25 10:14 icons
drwxr-xr-x  3 root   root     4096 7月 21 14:14 manual
drwxr-xr-x  2 tanaka  tanaka    4096 1月 3 06:02 password
drwxr-xr-x  2 webalizer root     4096 1月 3 04:02 usage
[root@web1 www]#

ディレクトリ"password"を作成したら、次に htpasswd コマンド を使ってパスワードファイル "/var/www/password/auth_file を作成し、同時にユーザー登録を行います。

以降の作業は root アカウント から実行することもできますが、既にアカウント tanaka でも実行できるようにディレクトリ"password"の所有者を変更していますから、安全のために tanaka で作業しましょう。

パスワードファイルを新規に作成するときは、同時に一つのユーザーを登録する必要があります。ここでは "tanaka" を新規に登録します。

"htpasswd"コマンドの一般書式は、

htpasswd [オプション] [パスワードファイル] [ユーザー名] Enter

です。

新規にパスワードファイルの作成するには、 htpasswd コマンドを "-c" オプション付きで実行します。

[root@web1 www]# exitEnter suコマンドについて
[tanaka@web1 ~]$ htpasswd -c /var/www/password/auth_file tanakaEnter
New password: 登録する"tanaka"のパスワードを入力します。 Enter
Re-type new password: 確認のためにもう一度パスワードを入力します。 Enter
Adding password for user tanaka
 ↑「ユーザー"tanaka"のパスワードが追加されました。」
[tanaka@web1 ~]$ cat /var/www/password/auth_fileEnter cat コマンドについて
tanaka:06YhfBAiMbBAE  ←"tanaka"と暗号化されたパスワードが登録されました。
[tanaka@web1 ~]$
"-c" オプションを付けてしまうと、パスワードファイルが新規に作り直されてしまいますので注意してください。

作成したパスワードファイルに新しいユーザーを追加するには、 "-c" オプションを付けずに htpasswd を実行します。

[tanaka@web1 ~]$ htpasswd /var/www/password/auth_file suzukiEnter
New password: 登録する"suzuki"のパスワードを入力します。 Enter
Re-type new password: 確認のためにもう一度パスワードを入力します。 Enter
Adding password for user suzuki
 ↑「ユーザー"suzuki"のパスワードが追加されました。」
[tanaka@web1 ~]$ cat /var/www/password/auth_fileEnter
tanaka:06YhfBAiMbBAE
suzuki:eBDPkUP6Fe82c  ←"suzuki"と暗号化されたパスワードが登録されました。
[tanaka@web1 ~]$
nanoエディタ で直接パスワードファイルを開き nanoエディタでファイルを開く 、ユーザーを行ごと削除しても構いません。そのほうが簡単です。

既に存在するユーザーを削除するときは、 "-D" オプション付きで htpasswd を実行します。

[tanaka@web1 ~]$ htpasswd -D /var/www/password/auth_file suzukiEnter
Deleting password for user suzuki
 ↑「ユーザー"suzuki"のパスワードが削除されました。」
[tanaka@web1 ~]$ cat /var/www/password/auth_fileEnter
tanaka:06YhfBAiMbBAE  ←"suzuki"が削除されました。
[tanaka@web1 ~]$

このようにしてパスワードファイルに登録されたユーザーが、 HTTP の認証対象となります。

ここで扱うユーザー名は、ディレクトリにログインするための「合言葉」に過ぎませんから、大勢のクライアントからのログインを一つのユーザー名で賄っても構いません。

また、ここで扱うユーザー名は、 WBEL CentOS のユーザーアカウントとは全く無関係ですから、ユーザーの登録や削除を行うのに、必要以上に神経質になる必要はありません。

Require〜認証するユーザーの指定

通常は、

  Require valid-user

と記述します。すると、パスワードファイル "/var/www/password/auth_file" に記述されている全てのユーザーが認証の対象となります。

また例えば、

  Require user tanaka suzuki

と記述すると、パスワードファイルの中に登録されているユーザーの中で、"tanaka"と"suzuki"だけを認証の対象とすることができます。

NEC「得選街」
このページの先頭へ↑

ダイジェスト認証を用いる場合の設定

ユーザー名とパスワードの送信を暗号化し、通信傍受による情報の漏洩を防止して行われる認証方法です。

ベーシック認証に比べると セキュリティ は高くなりますが、古い Webブラウザ の一部が利用できないという問題があります。

とはいえ、 クライアント 側の利用条件としては、

InternetExplorer...バージョン5以降

Netscape...バージョン7以降

Mozilla...バージョン0.9.7以降

となっていますから、現在のインターネット利用者の95%以上は対応済みだと思って間違いはありません。

この点さえ問題にならなければ、利用者に安心を与える意味でも、ベーシック認証よりもダイジェスト認証を利用すべきでしょう。

では、以下にダイジェスト認証を用いる場合の設定例を示します。

CentOS3 、CentOS4、 WBEL3 、WBEL4の場合は、

#Auth_Section
<Directory /var/www/html/members>
  AuthType digest
  AuthName "members"
  AuthDigestFile /var/www/password/auth_dig
  Require valid-user
</Directory>

CentOS5の場合は、

#Auth_Section
<Directory /var/www/html/members>
  AuthType digest
  AuthName "members"
  AuthUserFile /var/www/password/auth_dig
  Require valid-user
</Directory>

となります。

つまり、ベーシック認証と同じディレクティブになったということですね。
最初からそうしておけば面倒がなかったはずなのに、と思いますけどねぇ。

CentOS5では、 デフォルト インストール される Apache のバージョンの違いにより、認証ファイルを指定する ディレクティブ がCentOS4以前、WBEL4以前の "AuthDigestFile" ではなく、 "AuthUserFile" と変更されていますので注意してください。

さて、ここでは、「メンバー限定」のディレクトリとして "/var/www/html/members/" を用いますから、このディレクトリは予め準備しておく必要があります。

このディレクトリ自身には特別な パーミッション は必要ありませんから、 "members" というディレクトリ名(またはフォルダ名)で、普通に FTPクライアント から アップロード すればOKです。

AuthType〜認証タイプの設定

ダイジェスト認証を用いる場合は、

  AuthType digest

と記述します。他にオプションはありません。

AuthName〜認証領域の指定とブラウザへの表示

認証を行うときに クライアント Webブラウザ ダイアログ に表示するメッセージを記述します。

例えば、

  AuthName "members"

と設定した場合は、

ベーシック認証のときとはダイアログの形式が異なる点にも注意してください。
ユーザー認証ダイアログの例(WindowsXP)
ユーザー認証ダイアログの例(ダイジェスト認証/WindowsXP)

と表示されます。

実はこのディレクティブは、ベーシック認証の場合は単なるのメッセージの記述に過ぎませんが、ダイジェスト認証の場合は認証を行うグループの 「領域名」 を兼ねますので、「表示名だから適当に設定しておけばいい」というわけにはいきません。

この点については、以降の説明を参照してください。

Auth*****File〜パスワードのファイルの指定

Apache のユーザー認証は、 クライアント から送信されるユーザー名とパスワードを、 構築中のLinuxサーバー のファイルシステム上に保管しているパスワードファイルの内容と照合して行われます。

この ディレクティブ は、その照合先のファイルを指定するもので、 CentOS3 、CentOS4、 WBEL3 、WBEL4の場合は、

OS ディストリビューション の違いで ディレクティブ が異なりますので注意してください。
  AuthDigestFile /var/www/password/auth_dig

CentOS5の場合は、

  AuthUserFile /var/www/password/auth_dig

と記述すると、 "/var/www/password/auth_dig" が、そのパスワードファイルとして指定されます。

パスワードのファイルの作成方法について

パスワードファイルは予め準備されているわけではありませんので、自分で作成する必要があります。

パスワードファイルは任意の ユーザーアカウント から参照可能な場所であれば、何処に配置しても構いません。

ただし、 HTTP で参照される位置に置くと、クライアントから内容を覗かれる可能性がありますので、 スクリプトエイリアス スクリプトエイリアスの設定 の設置の場合と同様に、 httpd のドキュメントルートの外に配置するのが定石です。

今回は、ベーシック認証のところでも説明した "/var/www/" 以下の "password" というパスワード格納用ディレクトリを利用します。

もし"password"ディレクトリを作成していない場合は、ベーシック認証の説明の 「パスワードのファイルの作成方法について」 を参考に作成を行ってください。

ディレクトリ"password"を作成したら、次に htdigest コマンド を使ってパスワードファイル "/var/www/password/auth_dig を作成し、同時にユーザー登録を行います。

以降の作業は root アカウント から実行することもできますが、既にアカウント tanaka でも実行できるようにディレクトリ"password"の所有者を変更していますから、安全のために tanaka で作業しましょう。

パスワードファイルを新規に作成するときは、同時にユーザー登録を行う必要があります。ここでは "tanaka" を新規に登録します。

"htdigest"コマンドの一般書式は、

htdigest [オプション] [パスワードファイル] [領域名] [ユーザー名] Enter

です。

新規にパスワードファイルの作成するには、 htdigest コマンドを "-c" オプション付きで実行します。

[領域名]は、 "AuthName" ディレクティブ で指定した文字列と同じものをタイプします。

[tanaka@web1 ~]$ htdigest -c /var/www/password/auth_dig members tanakaEnter
Adding password for tanaka in realm members.
 ↑「領域名"members"のユーザー"tanaka"のパスワードを追加します。」
New password: 登録する"tanaka"のパスワードを入力します。 Enter
Re-type new password: 確認のためにもう一度パスワードを入力します。 Enter
[tanaka@web1 ~]$ cat /var/www/password/auth_digEnter cat コマンドについて
tanaka:members:77f4b12579c67ded386b0fa6630668f5
 ↑"tanaka"と領域名"members"で暗号化されたパスワードが登録されました。
[tanaka@web1 ~]$
"-c" オプションを付けてしまうと、パスワードファイルが新規に作り直されてしまいますので注意してください。

作成したパスワードファイルに新しいユーザーを追加するには、 "-c" オプションを付けずに htdigest コマンドを実行します。

[tanaka@web1 ~]$ htdigest /var/www/password/auth_dig members suzukiEnter
Adding user suzuki in realm members
New password: 登録する"suzuki"のパスワードを入力します。 Enter
Re-type new password: 確認のためにもう一度パスワードを入力します。 Enter
[tanaka@web1 ~]$ cat /var/www/password/auth_digEnter
tanaka:members:77f4b12579c67ded386b0fa6630668f5
suzuki:members:2a7018a5d3711a26c84e469b23118964  ←"suzuki"が登録されました。
[tanaka@web1 ~]$
"htdigest" コマンドには、ユーザーを削除するオプションがありません。どうしてでしょうか?。

既に存在するユーザーを削除するときは、 nanoエディタ で直接パスワードファイルを開き nanoエディタでファイルを開く 、ユーザーを行ごと削除します。

さて、[領域名]の部分についてですが、実は任意の領域名が指定できます。例えば、

[領域名] の中にスペースが含まれるときは、 "" でくくります。
[tanaka@web1 ~]$ htdigest /var/www/password/auth_dig "Members Only" yamadaEnter
Adding user yamada in realm Members Only
New password: 登録する"yamada"のパスワードを入力します。 Enter
Re-type new password: 確認のためにもう一度パスワードを入力します。 Enter
[tanaka@web1 ~]$ cat /var/www/password/auth_digEnter
tanaka:members:77f4b12579c67ded386b0fa6630668f5
suzuki:members:2a7018a5d3711a26c84e469b23118964
yamada:Members Only:49a4049a50720172258de766030b4046  ←"yamada"が登録されました。
[tanaka@web1 ~]$

のように、一つのパスワードファイルの中に異なる[領域名]でユーザーを登録することができます。

この例では、 "AuthName" ディレクティブの設定が "members" の場合には、ユーザー名"yamada"は認証の対象になりませんが、"AuthName"ディレクティブの設定の設定を "Members Only" に変更すると、逆に"yamada"だけが認証の対象になります。

これがかえって面倒くさいと思う人は、別々にパスワードファイルを作りましょう。

ダイジェスト認証のパスワードファイルは、このように[領域名]という形で複数のグループに分けて管理しますから、異なるディレクトリに対して異なるユーザーに認証許可を与える場合でも、一つのパスワードファイルにまとめて記述することができます。

このようにしてパスワードファイルに登録されたユーザーが、 HTTP の認証対象となります。

ここで扱うユーザー名は、ディレクトリにログインするための「合言葉」に過ぎませんから、大勢のクライアントからのログインを一つのユーザー名で賄っても構いません。

また、 WBEL CentOS のユーザーアカウントとは全く無関係ですから、ユーザーの登録や削除を行うのに、必要以上に神経質になる必要はありません。

Require〜認証するユーザーの指定

通常は、

  Require valid-user

と記述します。すると、パスワードファイル "/var/www/password/auth_dig" に記述されている全てのユーザーが認証の対象となります。

また例えば、

  Require user tanaka suzuki

と記述すると、パスワードファイルの中に登録されているユーザーの中で、"tanaka"と"suzuki"だけを認証の対象とすることができます。

もちろん、 "AuthName" ディレクティブ の設定のほうが優先されますので、これと[領域名]が一致していないユーザーはいずれにせよ対象外になります。

NEC「得選街」
このページの先頭へ↑

アクセスファイルを用いる場合の認証設定

ディレクトリ式コンテナに "AllowOverride" ディレクティブ で、 "AuthConfig または "All" オプションを指定した場合 AllowOverrideディレクティブについて 、ユーザー認証の設定は "/etc/httpd/conf/httpd.conf" に記述したものより、設定対象のディレクトリの中の アクセスファイル に記述したものが優先されるようになります。

アクセスファイルの名称は、 "AccessFileName" ディレクティブ AccessFileNameディレクティブについて で指定されていますから、 デフォルト の場合は、 ".htaccess" となります。

従って、例えばユーザーディレクトリの設定 ユーザーディレクトリの設定 で、

<Directory /home/*/public_html>
  AllowOverride AuthConfig
  Options SymLinksIfOwnerMatch
  <Limit GET POST OPTIONS>
    Order allow,deny
    Allow from all
  </Limit>
  <LimitExcept GET POST OPTIONS>
    Order deny,allow
    Deny from all
  </LimitExcept>
</Directory>

と設定を行い、"/home/*/public_html"以下のディレクトリでのアクセスファイルの利用を許可したとします。

そこで、

"http://www.obenri.com/~suzuki/members_only/"

にベーシック認証によるユーザー認証を設定する場合は、

".htaccess" は目的のディレクトリ配置されますから、コンテナの記述は当然不要になります。
#Auth_Section
  AuthType basic
  AuthName "Members Only"
  AuthUserFile /home/suzuki/password/auth_file
  Require valid-user
".htaccess" クライアント 側のパソコンで作成して、 FTPクライアント から アップロード してもOKです。
ただし、 WindowsOS では "." で始まるファイル名が使えませんので、別の適当な名前で作成しておいてアップロードし、 FTPサーバー 上で名前を変更する必要があります。

という内容の ".htaccess" という テキスト ファイルを作成し、

"/home/suzuki/public_html/members_only/.htaccess"

として配置します。

なお、LinuxOSのファイルシステムでは、 ".(ドット)" で始まるファイルやディレクトリは 隠しファイル として扱われますから ドットファイルの扱いについて 、保存後の ".htaccess" ファイルは、 "ls" コマンドなどでは "-a" オプションを付けなければ表示されないので注意してください。

パスワードファイルは SSHクライアント 構築中のLinuxサーバー に、 ユーザーアカウント "suzuki" ログイン し、

[suzuki@web1 suzuki]$ mkdir passwordEnter mkdirコマンドについて
[suzuki@web1 suzuki]$ htpasswd -c password/auth_file guestEnter
New password: 登録する"guest"のパスワードを入力します。 Enter
Re-type new password: 確認のためにもう一度パスワードを入力します。 Enter
Adding password for user guest
 ↑「ユーザー"guest"のパスワードが追加されました。」
[suzuki@web1 suzuki]$

という手順で、 "AuthUserFile" ディレクティブの指定に合わせて作成することになります。

設定に用いる各ディレクティブの意味は、 "/etc/httpd/conf/httpd.conf" に記述する場合と同じですから、ここでの詳細な説明は割愛します。

NEC「得選街」
このページの先頭へ↑

ユーザー認証機能を利用するときの注意

Apache のユーザー認証機能は、パスワードによる「関所」を設けるだけに過ぎません。

ダイジェスト認証を用いてユーザー名とパスワードを暗号化する場合でも、認証後のパケットが暗号化されている訳ではありませんので思い違いをしないようにしてください。間違っても、重要な個人情報の登録などに用いてはいけません。

Apacheをそういう用途に用いる場合は、必ず セキュアWebサーバー を利用する必要があります。

また、パスワードファイルで管理できるユーザー数には、仕組み上は制限はありませんが、もともと テキストファイル に記述された大量のユーザー情報を管理するのはコンピュータにとっては苦手な作業です。

従って、この方法であまりにも多量のユーザー情報を扱わせると、認証に時間を要するだけでなく、コンピュータ全体の処理を遅くしてしまうことになります。

ホスト機 の性能にもよりけりですが、ここで説明したユーザー認証の方法は、ユーザー数が100〜300程度までが限度と言われています。

それ以上のユーザー数を扱う場合には、 データベース アプリケーション と組み合わるなど、別の方法で運用しなければならないことを理解しておいてください。

NEC「得選街」
このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。また、本サイトの更新情報をメールで知らせてほしい方は ここ からご登録ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System