天天看點

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<b> </b>(http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page)

<b> </b>

<b>1. </b><b>安裝</b><b>openldap</b>

<b>1</b><b>)安裝</b><b>BerkeleyDB</b>

# 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

<b>2</b><b>)安裝</b><b>openldap</b>

# 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 install

<b>3</b><b>)檢查安裝結果</b>

安裝好後,系統會自動生成一些.schema檔案,我們可以使用指令:# ll  /usr/local/openldap/etc/openldap/schema/*.schema來檢視,如下圖:

<b>2. </b><b>配置</b><b>openldap</b>

openldap的配置檔案主要為slapd.conf和ldap.conf,手動安裝的話,存放在/usr/local/openldap/etc/openldap下面,如下圖:

<b>1</b><b>)配置</b><b>slapd.conf</b><b>檔案</b>

主要需要修改的地方有兩個,一個是将所有./schema添加進來(預設隻有include  /usr/local/openldap/etc/openldap/schema/core.schema這條記錄),如下圖:

另一個地方是下圖所示,将suffix項改成自己的目錄字尾;設定rootdn,注意這裡設定的root管理者是管理openldap的,跟linux系統的root管理者不是一樣的。

<b>2</b><b>)啟動</b><b>openldap</b>

使用以下指令啟動openldap:

# /usr/local/openldap/libexec/slapd

<b>3</b><b>)加密管理者密碼</b>

 使用指令slappasswd修改管理者密碼,預設的管理者密碼是明文形式的,使用slappasswd修改後将以加密的方式儲存。

<b>4</b><b>)修改用戶端配置文檔</b>

如下圖,修改紅色框處,設定目錄起點。

<b>5</b><b>)錄入資訊</b>

一般資訊錄入的方式有三種:手工錄入,使用.ldif檔案格式錄入,使用腳本錄入。這裡我們選用比較友善的那種——使用.ldif檔案格式錄入。

首先使用vi  init.ldif指令建立一個init.ldif檔案,内容如下:

然後用指令/usr/local/openldap/bin/ldapadd  -x  -W  -D  “cn=root,dc=guoxuemin,dc=cn”  -f  init.ldif将内容導入,如下圖:

<b>3. </b><b>配置</b><b>openldapadmin</b>

<b>1</b><b>)安裝</b><b>openldapadmin</b>

# tar  zxvf  phpldapadmin-0.9.8.5.tar.gz

# mv  phpldapadmin-0.9.8.5  /usr/local/phpldapadmin

openldapadmin的安裝很簡單,隻需要解壓,然後移動到相應的目錄就可以了。

<b>2</b><b>)配置</b><b>http.conf</b><b>檔案</b>

# vi  /usr/local/apache/conf/httpd.conf

增加上圖所示的内容,上述内容的作用是建立虛拟目錄并設定使用者認證。

設定使用者admin的密碼,如下圖:

<b>3</b><b>)配置</b><b>phpldapadmin</b>

預設情況下phpldapadmin自帶了一個示例配置檔案config.php.example,我們可以對改檔案稍做修改,就可以使用了。

# cd  /usr/local/phpldapadmin/config

# cp  config.php.example  config.php

# vi  config.php

将274行的/*移動到283行,然後修改276-282行的參數,具體如下:

然後屏蔽以下行的内容,如下圖:

另外,還有兩項需要修改的,如下圖:

注意,要使用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

對php的編譯如下圖:

<b>4</b><b>)</b><b>phpldapadmin</b><b>應用</b>

點選左面闆的login,我們可以通過openldap管理者root登入,如下圖:

登入進去後,可以看到openldap的操作界面,左面闆上跟windows的AD一樣有ou,有使用者資訊。

如果我們要建立使用者資訊,可以點選左面闆上的“Create new entry here”,然後根據需要在右面闆上選擇帳戶類型,根據向導一步步建立。圖形化的操作界面大家都很熟悉了,這裡我就不再一一介紹。

當然我們也還可以通過ldif的方式導入,點選左面闆上的import可以導入ldif檔案。點選左面闆上的export可以将現有資料導出為ldif檔案。

<b>4. </b><b>配置</b><b>ldap</b><b>日志</b>

修改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還是要弱一些。

本文僅講述了openldap的安裝和基本配置,對于openldap的進階應用将會在後續的文章中講述,謝謝大家的關注。

     本文轉自Tonyguo 51CTO部落格,原文連結:http://blog.51cto.com/tonyguo/182432,如需轉載請自行聯系原作者

下一篇: Fiddler