(一)环境信息
1,系统环境
项目 | Value |
---|---|
OS | centos |
CPU,MEM | 1核1G |
DISK | 40G |
2,域信息(本章节使用)
注意:以下内容均自定义。
项目 | Value |
---|---|
DN | cn=admin,dc=test,dc=cn |
CN | admin |
DC | test |
DC | cn |
(二)应用部署
1,ladp部署
1、 yum方式安装OpenLDAP服务
yum -y install openldap-servers openldap-clients
2、拷贝数据库配置配置文件,并启动服务
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
3、slappasswd生成OpenLDAP管理员密码
注意:OpenLDAP管理员密码,记录下来(后边有个管理员密码,两者的区别个人并没有没有去了解)
slappasswd
vim chrootpw.ldif
dn: olcDatabase={
0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {
SSHA}+YIJ4gVMNx+8OlYYYbjFtCvTZTfzisjO
ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif
4、导入基本的模式
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
5、在OpenLDAP DB上配置域信息
注意:版本不同会遇到数据文件名的数字不是2的
使用slappasswd 生成管理员的密码(上文提到的管理员密码,大概是域的账户密码,个人理解)
slappasswd
vim chdomain.ldif
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=admin,dc=test,dc=cn" read by * none
dn: olcDatabase={
2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=test,dc=cn
dn: olcDatabase={
2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=admin,dc=test,dc=cn
dn: olcDatabase={
2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {
SSHA}IMDL0ohcloXXLulIlGDhub62cvtwwzWw
dn: olcDatabase={
2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {
0}to attrs=userPassword,shadowLastChange by
dn="cn=admin,dc=test,dc=cn" write by anonymous auth by self write by * none
olcAccess: {
1}to dn.base="" by * read
olcAccess: {
2}to * by dn="cn=admin,dc=test,dc=cn" write by * read
ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif
注意:创建初始目录结构(个人理解),这个需要命令行创建
vim basedomain.ldif
dn: dc=test,dc=cn
objectClass: top
objectClass: dcObject
objectclass: organization
o: Test Cloud
dc: test
dn: cn=admin,dc=test,dc=cn
objectClass: organizationalRole
cn: admin
description: Directory Manager
dn: ou=People,dc=test,dc=cn
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=test,dc=cn
objectClass: organizationalUnit
ou: Group
ldapadd -x -D cn=admin,dc=test,dc=cn -W -f basedomain.ldif
注意:输入Manager的密码(上文提到的第二个)
2,安装phpLDAPadmin实现通过Web管理LDAP服务
1,部署httpd
yum install -y httpd
mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf_bak
vim /etc/httpd/conf/httpd.conf
#95行下面加一行(95gg),指定地址(域名/ip)及端口
95 #ServerName www.example.com:80
96 ServerName www.walkingcloud.cn
#在151行处改为
AllowOverride All
#164行处改为
DirectoryIndex index.html index.php index.cgi
#在最下面添加如下两行
ServerTokens Prod
KeepAlive On
systemctl start httpd
systemctl enable httpd.service
2,部署php应用
yum install php php-mbstring php-pear
systemctl restart httpd
3,部署phpldapadmin(LDAP的web管理平台)
yum --enablerepo=epel -y install phpldapadmin
vim /etc/phpldapadmin/config.php
注意:397行取消注释,398行注释掉