sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
yum -y install openldap compat-openldap openldap-clients \
openldap-servers openldap-servers-sql openldap-devel migrationtools
查看版本OpenLdap版本
slapd -VV
配置管理员密码,将密码设置为Admin258258,执行加密后将密码保存下来,放在配置文件olcDatabase={2}hdb.ldif的olcRootPW值中(该值需要添加),修改对应的olcSuffix、olcRootDN。
slappasswd -s Admin258258
vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
修改olcDatabase={1}monitor.ldif文件中的olcAccess值
vi "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
slaptest -u
checksum error可忽略
systemctl enable slapd
systemctl start slapd
systemctl status slapd
查看监听端口
netstat -anpl|grep 389
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap -R /var/lib/ldap
chmod 700 -R /var/lib/ldap
ll /var/lib/ldap/
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
vim base.ldif
添加如下内容后导入
dn: dc=HADOOP,dc=NBGTEST,dc=LOCAL
o: HADOOP NBGTEST LOCAL
dc: HADOOP
objectClass: top
objectClass: dcObject
objectclass: organization
dn: cn=Manager,dc=HADOOP,dc=NBGTEST,dc=LOCAL
cn: Manager
objectClass: organizationalRole
description: Directory Manager
dn: ou=People,dc=HADOOP,dc=NBGTEST,dc=LOCAL
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=HADOOP,dc=NBGTEST,dc=LOCAL
ou: Group
objectClass: top
objectClass: organizationalUnit
ldapadd -x -w "Admin258258" -D "cn=Manager,dc=HADOOP,dc=NBGTEST,dc=LOCAL" -f /etc/openldap/base.ldif
默认情况下OpenLDAP是没有启用日志记录功能的,但是在实际使用过程中,我们为了定位问题需要使用到OpenLDAP日志。
新建日志配置ldif文件loglevel.ldif,如下:
vim loglevel.ldif
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: -1
导入到OpenLDAP中,如下:
ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/loglevel.ldif
重启OpenLDAP服务
systemctl restart slapd
修改rsyslog配置文件/etc/rsyslog.conf,末尾添加
local4.* /var/log/slapd.log
重启rsyslog服务
systemctl restart rsyslog
yum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml
yum -y install epel-release
yum --enablerepo=epel -y install phpldapadmin
修改配置文件
vim /etc/phpldapadmin/config.php
#397行取消注释,398行添加注释
$servers->setValue('login','attr','dn');
// $servers->setValue('login','attr','uid');
vi /etc/httpd/conf.d/phpldapadmin.conf
#
# Web-based tool for managing LDAP servers
#
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs
<Directory /usr/share/phpldapadmin/htdocs>
<IfModule mod_authz_core.c>
# Apache 2.4
#Require local
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
设置开机自启并启动httpd,如果之前有启动过,进行restart重启。
systemctl enable httpd
systemctl start httpd
登录web页面
账号:cn=Manager,dc=HADOOP,dc=NBGTEST,dc=LOCAL
密码:Admin258258