Basic認証で必要なAuthUserFileの絶対パスを調べる方法【初心者向け】

AuthUserFileの絶対パスを確認する方法【PHP・SSH対応】
.htpasswd
を使ってBasic認証を設定する際、.htaccess
に記述する AuthUserFile
には、絶対パスを指定する必要があります。
このパスが正しくないと認証が機能せず、ログイン画面が表示されなかったり、アクセスできなかったりする原因となります。
ここでは、PHP または SSH を使って正確なパスを確認する方法を紹介します。
AuthUserFileとは?
Basic認証を行うために、Apacheは.htpasswd
というファイルを参照します。以下は.htaccess
に記述する例です:
AuthType Basic
AuthName "Protected Area"
AuthUserFile /home/example/public_html/.htpasswd
Require valid-user
この AuthUserFile
に記述するパスは、絶対パス(ルートからのフルパス)でなければいけません。
方法①:PHPで絶対パスを調べる
Webサーバーにアクセス可能な場合、以下のPHPコードを記述したファイル(例:check-path.php
)を `.htpasswd` を置きたいディレクトリに設置します。
<?php
echo realpath(__DIR__ . '/.htpasswd');
?>
このファイルをブラウザで開くと、以下のように絶対パスが表示されます:
/home/example/public_html/.htpasswd
※セキュリティのため、確認後はこのPHPファイルを必ず削除してください。
方法②:SSHで確認する
SSHでサーバーにログインできる場合、コマンドラインでも簡単に確認できます。
1. .htpasswdを設置したいディレクトリに移動:
cd /home/example/public_html
2. 現在のディレクトリのパスを確認:
pwd
出力例:
/home/example/public_html
3. そこに`.htpasswd`を加えたものが、AuthUserFileに指定すべきパスです:
AuthUserFile /home/example/public_html/.htpasswd
まとめ
AuthUserFile
には絶対パスを指定する必要がある- PHPやSSHで簡単に確認可能
- ツールを使えばもっと簡単にスクリプト生成ができる
正確なパスを指定して、Basic認証を安全かつ確実に設定しましょう。