大家好,又见面了,我是你们的朋友全栈君。
之前搭建了个Ldap服务器,今天想要再另一台机器上搭建的时候发现很多地方还是会遇到坑,于是将搭建过程梳理记录下来,避免以后再遇到坑
一、安装配置ldap
1、 安装ldap
yum install -y openldap*
2、拷贝配置文件
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
3、设置管理员密码,testpassword为拟设置的密码
slappasswd -s testpassword
会生成编码后的密钥{SSHA}jgxgMu JJpNUDSkrZClSnounHVpjGyhF
4、修改slapd.conf 核心配置
database bdb
suffix “dc=mycompany,dc=com”
rootdn “cn=admin,dc=mycompany,dc=com”
rootpw {SSHA}jgxgMu JJpNUDSkrZClSnounHVpjGyhF
密码就用刚才生成的密钥
5、修改slapd.conf 权限配置
access to *
by self write
by anonymous auth
by * read
6、配置数据库
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap.ldap /var/lib/ldap/DB_CONFIG
chmod 700 /var/lib/ldap/DB_CONFIG
7、删除默认内容
rm -rf /etc/openldap/slapd.d/*
7、检测配置是否正确
slaptest -u
8、启动ldap
service slapd restart
9、设置自动启动
chkconfig slapd on
10、设置目录权限
chown -R ldap:ldap /var/lib/ldap
chown -R ldap:ldap /etc/openldap/
11、测试并生成配置文件
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
12、设置权限并重启
chown -R ldap:ldap /etc/openldap/slapd.d/
service slapd restart
二、安装ldapadmin
1、安装httpd和php相关
yum install httpd php php–bcmath php–gd php–mbstring php–xml php–ldap -y
2、安装phpldapadmin
yum install phpldapadmin
需要配置epel源
3、修改 /etc/httpd/conf/httpd.conf ,添加
ServerName 10.10.10.10
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs
<Directory /usr/share/phpldapadmin/htdocs>
Order Deny,Allow
Allow from 127.0.0.1 192.168.1.0/24
Allow from ::1
</Directory>
4、修改/etc/phpldapadmin/config.php
$servers->setValue(‘login’,‘attr’,‘dn’); 将这一行的注释取消
$servers->setValue(‘login’,‘attr’,‘uid’); 将这一行注释掉
5、重启httpd
三、初始化根节点
上述配置完之后,已经可以通过phpldapadmin登录管理ldap了,但是登录之后会发现无法去添加用户,组之类的,此时需要初始化根节点
1、在/etc/openldap/目录下,创建一个base.ldif文件
dn: dc=mycompany,dc=com dc: mycompany objectClass: top objectClass: domain
2、ldapadd -f base.ldif -x -D cn=admin,dc=mycompany,dc=com -W 输入之前配置OpenLDAP的密码后,即可完成创建LDAP根节点
也可以直接通过base.ldif初始化好整个ldap的结构,例如再加上
dn: ou=Hosts,dc=mycompany,dc=com ou: Hosts objectClass: top objectClass: organizationalUnit
dn: ou=Rpc,dc=mycompany,dc=com ou: Rpc objectClass: top objectClass: organizationalUnit
dn: ou=Services,dc=mycompany,dc=com ou: Services objectClass: top objectClass: organizationalUnit
dn: ou=People,dc=mycompany,dc=com ou: People objectClass: top objectClass: organizationalUnit
dn: ou=Group,dc=mycompany,dc=com ou: Group objectClass: top objectClass: organizationalUnit
dn: ou=Netgroup,dc=mycompany,dc=com ou: Netgroup objectClass: top objectClass: organizationalUnit
dn: ou=Aliases,dc=mycompany,dc=com ou: Aliases objectClass: top objectClass: organizationalUnit
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/146669.html原文链接:https://javaforall.cn