猫と水槽

Apache2.4(Windows版x64)にWindowsドメイン認証を利用して、シングルサインインを実装するのページです。

スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--年--月--日 --:-- トラックバック(-) コメント(-)

Apache2.4(Windows版x64)にWindowsドメイン認証を利用して、シングルサインインを実装する

2013年11月24日 13:33

今回のWebサーバー再構築では前回までの記事のとおり、2013/11/15現在の最新版をインストールしましたが、過去に作成したPerlスクリプトが動作しなかったりと、毎度おなじみの嵌ってはネット検索の繰り返しです。

その中で、今回Crypt::PasswdMD5のモジュール呼び出し失敗のログはモジュールの追加で回避できたものの、そもそも何で社内イントラ内部なのにわざわざ認証していたかと考えた時、単にオペレータを認識したかっただけだと言う2年前の妥協点に遡り、今回はドメイン認証を利用したシングルサインインを実装することにしました。

ネット検索のフレーズとして「Apache2.4 ドメイン認証」で検索するとなかなか目的の情報にヒットせず、「Apache ドメイン認証」で検索した、Windows上のApache httpdでドメイン認証を使うの記事を参考にさせていただき、http://sourceforge.net/projects/mod-auth-sspi/からmod_auth_sspiをダウンロードして設定したのですが、Aapcheが起動しなくなり、起動時のエラーを元にまたまたネット検索のはじまりはじまり・・・
Last Updateは 2013-05-01 となっているものの、しっかりとmod_auth_sspi - Apache 2.x SSPI authentication module which let Apache 2.x users authenticate against Win32 domains.と書いてあるし、実際に解凍したモジュールの更新日は2006/05/17でした。

それならば、64bit版があれば動作するのでは!?と「mod_auth_sspi 64bit」で検索して、Index of /package/kmx/mod_auth_sspi/x64に置いてある、mod_auth_sspi.soとsspipkgs.exeを使ってみると、やはりApacheが起動しない!!しかもログさえ更新されないので何が問題なのかすら分からない

それからは、英文の掲示板やらを翻訳しながら四苦八苦してやっと成功したので、同じ苦労をする人が減るように記事に残します

結論はmod_auth_sspiでは無く、mod_authnz_sspiを使え!!

Apache Hausに置いてあるmod_authnz_sspi-0.1.0a1-2.4.x-x64-r2.zipをダウンロードして解凍する。[版数はその時点の最新版を使用]

②解凍したフォルダ内のApache/binにあるsspipkgs.exeをサーバーのApache24/bin配下へコピー

③解凍したフォルダ内のApache/moduleにあるmod_authnz_sspi.soをサーバーのApache24/module配下へコピー

④Apache24/confのhttpd.confに以下の記述を追加。[場所は最終行でも可能]


<IfModule !mod_authnz_sspi.c>
LoadModule authnz_sspi_module modules/mod_authnz_sspi.so ⇐ モジュール読み込みの記述は添付されているmod_auth_sspi.confでは LoadModule sspi_auth_module modules/mod_authnz_sspi.so と記載されているが、そのままではエラーとなるので、コピペした場合は必ず書き換える
</IfModule>
#
# Configuration for mod_auth_sspi
<IfModule mod_authnz_sspi.c>
<Location />
AuthName "A Protected Place"
AuthType SSPI
SSPIOmitDomain on ⇐ 私の環境ではドメインユーザIDだけが必要だったのでオプションを追記
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic On
# SSPIBasicPreferred
# SSPIUsernameCase lower
require valid-sspi-user
</Location>
</IfModule>
# End of mod_authnz_sspi.


以上で、ドメインにログインしているユーザは認証無しで開き、ドメインにログインしていないユーザがアクセスすると認証画面が表示するWebサーバーが構築できました。

新しいバージョンで構築しようとすると、日本語のサイトがなかなかヒットしないので、このメモがお役に立てると幸いです。

ちなみに、この答えはApache LoungeのWill there be a mod_auth_sspi for 2.4?の掲示板の中段以降のPosted: Tue 25 Sep '12 14:54の記事からたどり着きました
関連記事

2013年11月24日 13:33 トラックバック(0) コメント(0)












管理者にだけ公開する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。