Ubuntu下编译安装OpenLDAP

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

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

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

Base system (libraries and tools)

  • Standard C compiler (required)
  • Cyrus SASL 2.1.21+ (recommended)
  • OpenSSL 0.9.7+ (recommended)
  • Reentrant POSIX REGEX software (required) 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源码

1
2
3
4
5
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)

1
2
3
4
5
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时还是报错的话建议做如下设置(不出错的话不需要操作):

1
2
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配置编译安装

在不同的Linux发行版可能初始安装的依赖不相同,这里我还安装了以下的依赖:

apt-get install libtool libwrap-dev -y

具体情况还请根据配置编译时的提示进行.

1
2
3
4
5
6
7
8
9
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就代表配置完成了

然后进行编译以及测试

1
2
3
make depend
make
make test

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

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

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

点击刷新🚌