在CentOS 7上搭建LDAP服务器是一个涉及多个步骤的过程,包括安装必要的软件包、配置LDAP服务、设置管理员密码、导入Schema模板以及启动并测试服务,以下是详细的步骤和说明:
一、环境准备
1、关闭SELinux和防火墙:
SELinux可能会干扰LDAP服务的正常运行,因此建议在搭建过程中临时关闭它。
CentOS 7使用firewalld作为默认的防火墙管理工具,也需要将其关闭或配置放行规则。
setenforce 0 systemctl stop firewalld.service systemctl disable firewalld.service
2、安装LDAP服务器和客户端:
使用yum包管理器安装openldap-servers和openldap-clients包。
yum install -y openldap-servers openldap-clients
二、配置LDAP服务
1、设置管理员密码:
使用slappasswd
命令设置LDAP管理员密码,并记录下加密后的密码字符串。
slappasswd
示例输出(加密后的密码需妥善保存):
New password: 123456 Re-enter new password: 123456 {SSHA}LSgYPTUW4zjGtIVtuZ8cRUqqFRv1tWpE
2、修改LDAP配置文件:
编辑LDAP的主配置文件/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
,设置olcSuffix
(基准DN)、olcRootDN
(管理员DN)和olcRootPW
(管理员密码)。
vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
添加或修改以下内容:
olcSuffix: dc=ricman,dc=localhost olcRootDN: cn=Manager,dc=ricman,dc=localhost olcRootPW: {SSHA}KUYZ4irDCPN8seoOg1zNNVzh70jVr1c8
3、更改监控认证配置:
编辑监控数据库的配置文件/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
,设置访问控制列表(ACL)。
vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
修改或添加以下内容:
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=ricman,dc=localhost" read by * none
4、设置DB Cache:
复制DB缓存配置文件并赋予正确的权限。
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap:ldap /var/lib/ldap/DB_CONFIG
三、启动并测试LDAP服务
1、测试配置文件:
使用slaptest
命令测试LDAP配置文件的正确性。
slaptest -u
如果显示“config file testing succeeded”,则表示配置文件正确。
2、启动LDAP服务并设置为开机自启:
systemctl start slapd.service systemctl enable slapd.service
3、导入Schema模板:
将LDAP的Schema模板文件导入到数据库中。
ls /etc/openldap/schema/*.ldif | xargs -I {} ldapadd -Y EXTERNAL -H ldapi:/// -f {}
四、安装Web管理界面(可选)
为了方便管理LDAP服务器,可以安装phpldapadmin作为Web管理界面。
1、安装httpd服务:
如果尚未安装,请先安装Apache HTTP服务器。
yum install -y httpd
2、安装phpldapadmin:
使用yum安装phpldapadmin。
yum install -y phpldapadmin
3、配置phpldapadmin:
编辑phpldapadmin的配置文件/etc/phpldapadmin/config.php
,取消相关注释并设置服务器信息。
vim /etc/phpldapadmin/config.php
取消以下几行的注释并设置相应值:
$servers->setValue('server','host','127.0.0.1'); $servers->setValue('server','port',389); $servers->setValue('login','attr','dn');
4、允许任意IP访问:
编辑Apache的配置文件以允许任意IP访问phpldapadmin。
vim /etc/httpd/conf.d/phpldapadmin.conf
取消以下行的注释:
Order Deny,Allow Allow from all
5、启动httpd服务并设置为开机自启:
systemctl start httpd.service systemctl enable httpd.service
五、常见问题与解答(FAQs)
Q1: 如何更改LDAP服务器的监听地址?
A1: 编辑/etc/sysconfig/named
文件(对于BIND DNS服务器)或相应的DNS服务器配置文件,将LISTEN
指令中的地址更改为所需的IP地址,然后重启DNS服务以应用更改。
Q2: LDAP服务无法启动,提示“slapd failed!”怎么办?
A2: 首先检查LDAP配置文件是否有语法错误,可以使用slaptest -u
命令进行测试,如果配置文件无误,检查日志文件/var/log/messages
或/var/log/secure
以获取更多错误信息,确保所有必要的依赖包都已安装,并且没有端口冲突,如果问题依旧存在,可以尝试重启系统或重新安装LDAP服务。
各位小伙伴们,我刚刚为大家分享了有关“centos 7 ldap服务器搭建”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!