忘れないように自分用メモ
mod_authnz_externalとpwauthでOSユーザーでのBasic認証を設定していた時にハマりました。
下記のエラーが表示されて、何が悪いのかさっぱりわからずでした。
Invalid AuthExternal keyword pwauth
最終的に、http.confに記載していた、AddExternalAuth
とSetExternalAuthMethod
をvirtualhost側に記載するようにしたら出来ました。
ディレクティブの継承関係がうまくいってなかったようです。
httpd.conf
LoadModule php5_module modules/libphp5.so LoadModule authnz_external_module /usr/lib64/httpd/modules/mod_authnz_external.so #AddExternalAuth pwauth /usr/local/libexec/pwauth #SetExternalAuthMethod pwauth pipe
vhosts.conf
<VirtualHost *> ServerName foo.localhost DocumentRoot /path/to/webroot ErrorLog logs/error_log CustomLog logs/access_log combined DirectoryIndex index.php AddExternalAuth pwauth /usr/local/libexec/pwauth SetExternalAuthMethod pwauth pipe <Directory /path/to/webroot> AllowOverride ALL Order deny,allow Allow from all Options All Options All -Indexes AddType application/x-httpd-php .php AuthType Basic AuthName "PAM Authentication" AuthBasicProvider external AuthExternal pwauth require valid-user </Directory> </VirtualHost>