Linux服務器部署系列之七—OpenLDAP篇

LDAP(輕量級目錄訪問服務),通過配置這個服務,我們也可以在linux下面使用目錄的形式管理用戶,就像windows下面的AD一樣,方便我們管理。下面我們就一起來配置openldap服務。本文運行環境:CentOS 5。
軟件需求:
openldap-stable-20090411.tgz
(http://www.openldap.org/software/download/)
phpldapadmin-0.9.8.5.tar.gz (http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page)
另外,運行phpldapadmin需要apache和php的支持,有關apache和php的安裝,大家可以參考我的另一篇文章:Linux服務器部署系列之一—Apache篇(http://guoxuemin.blog.51cto.com/379574/168534
 
1. 安裝openldap
1)安裝BerkeleyDB
# tar  zxvf  db-4.7.25.tar.gz
# cd  db-4.7.25/build_unix
# ../dist/configure
# make
# make  install
# vi  /etc/ld.so.conf
加入一下語句:
/usr/local/BerkeleyDB.4.7/lib
# /sbin/ldconfig
2)安裝openldap
# tar  zxvf  openldap-stable-20090411.tgz
# cd  openldap-2.4.16
# env  CPPFLAGS=”-I/usr/local/BerkeleyDB.4.7/include”  LDFLAGS=”-L/usr/local/BerkeleyDB.4.7/lib” ./configure  --prefix=/usr/local/openldap  --enable-ldbm
# make depend
# make
# make install
3)檢查安裝結果
安裝好後,系統會自動生成一些.schema文件,我們可以使用命令:# ll /usr/local/openldap/etc/openldap/schema/*.schema來查看,如下圖:
 
2. 配置openldap
openldap的配置文件主要爲slapd.conf和ldap.conf,手動安裝的話,存放在/usr/local/openldap/etc/openldap下面,如下圖:
1)配置slapd.conf文件
主要需要修改的地方有兩個,一個是將所有./schema添加進來(默認只有include /usr/local/openldap/etc/openldap/schema/core.schema這條記錄),如下圖:
另一個地方是下圖所示,將suffix項改成自己的目錄後綴;設置rootdn,注意這裏設置的root管理員是管理openldap的,跟linux系統的root管理員不是一樣的。
2)啓動openldap
使用以下命令啓動openldap:
# /usr/local/openldap/libexec/slapd
3)加密管理員密碼
 使用命令slappasswd修改管理員密碼,默認的管理員密碼是明文形式的,使用slappasswd修改後將以加密的方式保存。
4)修改客戶端配置文檔
如下圖,修改紅色框處,設置目錄起點。
5)錄入信息
一般信息錄入的方式有三種:手工錄入,使用.ldif文件格式錄入,使用腳本錄入。這裏我們選用比較方便的那種——使用.ldif文件格式錄入。
首先使用vi  init.ldif命令建立一個init.ldif文件,內容如下:
然後用命令/usr/local/openldap/bin/ldapadd  -x  -W  -D  “cn=root,dc=guoxuemin,dc=cn”  -f  init.ldif將內容導入,如下圖:
 
3. 配置openldapadmin
1)安裝openldapadmin
# tar  zxvf  phpldapadmin-0.9.8.5.tar.gz
# mv  phpldapadmin-0.9.8.5  /usr/local/phpldapadmin
openldapadmin的安裝很簡單,只需要解壓,然後移動到相應的目錄就可以了。
2)配置http.conf文件
# vi  /usr/local/apache/conf/httpd.conf
增加上圖所示的內容,上述內容的作用是建立虛擬目錄並設置用戶認證。
設置用戶admin的密碼,如下圖:
3)配置phpldapadmin
默認情況下phpldapadmin自帶了一個示例配置文件config.php.example,我們可以對改文件稍做修改,就可以使用了。
# cd  /usr/local/phpldapadmin/config
# cp  config.php.example  config.php
# vi  config.php
將274行的/*移動到283行,然後修改276-282行的參數,具體如下:
然後屏蔽以下行的內容,如下圖:
另外,還有兩項需要修改的,如下圖:
保存配置文件,並重啓Apache服務,就可以使用瀏覽器輸入:http://IP地址或計算機名/phpldapadmin/進行訪問了。如下圖:
注意,要使用phpldapadmin,需要有gettext包的支持,在php編譯時還需要將ldap也編譯進去,否則,會出現下圖所示錯誤信息:
如果出現類似信息,那麼只需要安裝gettext包,並對php重新編譯安裝就可以了,
gettext包的安裝:
# tar  zxvf  gettext-0.16.1.tar.gz
# cd  gettext-0.16.1
# ./configure  --prefix=/usr/local/gettext
# make
# make  install
對php的編譯如下圖:
4)phpldapadmin應用
點擊左面板的login,我們可以通過openldap管理員root登錄,如下圖:
登錄進去後,可以看到openldap的操作界面,左面板上跟windows的AD一樣有ou,有用戶信息。
如果我們要建立用戶信息,可以點擊左面板上的“Create new entry here”,然後根據需要在右面板上選擇帳戶類型,根據嚮導一步步建立。圖形化的操作界面大家都很熟悉了,這裏我就不再一一介紹。
當然我們也還可以通過ldif的方式導入,點擊左面板上的import可以導入ldif文件。點擊左面板上的export可以將現有數據導出爲ldif文件。
 
4. 配置ldap日誌
修改ldap配置文件slapd.conf,增加一項loglevel 1,如下圖:
# vi  /usr/local/openldap/etc/openldap/slapd.conf
然後修改系統日誌配置文件:
# vi  /etc/syslog.conf
增加以下行:
local4.*  /usr/local/openldap/var/log/ldap.log
使用命令service syslog restart重啓syslog,系統就會自動生成日誌文件ldap.log了。
 
OK,現在已經設置好了,我們可以通過目錄的形式管理帳戶信息了,不過,這個服務是免費的,所以功能上相對於windows的AD還是要弱一些。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章