版權聲明:本文系做者原創。未經許可,不得轉載。php
一、修改/etc/hosts $ sudo vim /etc/hosts 添加或修改一行 127.0.1.1 hostname.example.com hostname hostname能夠經過運行命令得到。 $ hostname OptiPlex-7010 在安裝ldap時,會讀取這一行,建立默認根結點base dn 爲dc=example,dc=com。 二、安裝ldap-utils slapd $ sudo aptitude install ldap-utils slapd 安裝過程當中設置管理員用戶的密碼,如secret。 安裝完成後,會自動添加管理員帳戶cn=admin, dc=example,dc=com。 三、安裝網頁客戶端phpldapadmin $ sudo aptitude install phpldapadmin 修改apache或nginx的配置文件,添加域名和端口,並使其指向/usr/share/phpldapadmin/。 修改/usr/share/phpldapadmin/config/config.php。 $ sudo vim /usr/share/phpldapadmin/config/config.php 修改其中的兩行: $servers->setValue('server','base',array('dc=example,dc=com'));#LDAP server的Base DNs $servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');#登錄框默認Login DN 在瀏覽器打開上述域名和端口,輸入管理員賬號和密碼,便可使用網頁客戶端登錄ldap數據庫。 四、導入數據 $ sudo ldapadd -H ldap://127.0.0.1 -x -D "cn=admin,dc=example,dc=com" -f export.ldif -w secret export.ldif爲須要導入的數據文件。通常從別的ldap數據庫導出而來。 cn=admin,dc=example,dc=com爲管理員帳戶。 secret爲管理員密碼。 五、查看數據庫 $ sudo slapcat 若是出現下列內容,說明安裝正確。 dn: dc=example,dc=com objectClass: top objectClass: dcObject objectClass: organization o: example.com dc: example structuralObjectClass: organization entryUUID: 67286340-ed5a-1034-8b78-1134e712f9e6 creatorsName: cn=admin,dc=example,dc=com createTimestamp: 20150912052519Z entryCSN: 20150912052519.749367Z#000000#000#000000 modifiersName: cn=admin,dc=example,dc=com modifyTimestamp: 20150912052519Z dn: cn=admin,dc=example,dc=com objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator userPassword:: e1NTSEF9TmxrVkJLZDRkYUp0cU9NMEZhMlZPVktQZnVUeVIvakE= structuralObjectClass: organizationalRole entryUUID: 67407200-ed5a-1034-8b79-1134e712f9e6 creatorsName: cn=admin,dc=example,dc=com createTimestamp: 20150912052519Z entryCSN: 20150912052519.907027Z#000000#000#000000 modifiersName: cn=admin,dc=example,dc=com modifyTimestamp: 20150912052519Z 六、常見錯誤 在查看數據時,若是出現下列內容,則說明安裝錯誤。 $ sudo slapcat dn: dc=nodomain objectClass: top objectClass: dcObject objectClass: organization o: nodomain dc: nodomain structuralObjectClass: organization entryUUID: 67dfd1e2-ed50-1034-9d21-2f5306a7bcff creatorsName: cn=admin,dc=nodomain createTimestamp: 20150912041345Z entryCSN: 20150912041345.984216Z#000000#000#000000 modifiersName: cn=admin,dc=nodomain modifyTimestamp: 20150912041345Z dn: cn=admin,dc=nodomain objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator userPassword:: e1NTSEF9ZkNYVEx6OVdFMjIxWkVZSTJBOTF0dHRwZHlyd3BnRHE= structuralObjectClass: organizationalRole entryUUID: 67f0d8a2-ed50-1034-9d22-2f5306a7bcff creatorsName: cn=admin,dc=nodomain createTimestamp: 20150912041346Z entryCSN: 20150912041346.095792Z#000000#000#000000 modifiersName: cn=admin,dc=nodomain modifyTimestamp: 20150912041346Z $ ldapsearch -x -LLL -H ldap:/// -b dc=nodomain dn dn: dc=nodomain dn: cn=admin,dc=nodomain 在導入數據時,若是出現以下內容,則說明安裝錯誤。 $ sudo ldapadd -H ldap://127.0.0.1 -x -D "cn=admin,dc=nodomain" -f export.ldif -w secret ldap_add: Server is unwilling to perform (53) additional info: no global superior knowledge 緣由是安裝以前沒有在/etc/hosts中添加網址。 此時,能夠刪除ldap-utils slapd,並從新安裝。 $ sudo aptitude purge ldap-utils slapd 也能夠從新配置。 $ sudo dpkg-reconfigure slapd 七、參看文檔 https://help.ubuntu.com/12.04/serverguide/openldap-server.html