编译openldap源码安装openldap服务

准备阶段

参考文章:https://www.cnblogs.com/netonline/p/7486832.html

操作系统:CentOS 7.5

下载BDB数据库
berkeley-db-5.3.21
http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz
openldap的数据存储依赖于berkeley-db,所以需要安装berkeley-db。

下载openldap
openldap-2.4.46
https://www.openldap.org/software/download/OpenLDAP/openldap-release/

编译安装阶段

先编译berkeley-db

1、解压db-5.3.21.tar.gz
tar zxvf db-5.3.21.tar.gz
2、进入db-5.3.21/build_unix

3、../dist/configure --prefix=/opt/bdb
--prefix指定安装路径
4、编译
make
5、安装
make install

一路非常顺利。

再编译openldap

1、解压openldap-2.4.46.tgz
tar zxvf openldap-2.4.46.tgz
2、进入openldap-2.4.46/
3、./configure --prefix=/opt/openldap --enable-syslog --enable-modules --enable-overlays CPPFLAGS=-I/opt/bdb/include/ LDFLAGS=-L/opt/bdb/lib/ --libdir=/opt/bdb/lib/ --includedir=/opt/bdb/include/
--prefix指定安装路径
4、make depend
5、make
6、make test
7、make install

如果编译过程报错:
1、configure: error: could not locate libtool ltdl.h
那说明是缺少libtool-ltdl、libtool-ltdl-devel包了,可以通过rpm -qa | grep libtool-ltdl查询这些包有没有安装;
如果没有安装,可以通过yum来安装
yum install -y libtool-ltdl libtool-ltdl-devel
然后再重新编译。
2、错误详情:

checking for Berkeley DB library and header version match... Berkeley DB version mismatch
        header: Berkeley DB 5.3.21: (May 11, 2012)
        library: Berkeley DB 5.3.28: (September  9, 2013)
no
configure: error: Berkeley DB version mismatch

解决办法:

export LD_LIBRARY_PATH="/opt/bdb/lib"

由于通过--prefix参数指定了安装路径为/opt/openldap,所以这个就不像yum安装一样部署到系统目录下。
但是配置的流程还是跟yum安装的配置流程一样,可参考:https://www.jianshu.com/p/b41839ed3327

安装配置过程也不复杂。

如果想编译源码后不直接安装,而是打成rpm包,然后通过rpm安装。

如何通过源码打一个rpm包呢

工具安装

编写spec模板
执行打包命令

你可能感兴趣的:(编译openldap源码安装openldap服务)