Ubuntu下编译安装OpenLDAP
in 日常技巧 with 1 comment

Ubuntu下编译安装OpenLDAP

in 日常技巧 with 1 comment

上次我「瞎说一下LDAP」,这次来说说具体一点的OpenLDAP吧.
LDAPworm.gif

这里安装的是目前官网最新OpenLDAP 2.4

先列一下先决条件(可以在源码包的README文件中查看)

Base system (libraries and tools)

SLAPD

BDB and HDB backends require Oracle Berkeley DB 4.4 - 4.8 or 5.0 - 5.1. It is highly recommended to apply the patches from Oracle for a given release.

CLIENTS/CONTRIB ware

Depends on package. See per package README.

LDAPlogo.gif

OpenLDAP下载以及解压缩

官网提供了多个节点以供下载
甚至你可以使用git方式clone源码

OpenLDAP_VERSION=2.4.47
mkdir -p /opt/build/openldap && cd /opt/build/openldap
wget ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-$OpenLDAP_VERSION.tgz
gunzip -c openldap-$OpenLDAP_VERSION.tgz | tar xf - 
cd openldap-$OpenLDAP_VERSION

Berkeley DB安装以及设置

Berkeley DB是必须要安装的,不然在编译前的配置出现问题:
configure: error: BDB/HDB: BerkeleyDB not available

在Oracle的官网可以进行下载,注意开头的先决条件它的版本被限制为4.4 - 4.8 or 5.0 - 5.1.
所以可以在Previous Releases找到老版本Berkeley DB 4.8.30.tar.gz, with AES encryption (22M)

mkdir -p /opt/build/BDB && cd /opt/build/BDB
wget http://download.oracle.com/berkeley-db/db-4.8.30.tar.gz
tar zxvf db-4.8.30.tar.gz
cd db-4.8.30/build_unix
../dist/configure && make && sudo make install

如果后续配置openLDAP时还是报错的话建议做如下设置(不出错的话不需要操作):

sudo sed -i '$a \/usr\/local\/BerkeleyDB.4.8\/lib' /etc/ld.so.conf.d/libc.conf
sudo ldconfig -v

或者ldconfig -n /usr/local/BerkeleyDB.4.8/lib

OpenLDAP配置编译安装

cd /opt/build/openldap/openldap-$OpenLDAP_VERSION
./configure --prefix=/usr/local/openldap \
--enable-wrappers \
--enable-syslog \
--enable-modules \
--enable-debug \
--with-tls \
CPPFLAGS="-I/usr/local/BerkeleyDB.4.8/include" \
LDFLAGS="-L/usr/local/BerkeleyDB.4.8/lib"

等到打印Please run "make depend" to build dependencies就代表配置完成了

然后进行编译以及测试

make depend
make
make test

测试是一个很有必要的过程,这需要耗费一段时间,但是是非常有必要的,建议不要跳过测试.
测试的结果将告知你程序有没有被正确编译且可用.

测试通过后当然就是安装了sudo make install

自此便完成了OpenLDAP的编译以及安装了.

--EOF--

Responses
  1. 写的很好,很喜欢

    Reply