Centos7 OpenLdap安装配置

安装笔记

//安装软件及工具
yum install -y openldap openldap-clients openldap-servers migrationtools
//复制默认数据库设置文件
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
//修改数据库配置文件所属用户
chown ldap. /var/lib/ldap/DB_CONFIG
//启动服务
systemctl start slapd
//开机自启动
systemctl enable slapd
//查看运行及端口占用情况
netstat -tlnp | grep slapd

使用slappasswd 命令生成一个密码
注意保存字符串留待后用。

//生成密码
slappasswd
//生成文件,准备修改管理员密码
touch chrootpw.ldif
//编辑,注意粘入刚刚生成的密码字符串,冒号后有半角空格
vi chrootpw.ldif
//写入文件,注意替换olcRootPW
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}X5xbfE+AXb6P3Z1aDbBnfGFWwc13Hnoa
//导入文件,修改密码
ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif
//注意看提示,正常情况下如下。
SL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry “olcDatabase={0}config,cn=config”

//密码修改结束,导入一些常用的模版,先进入模版所在目录
cd /etc/openldap/schema/
//按需导入,这里不写了
ldapadd -Y EXTERNAL -H ldapi:/// -D “cn=config” -f ppolicy.ldif
…..

//开始生成设置自己的基础DN,也就是专用标识。一般我们使用公司的域名。例如我们公司 xiaowei-group.com 那么就是 dc=xiaowei-group,dc=com
touch chdomain.ldif
vi chdomain.ldif
//文件内容,注意替换域名和管理密码(前边生成的字符串,也可以重新生成,相同密码两次生成看起来不一致 是因为有时间差异,放心使用)
# replace to your own domain name for “dc=***,dc=***” section
# specify the password generated above for “olcRootPW” section
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base=”gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth”
read by dn.base=”cn=Manager,dc=xiaowei-group,dc=com” read by * none

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=xiaowei-group,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=xiaowei-group,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}lBS0AsQ2Bq+9st8hmRMiLLHzgHw4BiKX

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
dn=”cn=Manager,dc=xiaowei-group,dc=com” write by anonymous auth by self write by * none
olcAccess: {1}to dn.base=”” by * read
olcAccess: {2}to * by dn=”cn=Manager,dc=xiaowei-group,dc=com” write by * read

//执行导入
ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif

//开始对基础DN进行基础配置
vim basedomain.ldif

# to your own domain name for “dc=***,dc=***” section
dn: dc=xiaowei-group,dc=com
dc: xiaowei-group
objectClass: top
objectClass: domain

dn: ou=People,dc=xiaowei-group,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit

dn: ou=Group,dc=xiaowei-group,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit

//执行导入,这里要特别注意,倒入时候要把对应的dc=xiaowei-group,dc=com替换成你自己的域名。
ldapadd -x -D cn=Manager,dc=xiaowei-group,dc=com -W -f basedomain.ldif

//输入密码之后 导入成功如下显示
adding new entry “dc=xiaowei-group,dc=com”
adding new entry “ou=People,dc=xiaowei-group,dc=com”
adding new entry “ou=Group,dc=xiaowei-group,dc=com”

//开启并重载防火墙允许访问
firewall-cmd –add-service=ldap –permanent
firewall-cmd –reload

//安装apache 以及phpldapadmin ,注意先安装一个epel-release,否则装不上phpldapadmin
yum -y install epel-release
yum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml
yum -y install phpldapadmin

//编辑配置文件 398行
vim /etc/phpldapadmin/config.php +398
//启用397,注释398,这个意思是使用基础dn 进行登录
$servers->setValue(‘login’,’attr’,’dn’);
//$servers->setValue(‘login’,’attr’,’uid’);

//编辑配置文件,设置可以访问的ip。此处无法省略,不知道咋回事
vim /etc/httpd/conf.d/phpldapadmin.conf

# Apache 2.4
Require local
Require all granted

# Apache 2.2
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1

//启动apache,设置开机启动,防火墙放行
systemctl enable httpd
systemctl start httpd
firewall-cmd –add-service=http –permanent
firewall-cmd –reload

然后使用ip加phpldapadmin 就可以进行web管理了。
这里 有可能selinux会捣乱,我是直接关闭的。 如果你有洁癖。自行解决。

发表回复