Ubuntuでhtaccessを使ってBasic認証をかけようと思ったら詰まりました。
#Basic認証をかける
毎度のごとく .htaccess .htpasswd のペアを作成・設置
きちんとBasic認証がかかっているか確認するが、
何も聞かれずサイトにアクセスできてしまった。
失敗。
#apacheにモジュールを加える
どうやらapacheにhtaccessを使うためのモジュールが足りないらしい。
mod_rewrite.soモジュールを有効化
/usr/sbin/a2enmod rewrite
apacheの再起動
/etc/init.d/apache2 restart
再度確認するも、Basic認証がかからない。
失敗。
#confの書き換え
今回ubuntuなのでhttpd.confではなくapache2.confを書き換える。
場所は /etc/apache2/apache2.conf
<Directory /var/www/>
(省略)
AllowOverride None
(省略)
</Directory>
上記の箇所を探し、AllowOverrideの箇所を以下のように書き換える
AllowOverride All
apacheの再起動
/etc/init.d/apache2 restart
どの情報を見ても上記の情報で終わっているが...
Basic認証がかからず。
おまけにエラーが出るようになってしまった。
失敗。
#エラーの解消
原因はhtaccessでした。
よく私が書くhtaccessには
AuthGroupFile
という記述があるが、どうやらそれがいけなかったらしい。
AuthGroupFile の記述がある1行を消すとBasic認証が効くようになりました!
おしまい。