軟體版本與依賴
- Berkeley DB 5.1.25 (OpenLDAP 後端存儲)
- OpenLDAP 2.3.34
- Apache HTTPD 2.2.15 (支援 SSL、LDAP 模組)
- PHP 5.2.13
- phpLDAPadmin 1.2.0.5 (Web 管理介面)
1. 安裝 Berkeley DB
tar xvf db-5.1.25.tar.gz
cd db-5.1.25/build_unix
../dist/configure --prefix=/usr/local/BerkeleyDB
make && make install
echo "/usr/local/BerkeleyDB/lib" >> /etc/ld.so.conf
ldconfig
2. 安裝 OpenLDAP
export CPPFLAGS="-I/usr/local/BerkeleyDB/include"
export LDFLAGS="-L/usr/lib -L/usr/local/BerkeleyDB/lib"
tar xvf openldap-2.3.34.tgz
cd openldap-2.3.34
./configure --prefix=/usr/local/openldap --enable-bdb
make depend && make && make install
3. 安裝 Apache (支援 SSL/LDAP)
tar zxvf httpd-2.2.15.tar.gz
cd httpd-2.2.15
./configure --prefix=/usr/local/apache \
--with-included-apr --with-mpm=worker \
--with-ldap --enable-mods-static="deflate expires" \
--enable-mods-shared="ssl ldap authnz-ldap dav dav-fs dav-lock headers rewrite"
make && make install
# 建立運行用戶
groupadd www; useradd -g www www -d /home/www -s /sbin/nologin
# 修改 httpd.conf User/Group 為 www
# 生成 SSL 證書 (使用 ssl.ca-0.1 腳本)
# 啟用 https (443 端口) 於 httpd.conf
4. 配置 OpenLDAP (slapd.conf)
vi /usr/local/openldap/etc/openldap/slapd.conf
# 修改三行:
suffix "dc=holy,dc=com"
rootdn "cn=root,dc=holy,dc=com"
rootpw {SSHA}W/48LCkOe9rZUHMGyjD8VeHbMF4C3Szm # 由 slappasswd 生成
# 複製 DB_CONFIG 範例
cp /usr/local/openldap/var/openldap-data/DB_CONFIG.example \
/usr/local/openldap/var/openldap-data/DB_CONFIG
# 啟動
/usr/local/openldap/libexec/slapd
5. 初始化目錄樹與測試數據
# 建立基礎結構 /tmp/init.ldif
ldapadd -x -D "cn=root,dc=holy,dc=com" -W -f /tmp/init.ldif
# 添加測試用戶 /tmp/user1.ldif
ldapadd -x -D "cn=root,dc=holy,dc=com" -W -f /tmp/user1.ldif
6. 安裝 phpLDAPadmin
# PHP 編譯需加入 --with-ldap
# 解壓 phpLDAPadmin 至 Apache DocumentRoot
# 配置 config.php 指向 LDAP 伺服器
驗證
- 瀏覽器訪問
https://server/phpLDAPadmin
- 登入 DN:
cn=root,dc=holy,dc=com,密碼為 slappasswd 生成的明文
- 可視化管理目錄條目