続けてのBASIC認証ネタですが、クライアントが自身で運用しているサーバーで、「BASIC認証を設置すると500エラーになる」と相談されました。
とりあえず、Errorログを送ってもらうと、
/.htaccess: Invalid command 'AuthGroupfile', perhaps misspelled or defined by a module not included in the server configuration
うん?AuthGroupfileで引っかかっている?
CentOS 7系(Apache 2.4系)だったので、00-base.confを見てもらったら、案の定mod_authz_groupfile.soがコメントアウトされていました。(デフォルトだとコメントアウトされていないはずですが…)
- 「AuthGroupfile /dev/null」の記述を消す
- 「mod_authz_groupfile.so」を有効化する
のいずれかで復旧しました。
まとめると、mod_authz_groupfile.soを無効化することで、グループ承認ができない状態にも関わらず、それに関する記述があったため、エラーを起こしていたということでした。