CentOS7に389DSをインストールしセットアップを行う

今日はCentOS7に389DSをインストールし、初回のセットアップまでを済ませてみます。
今回行う操作は基本的に全て、CUIで行います。

インストールの詳細は本家の手順を参照してください。
389 Directory Server - Install Guide

インストール

yumで一発です。
昔はEPELのリポジトリを追加しないといけなかったようですが、(2015年6月現在)baseパッケージは標準リポジトリから落ちてくるようになっています。

# yum install -y 389-ds-base

初期設定投入用infファイルを作成

インストールしただけではLDAPとして利用できませんので、初期設定を行います。

このときCLIツールインタラクティブに設定を入力していくこともできるのですが、入力ミスなどで手戻りが起こるのも面倒ですし、今回はサイレントモードで設定を投入したいと思います。

そのためにはまず、レスポンスファイルとしてinfファイルの作成が必要です。

# vim install.inf
[General]
FullMachineName=example.demiglacesource.net
SuiteSpotUserID=nobody
[slapd]
ServerPort=389
ServerIdentifier=example
Suffix=dc=example,dc=demiglacesource,dc=net
RootDN=cn=Directory Manager
RootDNPwd=password

ここで入力したパラメータの詳細と、その他に指定可能なパラメータの一覧は公式サイトを参照してください。

389 Directory Server - Install Guide

取り急ぎ動作確認を行う場合は FullMachineName の値のみ設定を変更しファイルを保存します。
FullMachineNameはサーバーのホスト名を表します。

ホスト名の確認

インストール対象のサーバーホスト名が、install.infFullMachineNameで指定した値と一致していることを確認してみます。
※ここで書く操作が必須なのかどうかは不明。でも合わせてるにこしたことはなさそう。

# hostname
example.demiglacesource.net

もしホスト名が異なっていた場合は、以下のコマンドでサーバーホスト名の変更が可能です。
CentOS7からはこちらの方法が一般的なようですね。(sysconfigとかを手でいじらんでよくなったのは素晴らしい)

# hostnamectl set-hostname example.demiglacesource.net

※2015/7/5追記 ホスト名を設定するだけでは setup-ds.pl の実行時に名前解決ができず、エラーになりました。その場合はhostsも編集してから以降の手順に進んでください。

389DSを起動

初期設定を行うため、389DSを起動しておきます。

# systemctl start dirsrv.target

初期設定投入

サイレントモードなので、コマンド一発です。
setup-ds.plは389DSのインストールを行うと利用できるようになっています。

# setup-ds.pl -s -f install.inf
Your new DS instance 'example' was successfully created.
Exiting . . .
Log file is '/tmp/setupRv_wSN.log'

無事に初期設定の投入が完了しました。

動作確認

install.infで指定した認証情報でldapsearchができることを確認してみましょう。

# ldapsearch -D "cn=Directory Manager" -w password -b dc=example,dc=demiglacesource,dc=net *
# extended LDIF
#
# LDAPv3
# base <dc=example,dc=demiglacesource,dc=net> with scope subtree
# filter: (objectclass=*)
# requesting: anaconda-ks.cfg go1.4.1.linux-amd64.tar.gz go1.4.1.src.tar.gz gocode install.inf monitoreo packer packer_0.7.5_linux_amd64.zip 
#

# example.demiglacesource.net
dn: dc=example,dc=demiglacesource,dc=net

# Directory Administrators, example.demiglacesource.net
dn: cn=Directory Administrators,dc=example,dc=demiglacesource,dc=net

[snip]

問題なさそうですね。

まとめ

今回の記事で、389DSの基本的なセットアップを行うことができるようになりました。
この他に、admin系のツールを利用する場合などは別途、EPELリポジトリを追加しインストールを行ってください。

次回は、389DSにldapsで通信するための設定をまとめてみます。