ldap和phpldapadmin的安裝部署


LDAP 安裝

一、安裝LDAP

1. 安裝包

yum install openssl-devel gcc libtool-ltdl-devel -y
yum install openldap-servers openldap-clients -y

[root@master ldap]# id ldap   # 默認安裝完成后默認創建
uid=55(ldap) gid=55(ldap) 組=55(ldap)

2.拷貝數據庫配置文件

 cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
 chown ldap:ldap /var/lib/ldap/DB_CONFIG
 [root@master ldap]# cat  /var/lib/ldap/DB_CONFIG |grep -v "^#"|grep -v "^$"
  set_cachesize 0 268435456 1
  set_lg_regionmax 262144
  set_lg_bsize 2097152

3. 啟動OpenLDAP Server

[root@master ldap]# service slapd start
正在啟動 slapd:                                           [確定]

4. 查看監聽端口

[root@master ldap_ldif]# ss -ntl|grep 389
LISTEN     0      128                      :::389                     :::*
LISTEN     0      128                       *:389                      *:*

二、設置ldap管理員(root)密碼

1.生成一個LDAP管理用戶root密碼

[root@master ldap_ldif]# slappasswd
New password:       # 我這里輸入的是 123456
Re-enter new password:
{SSHA}mqDbkQdCLjLLai6jkXiuS3IFjoV0q7XQ  # 這個字符串就是根據你輸入的密碼得到的,一會我們會用到他。

2.自定義LDAP配置屬性

[root@master ldap_ldif]# cat password.ldif
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}51JBhgYyPdBnAy8/UbVwMtWzPR4hz/R8

以上配置文件關鍵參數說明:
    ldif即LDAP Data Interchange Format,是LDAP中數據交換的一種文件格式。文件內容采用的是key-value形式,注意value后面不能有空格。
    上面內容中dn即distingush name
    olc即Online Configuration  表示寫入LDAP后不需要重啟即可生效
    changetype: modify  表示修改一個entry,changetype的值可以是add,delete, modify等。
    add: olcRootPW  表示對這個entry新增了一個olcRootPW的屬性
    olcRootPW: {SSHA}51JBhgYyPdBnAy8/UbVwMtWzPR4hz/R8 指定了屬性值

3.初始化LDAP配置

#使用 ldapadd 命令講我們上一步自定義的文件屬性寫入LADP中
[root@master ldap_ldif]# ldapadd -Y EXTERNAL -H ldapi:/// -f password.ldif
SASL/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"

4.導入schema

將全部的schema都導入到ldap中
ls /etc/openldap/schema/*.ldif | while read f; do ldapadd -Y EXTERNAL -H ldapi:/// -f $f; done

三.設定默認域

1. 先使用slappasswd生成一個密碼

我這里輸入的是 123456  這個密碼用來作為管理員密碼,可以與上面的密碼不一致
[root@master ldap_ldif]# slappasswd
New password:
Re-enter new password:
{SSHA}mqDbkQdCLjLLai6jkXiuS3IFjoV0q7XQ 

2.自定義LDAP配置屬性

[root@master ldap_ldif]# cat domain.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=Manager,dc=suixingpay,dc=com" read by * none

dn: olcDatabase={2}bdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=suixingpay,dc=com

dn: olcDatabase={2}bdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=suixingpay,dc=com


dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}51JBhgYyPdBnAy8/UbVwMtWzPR4hz/R8


dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
  dn="cn=Manager,dc=suixingpay,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=suixingpay,dc=com" write by * read

3.使用咱們上一步自定義的ldif配置文件,寫入ldap服務器

[root@master ldap_ldif]# ldapmodify -Y EXTERNAL -H ldapi:/// -f domain.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}monitor,cn=config"

modifying entry "olcDatabase={2}bdb,cn=config"

modifying entry "olcDatabase={2}bdb,cn=config"

modifying entry "olcDatabase={2}bdb,cn=config"
ldap_modify: Inappropriate matching (18)
  additional info: modify/add: olcRootPW: no equality matching rule

四、添加基本目錄

1.自定義LDAP配置屬性

[root@master ldap_ldif]# cat basedomain.ldif
dn: dc=suixingpay,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: suixingpay com
dc: suixingpay

dn: cn=Manager,dc=suixingpay,dc=com
objectClass: organizationalRole
cn: Manager
description: Directory Manager

dn: ou=People,dc=suixingpay,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=Group,dc=suixingpay,dc=com
objectClass: organizationalUnit
ou: Group

2.使用咱們上一步自定義的ldif配置文件,寫入ldap服務器

這個位置輸入的密碼為 三、設定默認域 中設置的密碼
[root@master ldap_ldif]# ldapadd -x -D cn=Manager,dc=suixingpay,dc=com  -W -f basedomain.ldif
Enter LDAP Password:
adding new entry "dc=suixingpay,dc=com"

3.測試是否成功

[root@master ldap_ldif]#  ldapsearch -LLL -W -x -D "cn=Manager,dc=suixingpay,dc=com" -H ldap://localhost -b  "dc=suixingpay,dc=com"
Enter LDAP Password:
dn: dc=suixingpay,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: suixingpay com
dc: suixingpay

phpLDAPadmin

1. 安裝依賴包

yum install httpd php php-bcmath php-gd php-mbstring php-xml php-ldap -y
yum install phpldapadmin -y

2. 設置httpd配置

yum 安裝完phpldapadmin 后會默認在 /etc/httpd/conf.d 加入
[root@master conf.d]# cat 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 local
  </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>

3. 設置phpldapadmin

[root@master config]# pwd
/usr/share/phpldapadmin/config
[root@master config]# cat config.php
<?php
$servers = new Datastore();
$servers->newServer('ldap_pla');
$servers->setValue('server','name','LDAP Server');
$servers->setValue('server','host','127.0.0.1');
$servers->setValue('server','port',389);
$servers->setValue('server','base',array('dc=suixingpay,dc=com'));
$servers->setValue('login','auth_type','cookie');
$servers->setValue('login','bind_id','cn=Manager,dc=suixingpay,dc=com');
$servers->setValue('login','bind_pass','123456');
$servers->setValue('server','tls',false);
?>

4. 啟動httpd

service httpd start

5.測試

訪問地址: http://192.168.13.133:8080/phpldapadmin


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM