紀錄一下 OpenLDAP 在 FreeBSD 上的安裝及設定流程。
先透過 FreeBSD 的 ports 安裝 openldap23-server:
# cd /usr/ports/net/openldap23-server
# make clean install clean
裝完後設定 /usr/local/etc/openldap/slapd.conf
,主要要改的幾個部份是:
- 開頭的
include
部份:預設只有/usr/local/etc/openldap/schema/core.schema
,如果需要其他的objectClass
則需要把cosine.schema
與inetorgperson.schema
也寫進去。 - 下方的
suffix
與rootdn
,以及rootpw
。其中rootpw
可以用slappasswd
產生密碼。
改完後要設定開機時跑起 slapd
,這個部份要在 /etc/rc.conf
裡新增:
slapd_enable="YES"
接下來用 /usr/local/etc/rc.d/slapd start
將 slapd
跑起來。用 ps -U ldap
應該可以看到 slapd
process 在跑:
25290 ?? Is 0:00.04 /usr/local/libexec/slapd -u ldap -g ldap
以上就是 server 的架設。
接下來講 client 的部份。先是修改 /usr/local/etc/openldap/ldap.conf
:
BASE dc=example,dc=org
URI ldap://ldap.example.org/
用 Google 找文件的時候會發現大家都是建議用 domain name 當作 BASE
,但其實並沒有強迫要用 domain name,只是 domain name 剛好是全世界獨一無二的 (這是粗略的說法),所以用 domain name 是慣例,以後接手的人也會比較容易上手。
將 server 跑起來,並且將 client 改完後,直接打 ldapsearch
應該就會看到沒有任何結果 (最後一行應該是 #numEntries: 0
),這代表 server 應該沒什麼問題,接下來就是亂塞一些資料進去,這部份網路上大多數的文件都有提到 ldapadd
、ldapdelete
、ldapmodify
的用法以及 ldif 的寫法,這些不太會因為在 FreeBSD 上就有不同的格式,可以看其他提到 OpenLDAP 2.3 的網頁。