安装软件
yum install -y openldap openldap-clients openldap-servers vim
配置openldap server
1.vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
将cn=Manager,dc=my-domain,dc=com 更改为自己的cn=admin,dc=kaisa,dc=com
2.vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
将dc,cn统一改为自己的,然后再添加一行olcRootPW: 123456 #此处设置的是认证密码
3. 拷贝DB文件
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
修改该文件的权限
chown -R ldap:ldap /var/lib/ldap/
4.启动服务
systemctl start slapd
systemctl enable slapd
5.添加scheme表
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/nis.ldif
创建base.ldif文件
- 按照自己的配置修改 [root@localhost ~]# vim base.ldif
dn: dc=kaisa,dc=com
objectClass: dcObject
objectClass: organization
o: kaisa.com
dc: kaisa
dn: ou=users,dc=kaisa,dc=com
objectClass: organizationalUnit
objectClass: top
ou: users
dn: ou=groups,dc=kaisa,dc=com
objectClass: organizationalUnit
objectClass: top
ou: groups
- 建立最基础的目录结构
ldapadd -x -W -D "cn=admin,dc=kaisa,dc=com" -f base.ldif - 验证基础目录是否创建成功
vim /etc/openldap/ldap.conf
将注释去掉,改成
BASE dc=kaisa,dc=com
URI ldap://192.168.10.13 ldap://192.168.10.13:666
管理用户与组
- 安装依赖包sharutils,Ldapscripts需要手动下载安装yum install sharutils
Ldapscripts下载完成传入到系统后需解压
tar zxf ldapscripts-2.0.8.tgz
cd ldapscripts-2.0.8
make install PREFIX=/
- 配置ldapscripts
将SERVER="ldap://localhost"改成SERVER="ldap://192.168.10.13"
将SUFFIX="dc=example,dc=com"改成SUFFIX="dc=kaisa,dc=com"
将BINDDN="cn=Manager,dc=example,dc=com"
改成BINDDN="cn=admin,dc=kaisa,dc=com"
去掉#ICONVCHAR="ISO-8859-15"的注释
3. 修改/etc/ldapscripts/ldapscripts.passwd文件
sh -c "echo -n '123456' > /etc/ldapscripts/ldapscripts.passwd"
安装phpldapadmin
yum -y install epel-release
yum --enablerepo=epel -y install phpldapadmin
修改配置
vim /etc/httpd/conf.d/phpldapadmin.conf
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
Require ip 192.168.10.0/8 #配置访问网段ip
</IfModule>
修改配置用DN登录ldap
vim /etc/phpldapadmin/config.php
# 398行,默认是使用uid进行登录,我这里改为cn,也就是用户名
$servers->setValue('login','attr','dn');
# 460行,关闭匿名登录,否则任何人都可以直接匿名登录查看所有人的信息
$servers->setValue('login','anon_bind',false);
# 519行,设置用户属性的唯一性,这里我将cn,sn加上了,以确保用户名的唯一性
$servers->setValue('unique','attrs',array('mail','uid','uidNumber','cn','sn'));
启动apache
systemctl start httpd
systemctl enable httpd
启动apache后,在浏览器上访问:http://192.168.10.13/ldapadmin
账户:cn=admin,dc=kaisa,dc=com 密码:123456