忘れないように自分用メモ
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>