Step.1 安裝openldap元件
yum install -y openldap-devel openldap-servers openldap openldap-clients
Step.2 設定ldap的密碼
slappasswd
New password: ******
Re-enter new password:******
{SSHA}9ohxE5u1pa1pHHQXWlYfIeg8bXOuuF1e
會產出一行SSHA copy起來 等等會需要
Step.3 設定檔拷貝
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
Step.4 ldap 主要設定檔設定 (slapd.conf)
vi /etc/openldap/slapd.conf
#######################################################################
# database definitions
#######################################################################
database bdb
#suffix "dc=my-domain,dc=com"
suffix "dc=ldap-test,dc=com,dc=tw"
checkpoint 1024 15
#rootdn "cn=Manager,dc=my-domain,dc=com"
rootdn "cn=Manager,dc=ldap-test,dc=com,dc=tw"
# Cleartext passwords, especially for the rootdn, should
# be avoided. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
# rootpw secret
# rootpw {crypt}ijFYNcSNctBYg
rootpw {SSHA}9ohxE5u1pa1pHHQXWlYfIeg8bXOuuF1e
-------------------------------------------------------------------------
# Replicas of this database
#replogfile /var/lib/ldap/openldap-master-replog
#replica host=ldap-1.example.com:389 starttls=critical
# bindmethod=sasl saslmech=GSSAPI
# authcId=host/ldap-master.example.com@EXAMPLE.COM
access to attrs=userPassword
by self write
by anonymous auth
by * none
access to * by * read
Step.5 改目錄權限
chown ldap:ldap -R /var/lib/ldap/
增加log紀錄
vi /etc/rsyslog.conf
最末端加上下述,位置可改變
local4.* /var/log/slapd/ldap.log
重啟rsyslog 服務
/etc/init.d/rsyslog restart
Step.6 建立Ldap 檔案
mkdir /etc/openldap/ldif
chown ldap:ldap -R /etc/openldap/ldif
編寫 ldap 根路徑的定義 (xxxx.ldif 名稱非絕對)
vi /etc/openldap/data/xxxxxx.ldif
我自己是有現成的檔案,所以不po了
想看範例檔,可參照 http://blog.xuite.net/tolarku/blog/161523701
刪除舊資料並將剛剛的******.ldif加入到LDAP的資料庫內
rm -rf /etc/openldap/slapd.d/*
slapadd -v -l /etc/openldap/ldif/******.ldif
會出現類似底下這樣的訊息,代表加入了 ******.ldif
The first database does not allow slapadd; using the first available one (2)
added: "dc=ldap-test,dc=com,dc=tw" (00000001)
added:
added:
added:.....
_#################### 100.00% eta none elapsed none fast!
Closing DB...
再做測試
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
Step.7 啟動slapd
chown -R ldap:ldap /etc/openldap/slapd.d
service slapd restart
chkconfig slapd on
最後查詢一下 看有沒查詢到資料
ldapsearch -x -b "dc=ldap-test,dc=com,dc=tw"
**重點 **
如果上述的步驟亂了,或是要重新匯入 / 重新設計 ******.ldif (例如測試LDAP成功了,想改用自己單位的資料時)請記得清除舊有全部資料,你可以參考底下的步驟進行
sudo service slapd stop
sudo rm -rf /var/lib/ldap/*
sudo cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
sudo rm -rf /etc/openldap/slapd.d/*
sudo slapadd -v -l /etc/openldap/data/root.ldif
sudo slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
sudo chown -R ldap:ldap /etc/openldap/slapd.d
sudo chown -R ldap:ldap /var/lib/ldap
sudo service slapd start
提示:做 LDAP 變更的時候,slapd 是不能在執行中的,你必須先將這個服務停止,如第一行的 sudo service slapd stop ,這樣修改才會不導致錯誤。
再來你就可以使用 users.ldif 建立人員名冊,將使用者資料寫在 user.ldif 然後利用 ldapmodify 這個指令將其加入
sudo ldapmodify -D "cn=Manager,dc=nthu,dc=org,dc=com" -w LDAP的管理密碼 -x -a -f /etc/openldap/ldif/users.ldif
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PhpMyAdmin
Step.1
先下載 phpldapadmin http://sourceforge.net/projects/phpldapadmin/
這次下載的版本為phpldapadmin-1.2.3.zip
將檔案傳進去/var/www/html 後
unzip phpldapadmin-1.2.3.zip
將其改名
mv phpldapadmin-1.2.3 pla
cd pla/config
cp config.php.example config.php
cd /etc/httpd/conf/
vi httpd.conf
找到ServerName,目前應該是註解掉的
輸入
ServerName hostname:80
存檔退出
--------------------------------------------------------------------------------------
PHP+MYSQL
yum -y install httpd php mysql mysql-server php-mysql
============================================
/sbin/chkconfig httpd on ( 每次開機 開啟 http 服務 )
/sbin/service httpd start ( 啟動 http )
/sbin/chkconfig mysqld on ( 每次開機 開啟 MySQL 服務 )
/sbin/service mysqld start ( 啟動 MySQL )
mysqladmin -u root password '123' ( 設定 MySQL 「root」帳號的「密碼」)
mysql -u root -p ( 使用「root」帳號,測試「密碼」是否正確 )
============================================
參考:
http://bojack.pixnet.net/blog/post/32056233-%E3%80%90linux%E3%80%91%E5%9C%A8-centos-%E4%B8%8A%E5%AE%89%E8%A3%9D-ldap-server-2.4
http://blog.xuite.net/tolarku/blog/161523701
http://my-fish-it.blogspot.tw/2011/08/ss-centos-6-php-mysql-phpmyadmin.html
留言列表