Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> openldap安裝與配置基礎教程

openldap安裝與配置基礎教程

日期:2017/2/7 14:37:21      編輯:Linux教程
 

環境:CentOS 5.4
db-5.1.25.tar.gz
openldap-2.3.34.tgz
httpd-2.2.15.tar.gz
php-5.2.13.tar.gz
phpldapadmin-1.2.0.5.tgz
LDAP的工作原理:
LDAP是以服務器/客戶端方式工作,目錄服務將數據庫軟件的邏輯結構分為前端(客戶端)和後端(服務端和倉庫)

客戶端------ 服務端 ------ 倉庫
LDAP 邏輯結構圖

系統自帶以下兩個db文件必須有,不然編譯openldap-2.3.34還是會報錯
db4-devel-4.3.29-10.el5
db4-4.3.29-10.el5
1、安裝db:
http://download.oracle.com/berkeley-BerkeleyDB/BerkeleyDB-5.1.25.tar.gz 下載到/qeedoodb/setup
tar xvf db-5.1.25.tar.gz
cd db-5.1.25
cd build_unix/
../dist/configure --prefix=/usr/local/BerkeleyDB
make
make install

vi /etc/ld.so.conf
/usr/local/Berkeley/lib
ldconfig


2、安裝openldap
先設置環境不然安裝openldap會報錯
env CPPFLAGS="-I/usr/local/BerkeleyDB/include" LDFLAGS="-L/usr/lib -L/usr/local/BerkeleyDB/lib"

tar xvf openldap-2.3.34.tgz
cd openldap-2.3.34
./configure --prefix=/usr/local/openldap --enable-bdb
make depend
make
make test 可跳過
make install

 

3.安裝apache

tar zxvf httpd-2.2.15.tar.gz
cd httpd-2.2.15
./configure --prefix=/usr/local/apache \
--with-included-apr \
--with-mpm=worker \
--with-ldap \
--enable-mods-static="deflate expires" \
--enable-mods-shared="ssl ldap authnz-ldap dav dav-fs dav-lock headers rewrite"

make && make install

開web賬戶
groupadd www
useradd -g www www -d /home/www -s /sbin/nologin

修改httpd.conf配置文件

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

把用戶改稱www

啟動apache

/usr/local/apache/bin/apachectl -k start

若是驗證是否是否apache起來,則防火牆要放行
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重啟防火牆
service iptables restart
浏覽 出現 it works 就正確了

生成證書
tar -zxvf ssl.ca-0.1.tar.gz
mv ./ssl.ca-0.1 /usr/local/apache/conf/
cd /usr/local/apache/conf/ssl.ca-0.1
./new-root-ca.sh

下邊輸入密碼其他的隨便寫生成了ca.key和ca.crt兩個文件

下面還要為我們的服務器生成一個證書
./new-server-cert.sh server

這樣就生成了server.csr和server.key這兩個文件.

簽署一下

./sign-server-cert.sh server

輸入你之前設置的密碼

然後y 就生成了server.crt

mv ./server.* ../ 把證書拷貝到conf的目錄下
cd .. vi httpd.conf

去掉#Include conf/extra/httpd-ssl.conf的注釋

如果證書放到其它地方去要修改httpd-ssl.com的配置


重起apache服務
/usr/local/apache/bin/apachectl -k restart
防火牆放行443端口,原先的80端口可以去掉
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
重啟防火牆
service iptables restart
在浏覽網頁 https://192.168.6.7


4、生成slapd密碼

/usr/local/openldap/sbin/slappasswd

New password: 輸入密碼
Re-enter new password: 重復密碼

生成後的加密密碼: {SSHA}W/48LCkOe9rZUHMGyjD8VeHbMF4C3Szm
備注:相同的數字隨機加密後會不同


5、修改openldap的配置文件

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

改動三行

suffix "dc=holy,dc=com"
rootdn "cn=root,dc=holy,dc=com"

rootpw {SSHA}W/48LCkOe9rZUHMGyjD8VeHbMF4C3Szm


啟動ldap服務

cd /usr/local/openldap/libexec
./slapd

如果啟動不成功可以用 ./slapd -d 1 啟動debug模式。。將在屏幕打印啟動信息

但是你重./slapd -d 1 啟動debug模式時候會報錯找不到DB_CONFIG的文件

cp /usr/local/openldap/var/openldap-data/DB_CONFIG.example /usr/local/openldap/var/openldap-data/DB_CONFIG

[root@localhost libexec]# ps -ef|grep slapd
root 27286 1 0 09:40 ? 00:00:00 ./slapd
root 27289 25603 0 09:40 pts/0 00:00:00 grep slapd


設置初始化
vi /tmp/init.ldif

dn: dc=holy,dc=com
dc: holy
objectClass: top
objectClass: domain

dn: ou=Hosts,dc=holy,dc=com
ou: Hosts
objectClass: top
objectClass: organizationalUnit

dn: ou=People,dc=holy,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit

賬戶密碼信息
vi /tmp/user1.ldif

dn:cn=user1,ou=People,dc=holy,dc=com
cn: user1
sn: USER1
uid: user1
userPassword: user1
objectClass: inetOrgPerson


cd /usr/local/openldap/bin
ldapadd -x -D "cn=root,dc=holy,dc=com" -W -f /tmp/init.ldif

6、安裝php和ldapphpadmin 管理工具

tar -jxvf php-5.2.13
cd php-5.2.13
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-gd \
--enable-gd-native-ttf \

Copyright © Windows教程網 All Rights Reserved