Solaris10でOpenLDAP(基本設定)
起動させるまでの設定。インストールは、ここを参照。
以下の条件で設定。
- DNは、「dc=example-ldap,dc=com」とする。
- 「ou=people」の下に従業員情報を登録する。
- 従業員情報のオブジェクトクラスは、「inetOrgPerson」を使用する。
- ちょっとだけパフォーマンスも考慮したい。
- とりあえず、セキュリティはあまり考慮しない。
1. /usr/local/etc/openldap/slapd.conf
#######################################################################
# Global sections
#######################################################################
# スキーマの定義。inetOrgPersonを使うので、cosine.schemaも忘れずに。
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema# ログとか。ログレベルは、8+32+256。
loglevel 296
pidfile /usr/local/var/run/slapd.pid
argsfile /usr/local/var/run/slapd.args# SSL/TLSの設定。証明書、鍵の作成は後述。
TLSCipherSuite HIGH
TLSCertificateFile /usr/local/etc/openldap/slapd-cert.pem
TLSCertificateKeyFile /usr/local/etc/openldap/slapd-key.pem# userPassword属性に値を保存する時のデフォルト暗号化スキーマ。
password-hash {SSHA}#######################################################################
# BDB database definitions
#######################################################################
# バックエンドにBerkeley DBを使用する。
database bdb# ルートサフィックス定義。
suffix "dc=example-ldap,dc=com"# スーパーユーザ権限用のルートDN及びパスワード設定*1
rootdn "cn=Manager,dc=example-ldap,dc=com"
rootpw {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx# データベースファイルを保存するディレクトリと作成権限。
directory /var/ldap/example-ldap.com
mode 0600# パフォーマンス関連設定。(インデックスとかメモリキャッシュとか)
index objectClass eq
index cn,sn,mail eq,sub
index departmentNumber eq
cachesize 2000
2. /etc/syslog.conf
以下の設定を追加。追加後、syslogdにHUPシグナル。
local4.debug /var/log/slapd.log
3. サーバ証明書・秘密鍵の作成
# cd /usr/local/misc
# ./CA.pl -newcert
# openssl -rsa -in newkey.pem -out slapd-key.pem
# mv ./slapd-key.pem /usr/local/etc/openldap/
# cp ./newcert.pem /usr/local/etc/openldap/slapd-cert.pem
※秘密鍵のパーミッションは、「600」で。
4. データベースディレクトリの作成
# mkdir -p /var/ldap/example-ldap.com
# chmod 700 /var/ldap/example-ldap.com
# cp /usr/local/etc/openldap/DB_CONFIG.example /var/ldap/example-ldap.com/DB_CONFIG
# chmod 600 /var/ldap/example-ldap.com/DB_CONFIG
5. 起動
# /usr/local/libexec/slapd
# ps -ef | grep slapd
*1:パスワードハッシュは、「# slappasswd -h {SSHA} -s %パスワード%」で作成。