介紹 :
OpenLDAP 是輕型目錄協議類似微軟 Active Directory(Lightweight Directory
Access Protocol,LDAP)
phpLDAPadmin 是通過網頁管理LDAP工具
Apache2 是網頁伺服器軟件
安裝 :
sudo apt-get install slapd ldap-utils apache2 phpldapadmin
(3) 設定OpenLDAP
新增預設資料庫 -》sudo dpkg-reconfigure slapd
第一個畫面 -》No
輸入區名
輸入機構名稱
輸入OpenLDAP管理員密碼
確認一次密碼
選擇HDB資料庫類型
回答是否清楚舊資料庫 -》選 No
是否把舊的資料庫先移走才新增新資料庫 -》選 Yes
是否使用第二代版本 - 》選 No
增加資料庫檔
第一個畫面 -》No
輸入區名
輸入機構名稱
輸入OpenLDAP管理員密碼
確認一次密碼
選擇HDB資料庫類型
是否把舊的資料庫先移走才新增新資料庫 -》選 Yes
是否使用第二代版本 - 》選 No
增加資料庫檔
# 新增資料庫檔
sudo touch /etc/ldap/slapd.conf
# 備份舊的資料庫檔案
sudo mv /etc/ldap/slapd.d /etc/ldap/slap.d.bak -f
# 設定資料庫檔案
sudo
vim /etc/ldap/slapd.conf
#複製以下內容到資料庫檔
##########
# Basics #
##########
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/nis.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel none
modulepath /usr/lib/ldap
# modulepath /usr/local/libexec/openldap
moduleload back_hdb
##########################
# Database Configuration #
##########################
database hdb
# 改紅色字爲自己要的區名
suffix "dc=example,dc=com"
rootdn "cn=admin,dc=example,dc=com"
# 設定密碼
rootpw 密碼
directory /var/lib/ldap
# directory /usr/local/var/openldap-data
index objectClass,cn eq
########
# ACLs #
########
access to attrs=userPassword
by anonymous auth
by self write
by * none
access to *
by self write
by * none
(4) 設定phpLDAPadmin設定檔
sudo vim /etc/phpldapadmin/config.php
找到以下內容修改
# 改紅色字爲自己要的
$servers->setValue('server','base',array('dc=example,dc=com')); #line 300
$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com'); #line 326
(5) 除錯不能新增帳號
sudo sed -i -e 's/password_hash/password_hash_custom/g' /usr/share/phpldapadmin/lib/TemplateRender.php
sudo sh -c 'echo "RedirectMatch ^/$ /phpldapadmin/" >> /etc/apache2/apache2.conf'
sudo service apache2 restart
sudo sed -i -e 's/password_hash/password_hash_custom/g' /usr/share/phpldapadmin/lib/TemplateRender.php
sudo sh -c 'echo "RedirectMatch ^/$ /phpldapadmin/" >> /etc/apache2/apache2.conf'
sudo service apache2 restart
(6) 建立根目錄
# 增加 root-utils.ldif檔案
sudo vim root-utils.ldif
# 改紅色字爲自己要的
#Company User
dn: ou=Company,dc=example,dc=com
ou: Company
objectClass: organizationalUnit
#Group
dn: cn=Group,ou=Company,dc=example,dc=com
objectClass: posixGroup
objectClass: top
cn: Group
gidNumber: 1000
(7) 建立使用者
# 增加 users.ldif檔案
sudo vim users.ldif
# 改紅色字爲自己要的
#User 1
dn: cn=User1,ou=Company,dc=example,dc=com
objectClass: top
objectClass: inetorgperson
uid: user1
cn: User 1
sn: User 1
# 使用sldappasswd工具生行密碼
userPassword: {MD5}**********
(8) 把ldif檔案倒入資料庫
sudo ldapadd -x -D “cn=admin,dc=example,dc=com”-W -f root-utils.ldif -h ldap伺服器IP
您好,我在執行最後一個階段的設定遇到下方顯示的問題,不知道您是否能夠指導下,謝謝.
回覆刪除user@user-virtual-machine:~$ sudo ldapadd -x -D “cn=admin,dc=example,dc=com”-W -f root-utils.ldif -h ldap 172.16.14.200
Add or modify entries from an LDAP server
usage: ldapadd [options]
The list of desired operations are read from stdin or from the file
specified by "-f file".
Add or modify options:
sudo ldapadd -x -D “cn=admin,dc=example,dc=com”-W -f root-utils.ldif -h ldap 172.16.14.200
刪除在 172.16.14.200 前面多了 ldap 這個字
你好大大,我想請問一下,我按照你的方式做完,卻得到ldap_add: No such object (32)等其他問題,但我看你的影片,也出現相關的信息在影片最後的時候下這一段sudo ldapadd -x -D “cn=admin,dc=example,dc=com”-W -f root-utils.ldif -h
回覆刪除請大大幫忙我,謝謝
root-utils.ldif 這個檔案內容有貼對嗎?
刪除跟王大有一樣的問題>_<
回覆刪除root@test-VirtualBox:~# cat root-utils.ldif
#Company User
dn: ou=Company,dc=abctest,dc=com
ou: Company
objectClass: organizationalUnit
#Group
dn: cn=Group,ou=Company,dc=abctest,dc=com
objectClass: posixGroup
objectClass: top
cn: Group
gidNumber: 1000
root@test-VirtualBox:~# ldapadd -x -D cn=admin,dc=abctest,dc=com -W -f root-utils.ldif -h 172.20.1.32
Enter LDAP Password:
adding new entry "ou=Company,dc=abctest,dc=com"
ldap_add: No such object (32)