MicroServer を買うときは FreeNAS を使うつもりだったんだけど、設定しようとしたら痒いところに手が届かせない作りだったのでやっぱり素の FreeBSD がいいや、ということで FreeBSD を使うことにしました。
が、
超苦戦したが、なんとか Open Directory 使って FreeNAS の認証通すことに成功。勝利の鍵は slapcat であった(← Base DN がわからなかっただけともいう
— Kiyono, Goro (@goro1080) December 28, 2013
苦戦した Open Directory の設定を記録しておかないのは勿体ないのと、どうせ FreeBSD でも同じことやると思うのでメモ。
といっても基本的にはググって見つけた Configure FreeNAS LDAP for OS X Server Open Directory ってサイトに書いてあるとおり。なんだけど、俺が詰まったのは下記 2 点でした。
- Base DN わかんねー
- Self signed certificate はどう記載するの
まず Base DN だけど、自力で LDAP 立てた人はちゃんと設計してるだろうから、これがわからんってことはないのだろうけど、 Open Directory の場合はクリックしていくとなんとなく出来上がる上に、確か Lion Server の頃は Server.app で Base DN が表示されてたはずなんだけど、 Mountain Lion Server から表示が簡略化されたのかなんなのか、確認方法がわからないのでした。でもどうせ OpenLDAP 由来な slap* なコマンドでなんとかできるだろう、と軽く考えあさってみると slapcat なるそれっぽいコマンドをハッケソ。
sudo slapcat|more
とかしてやると
dn: dc=hyrule,dc=jp dc: hyrule objectClass: domain structuralObjectClass: domain
とか表示されるのできっとこれが Base DN だろう、と(笑)。
Self signed certificate のほうはさっきのサイトによると
OS X server contents of /etc/certificates/yourdomain.com.cert.pem, *.chain.pem
とあって、 cert.pem と chain.pem の両方をどう記載するんだ!? とか混乱したのだけれど、ここは FreeNAS の WebUI のヘルプの
ここに自己署名証明書の内容を貼り付けてください。
を素直に信じて OS X Server の /private/etc/certificates にある、 OpenDirectory が使っているであろう証明書(yourdomain.cert.pem ね)の内容を貼り付ける、のが正解でした。テキストフィールドが狭いからファイルパスを書くのかと思っちゃったヨ。
ちなみに FreeNAS 側の設定が終わると FreeNAS 上の /etc/local/nss_ldap.conf が WebUI で設定した内容に書き換わるようなので、ちゃんと動いたのを確認したら、このファイルをバックアップしとくのが勝利のカギなんでしょうね。