OpenLDAP 2.4のCentOS 6.5へのインストールと初期設定
目次
構成
サーバ構成
OSバージョン
CentOS 6.5 x86_64
パッケージ一覧
portreserve-0.0.4-9.el6.x86_64.rpm ・・・openldap-serversが依存
openldap-servers-2.4.23-32.el6_4.1.x86_64.rpm ・・・OpenLDAPサーバ本体
openldap-clients-2.4.23-32.el6_4.1.x86_64.rpm ・・・ldapsearch等のコマンドを提供
環境構築
インストール
OpenLDAPサーバに必要なパッケージ2つをインストールします。
また、LDAPを操作(検索、追加、削除など)するためのコマンドラインユーティリティ
(クライアント)のパッケージ1つをインストールします。
DVDドライブにCentOS 6.5のDVD-ROMをセットし、以下のコマンドを実行します。
# mount /dev/cdrom /media/cdrom # cd /media/cdrom/Packages/ # rpm -ihv portreserve-0.0.4-9.el6.x86_64.rpm 準備中... ########################################### [100%] 1:portreserve ########################################### [100%] # rpm -ihv openldap-servers-2.4.23-32.el6_4.1.x86_64.rpm 準備中... ########################################### [100%] 1:openldap-servers ########################################### [100%] # rpm -ihv openldap-clients-2.4.23-32.el6_4.1.x86_64.rpm 準備中... ########################################### [100%] 1:openldap-clients ########################################### [100%] # cd / # umount /media/cdrom
設定
インストール後に最低限必要な設定としてデータベースの設定を行います。 データベースにはデフォルトのbdbを利用します。 データベース管理者のDN(識別名)は『dc=ranonet,dc=net』とし、 検索のベースとなるルートDNは『cn=Manager,dn=ranonet,dn=net』とします。 また、管理者のパスワードは『password』とし、MD5でハッシュ化します。
パスワードのハッシュ化
まずはパスワードをハッシュ化します。標準出力に表示されたハッシュ化された文字列は 設定ファイルに転記するのでコピーしておきます。
# slappasswd -s password -h {MD5} {MD5}X03MO1qnZdYdgyfeuILPmQ==
設定ファイルの修正
OpenLDAP 2.3からConfiguration Backendという機能がサポートされ、 これまでslapd.confに書いていた設定をデータベースに格納して 管理できるようになりました。 この機能により設定変更後のOpenLDAPサーバの再起動が必要なくなったり、 リモートから設定を変更できるようになりました。 ただし、Configuration Backend機能を利用せず、従来のslapd.confファイルに 設定を記述して管理することも可能です。
Configuration Backend機能はサーバメンテナンスで停止することが許容されないシステムにおいては 便利だと思うのですが、私がまだ設定方法をマスターできていないので、 今回はslapd.confで設定を行うことにします。 CentOS 6.5のOpenLDAP 2.4ではslapd.confファイルが標準でインストールされなくなりました。 そこでサンプルファイルをコピーして作成します。 サンプルファイルは「/usr/share/openldap-servers/slapd.conf.obsolete」です。 ファイル名に「obsolete」が付いていますが、これは「すたれた、もはや用いられない」という意味があります。
# cd /etc/openldap/ # cp -piv /usr/share/openldap-servers/slapd.conf.obsolete ./slapd.conf `/usr/share/openldap-servers/slapd.conf.obsolete' -> `./slapd.conf' # vi slapd.conf
※コメントは省略しています※ ※以下、ファイル内に追記※ TLSCACertificatePath /etc/openldap/certs TLSCertificateFile "\"OpenLDAP Server\"" TLSCertificateKeyFile /etc/openldap/certs/password access to attrs=userPassword by self write by anonymous auth by * none access to * by self write by * read database config
※以下、該当箇所のみ変更※ suffix "dc=my-domain,dc=com" checkpoint 1024 15 rootdn "cn=Manager,dc=my-domain,dc=com" ↓変更 suffix "dc=ranonet,dc=net" checkpoint 1024 15 rootdn "cn=Manager,dc=ranonet,dc=net" rootpw {MD5}X03MO1qnZdYdgyfeuILPmQ== ←ハッシュ化したパスワードを転記
LDAPサーバの起動オプション
インストール後の状態では slapd.conf を読み込んで起動する設定になっていないので、 起動オプションとして設定します。
# cd /etc/sysconfig/ # vi ldap
※該当箇所を修正※ #SLAPD_OPTIONS= ↓変更 SLAPD_OPTIONS="-f /etc/openldap/slapd.conf"
LDAPサーバの自動起動設定
インストール後の状態ではOpenLDAPサーバが自動起動する設定になっていないので、 Linuxの起動時にslapdデーモン(OpenLDAPサーバのデーモン)を自動起動するように変更します。
# chkconfig --list slapd slapd 0:off 1:off 2:off 3:off 4:off 5:off 6:off # chkconfig slapd on # chkconfig --list slapd slapd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
設定が完了したのでLDAPサーバを起動します。
# service slapd start slapd を起動中: [ OK ]
設定ファイル
/etc/openldap/slapd.conf
/etc/sysconfig/ldap
動作テスト
プロセスの起動確認
『slapd』プロセスが起動していることを確認します。
# ps -ef | grep slapd ldap 8796 1 0 03:43 ? 00:00:00 /usr/sbin/slapd -h ldap:/// ldapi:/// -u ldap -f /etc/openldap/slapd.conf root 8811 7302 0 03:45 pts/1 00:00:00 grep slapd
クライアントからの接続確認
ldapsearch コマンドを利用して簡易認証でアクセスできることを確認します。
# ldapsearch -x -LLL -D 'cn=Manager,dc=ranonet,dc=net' -W -b 'dc=ranonet,dc=net' '(objectClass=*)'
Enter LDAP Password: ←パスワードを入力(表示されない)
No such object (32)
現時点ではまだエントリを登録していないため、一致するオブジェクトは表示されません。