apache2.2 の ダイジェスト認証で死亡
trac の認証設定を行おうとして、basic認証……は、ガッカリなので ダイジェスト認証を行うように設定しようと作業していたのですが、実に詰まりました。
どうやら apache 2.2 から 設定方法がゴソっと変わったようで、従来通りの方法ではうまくいきません → ぐぐる先生で「ダイジェスト認証 apache」と検索したところで、古い情報にたどり付いてしまったら絶対にうまくいきません。^^;
というわけで、以下参考にさせていただいたページと引用(ホント参考になりました。ありがとうございます)
まず、必要なモジュール
auth_digest_module
authn_file_module
authz_user_module
authz_owner_module
が必要です。
さらに設定ファイルはこう替わります
AuthType Digest
AuthName "?????"AuthDigestProvider file
AuthUserFile /etc/htpasswd/.????
Require valid-userこれを知らないでそのままアップデートして古いまま使おうとすると・・・
Blog@FeelTheH2O – 「Feel The H2O」の管理人「H2O」の思ったことなど。
「/???/????/.htaccess: Invalid command 'AuthDigestFile', perhaps misspelled or defined by a module not included in the server configuration」
(AuthDigestFileって何?間違ったか必要なモジュール読んでないよ!)
まさに "AuthDigestFile ってなんだよ? 死ねよボケが。氏ねじゃなくて死ね。" とapacheからエラーを出されてヘコんだ俺。 digest用のモジュール読んでるじゃねーか!! お前こそ死ねよ!! と小一時間悩んでました。 apacheたんごめんちゃい。私が悪かったです。orz
ちくしょう薔薇水晶め…
htdigest -c "/usr/local/apache2/user_name.passwd" DAV-upload user_name
http://intrajp.no-ip.com/webon/?contents_request=on&body_request=mod_dav
ここの、DAV-uploadというところは、realmといいます。
ここは、httpd-dav.confの、AuthNameと一致している必要があります。
"realm" で見事にはハマった。 エラーログに "Trac" not found とかでてて何事かと…("AuthName Trac" と設定していた)
ちくしょう薔薇水晶め…
mod_authz_userが有効になっていないだけでした
http://d.hatena.ne.jp/shimooka/20070911/1189440451
ログインに成功したと思ったら Internal Server Error で泣いた原因、 不要そうなモジュールだと外していたのが悪かったワケです…
ちくしょう薔薇水晶め…
まぁ、でも不要なモジュールは外したいよね。ってことで、結局認証関係のモジュールはこんな感じになりました。 良いか悪いかは知らないかしらー。HAHAHA
#LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so #LoadModule authn_alias_module modules/mod_authn_alias.so #LoadModule authn_anon_module modules/mod_authn_anon.so #LoadModule authn_dbm_module modules/mod_authn_dbm.so #LoadModule authn_default_module modules/mod_authn_default.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so #LoadModule authz_owner_module modules/mod_authz_owner.so #LoadModule authz_groupfile_module modules/mod_authz_groupfile.so #LoadModule authz_dbm_module modules/mod_authz_dbm.so #LoadModule authz_default_module modules/mod_authz_default.so #LoadModule ldap_module modules/mod_ldap.so #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
しかしねー。 2.2系の conf ファイルを見たとき "authなんちゃら" がえらい増えてて「なんじゃこりゃ…(流血の事実に驚きながら)」とは思ったんよねー。ねー。ねー……