CentOS:openLDAP安装

安装LDAP服务器及LDAP管理软件。注意LDAP高版本已经不再是slapd.conf配置文件呢,而在/etc/openldap/slapd.d中,可以进行转换,参见本节后续内容。

安装openLDAP

安装openLDAP:

yum install openldap-servers openldap-clients
yum install perl-LDAP*
  • 编辑ldap.conf
vi /etc/openldap/ldap.conf

修改以下内容:

URI ldap://127.0.0.1
BASE dc=riguz,dc=com
  • 初始化数据库
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
  • 配置slapd.conf文件

主要修改部分如下:

suffix		"dc=riguz,dc=com"
checkpoint	1024 15
rootdn		"cn=Manager,dc=riguz,dc=com"
rootpw			{SSHA}F8npd/kNMfH+QWBejiw+hnvYhGVbW6p6

其中rootpw可以由命令生成

slappasswd

注意改文件中不要使用空格,可以以tab隔开,否则导致密码错误。

  • 修改目录权限
chown -R ldap:ldap /var/lib/ldap
chown -R ldap:ldap /etc/openldap/slapd.d
  • 修改开机启动
chkconfig slapd on
service slapd start

附注: 日后如果变更 slapd.conf 內容, 则:

rm -rf /etc/openldap/slapd.d/*
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
chown -R ldap:ldap /etc/openldap/slapd.d
service slapd restart

导入初始值

首先构建init.ldif,内容如下(见附件/5-ldap/init.ldif)

dn:dc=riguz,dc=com
objectclass:dcObject
objectclass:organization
o:riguz org.
dc:riguz
dn:cn=Manager,dc=riguz,dc=com
objectclass:organizationalRole
cn:Manager

导入(需要输入Manager的密码,即上面步骤的rootpw):

ldapadd -x -D cn=Manager,dc=riguz,dc=com -W -f  init.ldif

安装phpldapadmin

最好使用源码手动安装(使用rpm安装后登陆测试不成功)。

tar -zxvf phpldapadmin-1.2.2.tgz 
mv phpldapadmin-1.2.2 /var/www/html/
ln -s phpldapadmin-1.2.2 phpldapadmin

配置:

cd /var/www/html/phpldapadmin/config
cp config.php.example config.php

修改下列config.php:

vim config.php

修改以下内容:

$servers->newServer('ldap_pla'); 
$servers->setValue('server','name','Riguz –Wuhan LDAP Auth.'); 
$servers->setValue('server','host','127.0.0.1'); 
$servers->setValue('server','port',389); 
$servers->setValue('server','base',array('dc=riguz,dc=com')); 
$servers->setValue('login','auth_type','cookie'); 
$servers->setValue('login','bind_id','cn=Manager,dc=abc,dc=com'); 
$servers->setValue('server','tls',false);
  • 重启Apache
service httpd restart

重启后,访问

localhost/phpldapadmin

即可进行管理 附注: 此配置下phpldapadmin只允许在本机访问。 附注: 后续操作可能导致phpldapadmin无法找到,在httpd.cond中建立一个新的虚拟路径即可

Alias /ldap “var/www/html/phpldapadmin-1.2.3”

Webmin安装(可选)

安装包见附件/5-ldap/ webmin-1.610-1.noarch.rpm。

rpm –ivh webmin-1.610-1.noarch.rpm

重启Apache后,浏览

localhost:10000