ディレクトリをパスワードで保護したい。 CentosでcPanelを使用してApache2を実行しています。
この投稿のために、ディレクトリは/home/user/my-secret-dir
です。
CPanelの「PasswordProtectDirectories」を使用してログインの詳細を作成し、新しい/home/user/.htpasswds/my-secret-dir/passwd
ファイルに保存しました。
それがしなかったことは、どこにでもAuthType構成を作成することです-プロンプトなしでディレクトリに簡単にアクセスできました(これが機能している間、一般的なindex.htmlを取得するだけです)。
そこで、次の内容で/home/user/my-secret-dir/.htaccess
を自分で作成しました。
AuthType Basic
AuthName "My Secret Directory"
AuthUserFile "/home/user/.htpasswds/my-secret-dir/passwd"
require valid-user
これにより、ブラウザはログインの詳細の入力を求められますが、正しいユーザー名とパスワードを入力すると、間違っているかのように動作し、詳細の入力を再度求められます。
私が入力している詳細は間違いなく正しいです。
私は以前にこの同じサーバーにパスワードで保護されたディレクトリを設定しましたが(アカウント/ドメインは異なりますが)、正常に機能しました(そして引き続き機能します)。
継続的なプロンプトを引き起こしている可能性のあるアイデアと、それを修正する方法はありますか?
これは権限の問題でした。Apacheは認証ファイルにアクセスできなかったため、すべてが無効として扱われていました。
明らかになったログを確認する:
(13)許可が拒否されました:パスワードファイルを開くことができませんでした:/home/user/.htpasswds/my-secret-dir/passwd
/home/user/.htpasswds
ディレクトリは以前から存在していて、権限が正しくありませんでした。
Apacheがアクセスできるようにアクセス許可を更新したところ、期待どおりにログインできました。