Linux Tips

Apacheでユーザー認証を行うには(Basic認証編)

北浦訓行
2005/2/10

 Apacheのユーザー認証には、「Basic認証」と「Digest認証」がある。Basic認証は一般的に行われている方法だが、パスワードが暗号化されないため、機密性の高いデータへの認証には適していない。Digest認証はパスワードが暗号化されるが、これに対応しているのは比較的最近のWebブラウザに限られる。

 ここではBasic認証を利用して、特定ディレクトリのWebページを開く際に「secret」というユーザー名でアクセスできるようにする(編注)。Digest認証を使う方法は、Apacheでユーザー認証を行うには(Digest認証編)を参照。

編注:以下のコマンド名やディレクトリはディストリビューションによって異なることに注意。

 まず、ユーザー認証によるアクセス制限をかけるディレクトリを作成する。ここでは、/var/www/html/memberとする。

# mkdir -p /var/www/html/member

 次に、htpasswdコマンドでsecretというユーザーを作成し、パスワードを設定する。パスワードの設定に必要なパスワードファイルは、ここでは/etc/httpdディレクトリ(編注)に.htpasswdとして作成する。

編注:パスワードファイルの作成場所は必ずしも/etc/httpdである必要はない。ただし、外部からアクセスできる場所(Apacheのドキュメントルート内など)は避けるべきである。

 なお、初めて.htpasswdファイルを作成するときは-cオプションが必要となる。

# htpasswd -c /etc/httpd/.htpasswd secret
New password:
Re-type new password:
Adding password for user secret

 そして、Apacheの設定ファイル(/etc/httpd/conf/httpd.conf)に以下の設定を追加する。

<Directory "/var/www/html/member">
    AuthType Basic
    AuthName "Secret Zone"
    AuthUserFile /etc/httpd/.htpasswd
    Require user secret
</Directory>

 以上で設定は完了だ。以下のコマンドを実行して、Apacheを再起動する。

# service httpd restart

 Webブラウザでhttp://localhost/member/にアクセスすると、ユーザー認証用のダイアログボックスが表示される。

ユーザー認証用のダイアログボックスが表示されたFirefoxの画面

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

TechTargetジャパン

Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る
- PR -

ホワイトペーパーTechTargetジャパン

ソリューションFLASH

「ITmedia マーケティング」新着記事

第1回 「マス」と「デジタル」は横断して分析できる!
マスの効果は測り難いと言われる一方、マーケティング潮流はオムニチャネルが叫ばれるよ...

第1回 導入してみて分かったCCCMの特徴とポイント
昨今、クロスチャネル・キャンペーンマネジメント(CCCM)の記事が目立つようになりまし...

(後編)ビックカメラ流「想いチャネル」戦略
ネット時代の現在、「店舗がネットに代替されてしまう」という議論は少なくない。しかし...