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回 BtoBマーケティングの実践における「可視化」の目的と設計方法
BtoBマーケティングにおける「可視化」とは、顧客企業の購買プロセスを明らかにすること...

第2回 技術の進化がマーケティングに与えたインパクト
第2回では、新しいKKD(「仮説」「検証」「データ分析」)が意味を持つようになった時代...

第5回 Webサイトの目的を社内で共有する――他部署をうまく巻き込むには?
遠藤さんのプレゼンがいよいよ始まる。Webサイトのリニューアルプランに「ソーシャルメデ...