最近一直在看LDAP的東西,把自己的記錄下來,以后可以看看。
1:環境
1):關閉防火牆
service iptables stop
2):setenforce 0
vim /etc/sysconfig/selinux 修改成SELINUX=disabled
2:安裝,yum源安裝
yum install -y openldap-clients.x86_64
yum -y install openldap-servers.x86_64
3:添加ldap用戶
groupadd ldap
useradd -g ldap ldap
passwd ldap
4:初始化OpenLDAP配置
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
5:slappasswd創建一個密碼,先記着,后面要用
6:修改slapd.conf文件,下面的rootpw就是第5步生成的密碼,
rootpw必須頂格寫,與后面的密碼用Tab鍵分開

7:生成配置數據(若重新修改了配置文件,從這一步開始得重新生成數據)先查看一下:
[root@yunovo openldap]# cat /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif # AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. # CRC32 408c80ce dn: olcDatabase={2}bdb objectClass: olcDatabaseConfig objectClass: olcBdbConfig olcDatabase: {2}bdb olcSuffix: dc=example,dc=com olcAddContentAcl: FALSE olcLastMod: TRUE olcMaxDerefDepth: 15 olcReadOnly: FALSE olcRootDN: cn=Manager,dc=example,dc=com
刪除這些數據:
rm -rf /etc/openldap/slapd.d/*
重新生成新的配置數據:
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
config file testing succeeded
然后,查看重新生成的數據是否匹配:
cat /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif
授權:
chown -R ldap.ldap slapd.d/
8:啟動服務:
/etc/init.d/slapd restart
9:執行到這一步,必須添加Manager的數據后,才能通過phpldapAdmin登錄
導入數據:
vim root.ldif dn: dc=example,dc=com objectclass: dcObject objectclass: organization o: Example,Inc. dc: example dn: cn=Manager,dc=example,dc=com objectclass: organizationalRole cn: Manager
用ldapadd命令導入
ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f example.ldif Enter LDAP Password: 輸入slappasswd時候設置的密碼 adding new entry "dc=example,dc=com" adding new entry "cn=Manager,dc=example,dc=com"
二:phpldapAdmin的搭建
1):安裝EPEL倉庫
5):重啟httpd服務
rpm -ivh http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
2):yum安裝phpldapAdmin
yum install -y phpldapadmin
3):修改phpldapAdmin配置文件
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs Alias /ldapadmin /usr/share/phpldapadmin/htdocs <Directory /usr/share/phpldapadmin/htdocs> Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from ::1 Allow from 10.0.0.170 10.0.0.126 允許哪些IP地址訪問phpldapadmin </Directory>
4):修改php配置文件
$servers->setValue('login','attr','dn'); 把這一行的注釋去掉 // $servers->setValue('login','attr','uid');