- ベストアンサー
htaccessで認証をかける方法とは?詳しい設定方法を教えてください
- htaccessを使用して認証をかける方法を教えてください。私は詳しくないので、設定方法を知りません。
- 私は.htaccessを使用して認証をかけたいですが、試してみても認証エラーが発生します。
- AuthUserFileとAuthNameを正しく設定しましたが、.htaccessを置いている場所が適切か確認してください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
補足見ましたパスワードファイル指定か、パスワードファイル自体が間違っている可能性大ですね。 Linuxコマンドは初心者です(一様サーバー管理者なんですけど(笑)) パスワードファイルの正しい作り方を紹介します。 pwdというのは、Telnetでログインして、現在のパスを調べるためのコマンドです。 .htpasswdを作るには、パスワードファイルを保存したいところに 移動して(cd /home/sites/home/web)そこで $ htpasswd -c .htpasswd macky0225 と入力します。(新規の場合です。追加の時は、-cを消してください。又、$は入力しないでください。) そうすると、 「Adding password for macky0225. New password:」 という表示が出てきますので、パスワードを入力してください。 もう一度要求されますので、入力してください。 すると、.htpasswdが作成されます。crypt関数で暗号化したのと同じですので、おそらく動くと思います。 その後 $ ls -la と入力してください すると一覧が表示されますので、その中に[.htpasswd]があることを確認してください。 あればpwdコマンドで現在のパスを調べ、表示されたパスを [.htaccess]の「AuthUserFile」に入れてください。 これで動くと思いますが・・・・
その他の回答 (3)
- Lio
- ベストアンサー率44% (13/29)
NO.3の一部訂正です 下から二行目 [.htaccess]の「AuthUserFile」に入れてください。 ですが、 pwdで調べると最後がスラッシュで終わりません。(/home/sites/home/web)が .htaccessに記述するときは /home/sites/home/web/.htpasswd という形式で入れてください。
- Lio
- ベストアンサー率44% (13/29)
補足解答です。 .htaccessはアスキーモードで転送します。 パーミッションは644で大丈夫でしょう。 >うまくいきませんでした どのような表示が出ましたか?500エラーとか、401エラーとか。 500の場合は、記述が間違っています。 401の場合はパスワードファイルが間違っているでしょう。 あと、AuthUserFile /home/sites/home/web/.passwd の部分ですが、やはり AuthUserFile /home/sites/home/web/.htpasswd としてください。私は↑で動作しましたよ。 よって、.htaccessの方は間違っていないと思います。(パスワードファイルまでのパス指定の間違いは除く) 再確認してみてください。
補足
補足有難う御座います。エラーログですが、私の利用しているレンタルサーバーではご指摘のようなエラーメッセージが出ません。かわりに「要求されたドキュメントへのアクセスに必要な認証(パスワードなど)を確認できませんでした。パスワードが違っていたか、ご使用のブラウザが必要な認証を提供できなかったことが考えられます。」と出ます。.htaccessは使えるとのことなので、どこかしら設定が間違っているのでしょうね・・・(T_T) 絶対パスの調べ方はTelnet接続して認証をかけたいフォルダ及びパスワードファイルのあるフォルダまで移動し、pwdと叩けばいいんですよね?なんか基本的(初歩的)なコトが間違っている気がしてやまないので・・・ 御迷惑をお掛けしますが御教授下さいm(__)m
- Lio
- ベストアンサー率44% (13/29)
AuthUserFile /home/sites/home/web/.passwd AuthName "Please Enter Your ID and PASSWORD" AuthType Basic require user macky0225 ではいかがですか? 見た感じでは、privateにアクセスするのは、macky0225のIDを使った方だけの 認証を行いたいと感じさせられましたので、 userでmacky0225を定義で正しいです。(すべてのユーザーの場合はvalid-user です。) あと、 <Limit>を使用せずに、一発requireで大丈夫だと思いますよ。
補足
早速の回答ありがとうございます。 Lioサンの仰るとおりの設定をしてみたのですがうまくいきませんでした(valid-userも試してみました)・・・ アップデート方法(アスキーorバイナリ)や属性はどう設定すればいいでしょうか?我侭ですが御教え頂ければ幸いです。
お礼
お返事が遅くなり申し訳ないです。 お教え頂いたとおり再度設定したところ動きました!有難うございますm(__)m 何が原因だったのか判りかねますがパスワードファイルにもんだいがあったのか?って考えています。とにかく、いろいろ御教授頂き有難う御座いました!