一, 環境準備
禁用selinux和firewalld,清空iptables的表規則
vim /etc/selinux/config[重啓機器生效]
SELINUX=disabled
systemctl stop firewalld
systemctl disable firewalld
iptables -t nat -F
iptables -t raw -F
二, OPENLDAP服務搭建
1. 安裝LDAP服務器和客戶端,migrationtools工具包
yum -y install openldap-servers openldap-clients migrationtools
2. 設置openldap管理員密碼
slappasswd
New password: 123456
Re-enter new password: 123456
{SSHA}dWs/r86xghmaFKORVMOwpBc45uAGCMTn
3. 更改openldap配置[修改指定行]
vim /etc/openldap/slapd.d/cn\=config\/olcDatabase\={2}hdb.ldif
olcSuffix: dc=ktz,dc=com
olcRootDN: cn=Manager,dc=ktz,dc=com
# 結尾追加,後面爲上一步生成的SSHA信息
olcRootPW: {SSHA}dWs/r86xghmaFKORVMOwpBc45uAGCMTn
4. 更改監控認證配置
vim /etc/openldap/slapd.d/cn\=config\/olcDatabase\={1}monitor.ldif
# dn.base後修改成自己的內容cn=管理員名稱,dc=域,dc=域後綴
# cn=Manager,dc=ktz,dc=com 這個整體組成用戶名,用於後面登錄phpldapadmin頁面管理
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al,cn=auth" read by dn.base="cn=Manager,dc=ktz,dc=com" read by * none
5. 設置DB Cache
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CON
chown -R ldap:ldap /var/lib/ldap/
6. 測試配置文件
slaptest -u
configfile testing successed : 代表成功
7. 啓動OpenLDAP和開機啓動
systemctl start slapd.service
systemctl enable slapd.service
8. 導入模板
ls /etc/openldap/schema/*.ldif | xargs -I {} sudo ldapadd -Y EXTERNAL -H ldapi:/// -f {}
三, 安裝Web管理服務
1. 安裝httpd服務器
yum -y install httpd [Apache 2.4]
2. 修改配置文件httpd.conf
vim /etc/httpd/conf/httpd.conf
AllowOverride all # 可批量替換
Require all granted
3. 啓動服務,測試頁面
systemctl start httpd
systemctl enabled httpd
curl 127.0.0.1
4. 安裝phpldapadmin
# 添加yum源,一般源中無phpldapadmin包
yum localinstall http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum -y install phpldapadmin
5. 修改配置文件
vim /etc/phpldapadmin/config.php
# 可以先備份一份,然後修改,此處已去除無效字符域註釋等
<?php
$config->custom->session['blowfish'] = '960d5130cb114aeb52838a4a77046e0e'; # Autogenerated for dnsserver
$config->custom->appearance['friendly_attrs'] = array(
'facsimileTelephoneNumber' => 'Fax',
'gid' => 'Group',
'mail' => 'Email',
'telephoneNumber' => 'Telephone',
'uid' => 'User Name',
'userPassword' => 'Password'
);
$servers = new Datastore();
$servers->newServer('ldap_pla');
$servers->setValue('server','name','Local LDAP Server');
$servers->setValue('server','host','192.168.89.128'); # 主機地址
$servers->setValue('server','port',389);
$servers->setValue('server','base',array('dc=ktz,dc=com')); # 自己的域
$servers->setValue('login','auth_type','session');
$servers->setValue('appearance','password_hash','');
$servers->setValue('login','attr','dn');
?>
6. 修改訪問配置文件,允許任意ip訪問
vim /etc/httpd/conf.d/phpldapadmin.conf
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 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 192.168.0.0/16
</IfModule>
</Directory>
7. 創建基礎目錄
在/etc/openldap目錄下添加base.ldif文件
vim /etc/openldap/base.ldif
dn: dc=ktz,dc=com
o: ldap
objectclass: dcObject
objectclass: organization
8. 重啓httpd服務
systemctl restart httpd
9. 訪問web管理端
http://192.168.89.128/phpldapadmin/
點擊登錄[管理員]
用戶名: cn=Manager,dc=ktz,dc=com
密 碼: 123456
四, web端創建組和用戶
1. 創建組
2. 在組中添加用戶
3. 使用添加的用戶登錄測試
登錄成功,驗證完成