溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

LINUX+APACHE+PHP+BDB+OPENLDAP+PHPLDAPADMIN安裝配置

發(fā)布時間:2020-06-30 18:27:02 來源:網(wǎng)絡(luò) 閱讀:1069 作者:DavideyLee 欄目:web開發(fā)

LINUX下安裝openldap,并用phpldapadmin進行管理


linux   CentOS5.4   ip:192.168.1.6

apache   httpd-2.2.14.tar.bz2

php:    php-5.2.12.tar.gz

bdb:    db-4.5.20.tar.gz

openldap:    openldap-stable-2.3.32.tgz

phpldapadmin:    phpldapadmin-1.2.0.5.tgz


bdbopenldap會有兼容性問題,2.3openldap需要的bdb版本應(yīng)該為4.4-4.6之間,所以這里就選擇了4.5bdb。(裝64位系統(tǒng)的時候,4.5的卻不兼容,換成4.3.29的,)


關(guān)閉selinux&iptable

vi/etc/sysconfig/selinux

SELINUX=enforcing disabled

iptables –F


rpm -q make

yum install make


rpm -q gcc  

yum install gcc


rpm -qgcc-c++  

yum installgcc-c++


cd libxml2-2.6.30

./configure--prefix=/usr/local/libxml2/

make

make install


cd../libmcrypt-2.5.8

./configure--prefix=/usr/local/libmcrypt/

make

make install


cd ../libmcrypt-2.5.8/libltdl/

./configure--enable-ltdl-install

make

make install


cd../../zlib-1.2.3

./configure

make

make install


cd../libpng-1.2.31

./configure--prefix=/usr/local/libpng/

make

make install


cd ../jpeg-6b

mkdir/usr/local/jpeg6

mkdir /usr/local/jpeg6/bin

mkdir/usr/local/jpeg6/lib

mkdir/usr/local/jpeg6/include

mkdir -p/usr/local/jpeg6/man/man1

./configure--prefix=/usr/local/jpeg6/ --enable-shared --enable-static

make

make install


cd../freetype-2.3.5

./configure--prefix=/usr/local/freetype/

make

make install


cd../autoconf-2.61

./configure

make

make install


cd ../gd-2.0.35

./configure--prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/--with-freetype=/usr/local/freetype/

make

make install


cd ../ncurses-5.6

./configure--with-shared --without-debug --with-ada --enable-overwrite

make

make install


1.安裝apache

cd ../httpd-2.2.9

./configure--prefix=/usr/local/apache2/ --sysconfdir=/etc/httpd/ --with-included-apr--disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared--enable-rewrite=shared --enable-static-support

make

make install


2.安裝php

cd ../php-5.2.6

./configure--prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/--with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/--with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/--with-mcrypt=/usr/local/libmcrypt/ --enable-soap --enable-mbstring=all--enable-sockets --with-ldap --with-gettext

#yum installlibtool

#yum install libtool-ltdl

make

make install

cp php.ini-dist/usr/local/php/etc/php.ini

vi/etc/httpd/httpd.conf

AddTypeapplication/x-httpd-php .php .phtml(添加)

/usr/local/apache2/bin/apachectlrestart

保存退出。


3.安裝bdb

tar zcvfdb-4.5.20.tar.gz

cd db-4.5.20/build_unix//在這個目錄里編譯(不同于其它大多數(shù)linux程序

../dist/configure--prefix=/usr/local/db

make

make install

vi /etc/ld.so.conf

/usr/local/db/lib

/sbin/ldconfig


4.安裝openldap

vi /etc/profile

LD_RUN_PATH=/usr/local/db/lib  //這個可能不是必須的。

LD_LIBRARY_PATH=/usr/local/db/lib   //必須的,少了安裝會報錯

export LD_RUN_PATH LD_LIBRARY_PATH  //導(dǎo)出變量,保存退出

source /etc/profile              //讓剛設(shè)置的變量立刻生效

envCPPFLAGS="-I /usr/local/db/include" LDFLAGS="-L/usr/local/db/lib"

記得要啟用bdb,要不我們的bdb就白裝了。

./configure--prefix=/usr/local/openldap --enable-bdb                                                          

//CPPLD這兩個環(huán)境變量應(yīng)該可以跟剛才的LD_LIBRARY那個變量一樣設(shè)置在profile文件里的,但是大家都是在這里設(shè)置,可能是因為這兩個變量都是只在安裝時用一次吧,所以我這里也就隨大家寫在命令里而不是寫在profile里了,(64位系統(tǒng)的時候又報錯缺少ltdl.h,后來locateltdl找到了它的位置,然后命令改成了env CPPFLAGS="-I /usr/local/db/include" LDFLAGS="-L/usr/local/db/lib" LDFLAGS="-L /usr/share/libtool/libltdl"./configure --prefix=/usr/local/openldap --enable-bdb)(試過多種方法64位系統(tǒng)總是提示缺少ltdl.h,最后實在耗不起那個時間了然后就直接yum install openldap-servers了事,此時卻發(fā)現(xiàn)yum安裝時安裝了一個名為libtool-ltdl-1.5.22-7.el5_4的依賴包,難道就是因為缺少這個包導(dǎo)致的編譯通不過?)(yum安裝openldap主要是安裝openldap、openldap-developenldap-servers、openldap-clients這四種包)

make depend        //解決依賴問題

make

make test           //有自信的可以不檢測,這個不是必須的。

make install


5.修改openldap配置文件

vi/usr/local/openldap/etc/openldap/slapd.conf      

include  /usr/local/openldap/etc/openldap/schema/core.schema                    

這些schema都在openldap安裝目錄下的etc/openldap/schema

include        /usr/local/openldap/etc/openldap/schema/corba.schema

include         /usr/local/openldap/etc/openldap/schema/cosine.schema

include        /usr/local/openldap/etc/openldap/schema/dyngroup.schema

include        /usr/local/openldap/etc/openldap/schema/inetorgperson.schema

include        /usr/local/openldap/etc/openldap/schema/java.schema

include         /usr/local/openldap/etc/openldap/schema/misc.schema

include        /usr/local/openldap/etc/openldap/schema/nis.schema

include        /usr/local/openldap/etc/openldap/schema/openldap.schema

database        bdb                                                                            

// bdb就是我們的Berkeley DB數(shù)據(jù)庫了

suffix          "dc=davy,dc=org"                                                      

//suffix(后綴),以后所有的ldap數(shù)據(jù)記錄都將放在它的下面,你可以把它看成是數(shù)據(jù)庫的總庫,之后的phpldapadmin中也需要指定它并且要跟這里的設(shè)置一致

rootdn          "cn=root,dc=davy,dc=org"                                          

//openldap的管理者(就跟系統(tǒng)的管理員類似,openldap的“大權(quán)在握者”)

rootpw         {SSHA}rWWrzQ60N42lNONcZFaKovPrgWSjn5/Z          

//管理者密碼,該密碼串需要通過ldappasswd命令(openldap安裝目錄下的bin目錄里)來生成

directory       /usr/local/openldap/var/lib/openldap

//指定openldap數(shù)據(jù)庫的存放目錄

保存退出

/usr/local/openldap/bin/ldappasswd      //生成管理者密碼

/usr/local/openldap/libexec/slapd        //啟動openldap

(解決alock package isunstable)

chown ldap:ldap/usr/local/openldap/var/lib/openldap/*

(解決No DB_CONFIG file)

cp/etc/openldap/DB_CONFIG.example /usr/local/openldap/var/lib/openldap/DB_CONFIG

chown ldap:ldap/usr/local/openldap/var/lib/openldap/DB_CONFIG

chmod 600 /usr/local/openldap/var/lib/openldap/*


6.安裝phpldapadmin

tar -zxvfphpldapadmin-1.2.0.5.tgz

cp –R  phpldapadmin-1.2.0.5  /usr/local/apache2/htdocs/phpldapadmin                  

7.修改phpldapadmin配置文件

cp/usr/local/apache2/htdocs/phpldapadmin/config/config.{php.example,php}

vi/usr/local/apache2/htdocs/phpldapadmin/config/config.php

$servers->setValue('server','name','DAVYLDAP Server');  

//本行及后面這些行(讀hang)為關(guān)鍵參數(shù),可按實際情況修改,此處指定服務(wù)器的顯示名稱為DAVY LDAP Server,該名稱可隨意設(shè)置

$servers->setValue('server','host','127.0.0.1');   //指定openldap服務(wù)器就是本機

$servers->setValue('server','port',389);  //指定openldap服務(wù)使用的端口為389

$servers->setValue('server','base',array('dc=davy,dc=org'));  

//指定openldapBase DNarray里的值必須與上面5中設(shè)置的suffix的值一致,否則phpldapadmin就無法連接上openldap,也就意味著phpldapadmin無法操作openldap。

$servers->setValue('login','auth_type','session');  //session是默認值,還可以cookie

$servers->setValue('login','bind_id','cn=root,dc=davy,dc=org');      

//登陸的綁定id,我在這里用了“大權(quán)在握者”來綁定,這樣的話網(wǎng)頁登陸對話框上就會直接顯示該管理者的賬號,直接輸入密碼就可以登錄了,也可以留空,留空的話下面的密碼也就必須留空了,那樣的話可以設(shè)置多個賬號,大家各登個的錄。

$servers->setValue('login','bind_pass','davidlee');                              //上面已經(jīng)綁定了管理者賬號了,這里就需要給出密碼,這個密碼可是之前ldappasswd命令設(shè)置生成的密碼,可不是在這里指定什么就是什么密碼。

8.訪問phpldapadmin管理openldap

http://192.168.88.141/沒意外的話就可以看到phpldapadmin的登錄頁面了。

9.關(guān)于ldap的一些理解

我們可以想象有一顆蘋果樹,樹枝就是樹干的延伸。



向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI