つーか某サイボウズ用の設定。 httpだとBasic認証、httpsだと証明書認証の設定は Location を使っている。
ScriptAlias /cybozu/ "/home/cybozu/cbag/"
<Directory "/home/cybozu/cbag">
DirectoryIndex ag.cgi
Options None
AllowOverride None
Deny from all
<FilesMatch "\.cgi$">
Allow from all
</FilesMatch>
</Directory>
<VirtualHost _default_:80>
<Location "/cybozu">
AuthUserFile /home/hoge/hogepassword
AuthGroupFile /dev/null
AuthName hoge_auth
AuthType Basic
require valid-user
</Location>
</VirtualHost>
<VirtualHost _default_:443>
<Location "/cybozu">
SSLRequire %{SSL_CLIENT_I_DN_CN} eq "Hoge CA"
</Location>
</VirtualHost>
Heimdalベースのシステム上のapacheに mod_auth_kerb を乗せようとすると Kerberos Module for Apacheのじゃダメで、 上記URLのところにある奴 が必要だった。
さらにこの中で参照している kafs.h はAFS関連のようだけど、FreeBSD-5.1Rでは入ってないので、
afsと名の付くコードは軒並み削除して作ってみた。必要なライブラリがドキュメントと微妙に異なるのをlocateコマンドで探し出しつつコンパイル。
/usr/local/sbin/apxs -c -i -a -DAPXS2 -DKRB5 \
-lkrb5 -lgssapi -lasn1 -lcom_err -lroken \
mod_auth_gss_krb5-apache2.c
# -I/usr/src/crypto/heimdal/lib/kafs
しかし使ってみたところではkeytabファイルが必要な模様。
面倒になってkeytabファイルを作っていないが一応KDCに向かってパケットが飛んでいるのは確認した。
結局keytabファイルが要るんだったらPAM経由のが楽だよなあ。というわけで mod_auth_kerb はステ認定。 AFSを使って認証の自動化してる環境じゃないと意味がないというか、わざわざ使いたいと思わないちゅーことだな。