Apacheでbasic認証

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/698apachebasic.html

1. パスワードファイルの作成

ユーザ名とパスワードを(多分暗号化して)記録したファイルを作成する。
ディレクトリやファイル名は任意。(認証したいディレクトリとは別でもよい。というか別の方がよい)

# htpasswd -c [ファイルパス] [ユーザ名]
例)
# htpasswd -c /etc/apache2/.htpasswd test

この後パスワードを2回入力
2人目以降は

# htpasswd [ファイルパス] [ユーザ名]
例)
# htpasswd /etc/apache2/.htpasswd test2

でOK


2. 設定ファイルの変更

設定ファイルの適切な場所に以下を追加
(今回は[/etc/apache2/mods-available/userdir.conf])

<Directory "[認証したいディレクトリ]">
    AuthType Basic
    AuthName "[認証名]"
    AuthUserFile [1で作成したパスワードファイル名]
    Require [許可するユーザ]
</Directory>
例)
<Directory "/var/www/html/member">
    AuthType Basic
    AuthName "Secret Directory"
    AuthUserFile /etc/apache2/.htpasswd
    Require test test2
</Directory>

認証名は実際の認証時ポップアップに表示される。
Requireは[valid-user]にすると登録した全ユーザになる。普通はこっちを使う。


3. Apache再起動

# /etc/init.d/apache2 restart


以上。



Linuxのユーザ名と同期できないかなぁ。
basicでは難しいか・・・?

追記
PAMとかいうの使うとできそう。
また今度。