CentOS7 部署LDAP伺服器
一、環境準備
關閉 selinux firewalld
setenforce 0
systemctl stop firewalld.service
systemctl disable firewalld.service
二、OPENLDAP服務搭建
1、安裝LDAP伺服器和客戶端,migrationtools工具包
yum install -y openldap-servers openldap-clients migrationtools
2、設定openldap管理員密碼
slappasswd
然後根據提示輸入密碼:
New password: 123456
Re-enter new password: 123456會返回加密的密碼字串,儲存好這個字串
{SSHA}f13zZnx/b4LQ/ErM+Rf9VSVEJqIE7yHM
3、更改openldap配置
檢視安裝了哪些檔案(如果熟悉目錄結構可以略過)
rpm -ql openldap
rpm -ql openldap-servers
修改配置
vim /etc/openldap/slapd.d/cn\=config\/olcDatabase\={2}hdb.ldif
找到olcSuffix,修改為你的dc,如:
dc=mypaas,dc=com下一行olcRootDN, 修改為你的使用者名稱,如:
cn=Manager,dc=mypaas,dc=com在檔案末尾新增一行,設定剛才的密碼:
olcRootPW: {SSHA}f13zZnx/b4LQ/ErM+Rf9VSVEJqIE7yHM
4、更改監控認證配置
vim /etc/openldap/slapd.d/cn\=config\/olcDatabase\={1}monitor.ldif
修改 olcAccess 中的dn.base=”cn=xxxxxxx”這行為剛才設定的使用者名稱,如:
dn.base=”cn=Manager,dc=mypaas,dc=com”
5、設定DB Cache
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
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 install httpd -y
2、修改配置檔案httpd.conf
vim /etc/httpd/conf/httpd.conf
找到AllowOverride一行,修改none為all
如果想修改埠號,修改Listen 80一行
3、啟動服務,測試頁面
systemctl start httpd.service
systemctl enable httpd.service
4、安裝phpldapadmin
5、修改配置檔案
vim /etc/phpldapadmin/config.php
找到並取消下面幾行的註釋:
$servers->setValue(‘server’,’host’,’127.0.0.1’);$servers->setValue(‘server’,’port’,389);
$servers->setValue(‘server’,’base’,array(‘dc=mypaas,dc=com’));
(array里加上openldap配置檔案中設定的olcSuffix)$servers->setValue(‘login’,’auth_type’,’session’);
$servers->setValue(‘login’,’attr’,’dn’);
把它的下一行註釋掉#$servers->setValue(‘login’,’attr’,’uid’);
6、修改訪問配置檔案,允許任意ip訪問
vim /etc/httpd/conf.d/phpldapadmin.conf
取消Order Deny,Allow的註釋
7、建立基礎目錄
在/etc/openldap目錄下新增base.ldif檔案
cd /etc/openldap/
vim base.ldif
在檔案中新增以下內容
dn: dc=mypaas,dc=com
o: ldap
objectclass: dcObject
objectclass: organization
dc: mypaas
(dc 修改為你自己的內容)
8、重啟httpd服務
systemctl restart httpd.service
9、訪問web管理端
訪問 http://ip/phpldapadmin
登陸使用者名稱:cn=Manager,dc=mypaas,dc=com
四、常見問題
1、httpd 無法啟動
先用systemctl status httpd 檢視一下日誌
1、提示埠號是否衝突,修改httpd.conf埠號
2、提示沒有許可權:檢查selinux,防火牆是否關閉或者正確配置防火牆
2、phpldapadmin 使用者名稱密碼提示錯誤
檢查/etc/phpldapadmin/config.php 中的引數是否正確配置
3、phpldapadmin建立子條目時,模板不能選中
未匯入openldap的schema檔案,執行下[1.8節]的命令試試