FreeBSD - メンテナンス・トラブルシュート - ウェブサーバ - アクセス制限 - パスワードによって制限をかける

 
1. 概要
2. パスワードファイル作成
3. コンフィグレーションファイルの設定
4. ログインの例

1. 概要

 例題は、以下の環境とします。
項目 設定
サイトの絶対パス /usr/local/www/data/hogehoge
制限する URL http://www.hogehoge.jp/hogehoge/
定義ファイル /usr/local/etc/apache22/Includes/hogehoge.conf
パスワードファイルパス /path
パスワードファイル passwd
ユーザ hogehoge

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

 パスワードファイルの管理には、htpasswd というコマンドを使用します(apache24 のインストール時に /usr/local/bin にインストールされています)。  パスワードファイルを作成します。  パスワードファイル作成時に最低限、1ユーザを作成しなければなりません。

> htpasswd -c /path/passwd hogehoge
New password:							← パスワードを入力
Re-type new password:					← パスワードを再入力
Adding password for user hogehoge
 「-c」オプションは、作成する(create) という意味です。その先のパラメータは、パスワードファイル名を示しています。  「/path/passwd hogehoge」の /hogehoge/passwd は、パスワードファイル名の指定です。  hogehoge はパスワードを設定するユーザアカウント名です。  パスワードとして入力した文字は、エコーバックされません。  打ち間違えると、ユーザアカウントが作成されないので、もう一度コマンドを入力するところからやりなおします。  ユーザを追加する場合は以下のようにします。

> htpasswd /path/passwd fugafuga
New password:							← パスワードを入力
Re-type new password:					← パスワードを再入力
Adding password for user fugafuga
 これで、ユーザ fugafuga が作成されます。  パスワードの変更時も同じコマンドで「-c」オプションをつけないことで変更できます。  ユーザアカウントを削除するときは、パスワードファイルをテキストエディタで開いて、対象のユーザアカウントの行を削除します。

3. コンフィグレーションファイルの設定


/usr/local/etc/apache22/Includes/hogehoge.conf
 に以下のように記述します。

<Directory  "/usr/local/www/data/hogehoge">

・・・	略	・・・

    AuthType        Basic
    AuthName        "Welcome to hogehoge"
    AuthUserFile    /path/passwd
    Require         valid-user
</Directory>
 AuthType は、認証機構の種別を指定するものですが、パスワードによる基本認証を行う場合は Basic にします。  AuthName は、パスワード入力画面の、「領域:」として表示させるメッセージです。  必ず、ダブルクォーテーションでくくります。  中身には、自分の好きなメッセージや、領域を示す内容を記述します。メッセージの表示形式はブラウザによっても異なります。  AuthUserFile は、パスワードファイルを指定するものです。  パスワードファイルを置くディレクトリやファイル名は自由ですが、セキュリティ上、WEBサーバのドキュメントルート外におくべきです。  require valid-user は、認証されたユーザにしか、アクセスさせないという定義です。  .htaccess に書く場合は、/usr/local/etc/apache22/Includes/hogehoge.conf の上記記述を削除して。  .htaccess に以下のように記述します。

AuthType        Basic
AuthName        "Welcome to hogehoge"
AuthUserFile    /path/passwd
Require         valid-user
 /usr/local/etc/apache22/Includes/hogehoge.conf を変更した場合は、再起動

service apache24 configtest
service apache24 graceful
 .htaccess を変更した場合は、即時反映されます。

4. ログインの例

 設定したサイトにアクセスすると、Firefox(64.0)の場合、下記のように表示されます。
Firefox - パスワード入力

 Vivaldi(2.2.1388.37)の場合、下記のように表示されます。

Vivaldi - パスワード入力

 なるほど、AuthName の内容が、Firefox では表示され、Vivaldi では表示されていません。

 
 
カウンタバックグラウンド