Sambaを利用すると,Windowsクライアントでドメインログオンする際の認証を行うことができます。最近では多くのサービスをWebベースで利用することが一般的であり,ドメインログオンによって一度認証された環境であれば,その認証情報を利用してWebサービスの認証も行いたいというのが一般的な要望です。このような仕組みを実現することをシングルサインオン(SSO)と呼びます。

 今回紹介するmod_auth_ntlm_winbindモジュールを利用すると,Apacheで構築されたWebサーバーで提供されているWebページの認証情報として,ドメインログオンの情報を利用できるようになります。

 つまり,ユーザーは作業の開始時にドメインログオンするだけで,Webサービスとして提供されている様々なサービスの認証も同時に認証可能になり,Webサービスにログインするたびに,何度もユーザー名やパスワードを入力する必要がなくなります。

mod_auth_ntlm_winbindの準備

 最新のmod_auth_ntlm_winbindのソースはGitで管理されていますので,次のコマンドでソースを取得します。

$ git clone git://gitweb.samba.org/jerry/mod_auth_ntlm_winbind.git mod_auth_ntlm_winbind

 ただし,gitに登録されているソースにはconfigure.inが含まれていないため,Fedora 8のソースRPMパッケージからconfigure.inを取り出します。

 Fedora 8のmod_auth_ntlm_winbind-0.0.0-0.6.20070129svn713.fc8.src.rpmをミラーサイトなどからダウンロードし,以下の手順で解凍します。

$ rpm2cpio mod_auth_ntlm_winbind-0.0.0-0.6.20070129svn713.fc8.src.rpm | cpio -id
$ tar xfz mod_auth_ntlm_winbind-0.0.0-20070129svn713.tar.gz

 解凍したmod_auth_ntlm_winbindディレクトリにconfigure.inが含まれますので,gitで取得したmod_auth_ntlm_winbindディレクトリにコピーしておきます。

 ソースを取得できたら,モジュールをコンパイルしシステムにインストールします。

$ cd mod_auth_ntlm_winbind
$ autoconf
$ ./configure
$ make
$ su
# make install

 なお,Fedora 8ではRPMパッケージが提供されていますので,yumで簡単にインストールすることができます。

# yum install mod_auth_ntlm_winbind

 ビルドされたモジュールはApache用のモジュールですので,Apacheのモジュールのディレクトリにmod_auth_ntlm_winbind.soがインストールされていることを確認します。

 CentOS/RedHat Enterprise Linux/Fedoraなどは,/usr/lib/httpd/modulesディレクトリです。

 DebianやUbuntuなどは/usr/lib/apache2/modulesディレクトリなどになります。