.htpasswd を使ったベーシック認証の完全ガイド
2025.07.09

.htpasswdで手軽にアクセス制限をかけよう
開発中のサイトや管理画面に「簡易パスワード制限」をかけたいとき、最も手軽なのが ベーシック認証 です。
このベーシック認証で使用されるのが .htpasswd ファイル。ApacheやNginxなどのWebサーバーで利用でき、設定も非常にシンプルです。
この記事では、ALTERNATE tools を活用して、.htpasswd の作成から設定・運用の流れまでをわかりやすく解説します。
目次
ベーシック認証とは?

Webページにアクセスする際、ユーザー名とパスワードの入力を求める基本的な認証方式です。特定のディレクトリに対して簡単にアクセス制限をかけることができます。
例えば、開発環境や社内用の管理画面など、外部に公開したくないページに対して、ベーシック認証を設定することで不正アクセスを防ぐことができます。
.htpasswdとは?
.htpasswd は、ベーシック認証で使用する「ユーザー名と暗号化されたパスワード」を記載したファイルです。1行に1ユーザーの認証情報が記録され、以下のような形式になります:
username:$apr1$WnL...vA$Xv4O2p3qp6bZz1YVnECUw1このパスワードはハッシュ化されており、ALTERNATE toolsの「.htpasswd作成ツール」で簡単に生成できます。
ALTERNATE toolsでの作成手順
- .htpasswd作成ツール を開きます
- ユーザー名とパスワードを入力
- [作成]ボタンを押すと、ハッシュ化された文字列が生成されます
- 表示された文字列をコピーして、
.htpasswdファイルに保存します
Apacheでの設定方法
ベーシック認証をかけたいディレクトリに、以下のような .htaccess ファイルを設置します:
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>
AuthUserFile 【絶対パス】.htpasswd
AuthGroupFile /dev/null
AuthName "For Members."
AuthType Basic
require valid-user
order deny,allowAuthUserFile は、.htpasswd ファイルの絶対パスを指定してください。
▶ AuthUserFileの絶対パスを調べる方法
Nginxでの設定例
Nginxを使用している場合は、auth_basic と auth_basic_user_file ディレクティブを使います:
location /secure/ {
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}設定後は nginx -t で構文を確認し、nginx -s reload で再起動してください。
セキュリティ上の注意
.htpasswdや.htaccessはWebから直接アクセスできないようにしてください- パーミッションを
600または640に設定するのが望ましいです - 本格的な認証が必要な場合は、ベーシック認証ではなくOAuthやトークン認証を検討しましょう
エラーが出るときのチェックポイント
AuthUserFileのパスが絶対パスか?- Apacheの
AllowOverride設定で.htaccessが有効か? - パスワードが平文になっていないか?(必ずハッシュ化)
まとめ
.htpasswd を使えば、特定のページに簡単なアクセス制限を導入できます。
ALTERNATE toolsの作成ツールを使えば、誰でもすぐにベーシック認証を設定可能です。ぜひ業務や開発のセキュリティ強化にご活用ください。







