本文章基于华为欧拉(openEular)系统编译Openldap
cat /etc/os-release
查看当前欧拉(openEular)系统版本信息:

这里需要配置yum源,如阿里/网易等,或者可以配置使用离线yum源,详情可看这篇文章
yum install ibtool-ltdl -y
yum install libtool-ltdl-devel -y
注意:
① 涉及libtool-ltdl与libtool-ltdl-devel,如不安装,在编译时报错:configure: error: could not locate libtool ltdl.h
② 安装的时候不要使用yum install *ltdl* -y 命令安装,欧拉系统的yum识别不出libtool-ltdl-devel

tar -zxvf openldap-2.4.44.tgz
cd openldap-2.4.44

./configure --prefix=/usr/local/openLDAP-2.4.44 --enable-modules=yes --enable-rewrite --enable-memberof=yes --enable-refint=yes --enable-hdb=no --enable-bdb=no --enable-overlays
注意:
这里编译时可以不用添加BDB或HDB数据库,具体需要添加如下参数
--enable-bdb=no --enable-hdb=no

接下来按照提示执行命令,进行依赖检测
make depend

执行make命令
make

这一步会比较耗时,耐心等待执行完成
make test

make install

这一步执行成功后,会在2.1的–prefix=/usr/local/openldap-2.4.44设置的目录里面生成该目录,并将openldap编译的结果生成在该目录下。

对openldap客户端(bin)与服务器端(sbin)相关执行档添加软链接,也可以通过增加环境变量的方式设置
cd /usr/local/openldap-2.4.44
ln -s /usr/local/openldap-2.4.44/bin/* /usr/local/bin/
ln -s /usr/local/openldap-2.4.44/sbin/* /usr/local/sbin/
验证编译完成后的openldap是否可以正常使用
使用slappassword生成加密密钥,假设设定初始密码为bywx2020。执行如下命令:
slappasswd -s bywx2020

这里的{SSHA}kbY3oJPDv8MfDdu9wAVIgQ2EVB/p3Cop就是加密后生成的密钥
cd /usr/local/openldap-2.4.44/etc/openldap/
vim slapd.conf
新增如下内容:
#schema默认只有core.schema,各级需要添加,这里将同配置文件一个目录的schema目录中有的schema文件都加到配置文件中;
include /usr/local/openldap-2.4.44/etc/openldap/schema/collective.schema
include /usr/local/openldap-2.4.44/etc/openldap/schema/corba.schema
include /usr/local/openldap-2.4.44/etc/openldap/schema/cosine.schema
include /usr/local/openldap-2.4.44/etc/openldap/schema/duaconf.schema
include /usr/local/openldap-2.4.44/etc/openldap/schema/dyngroup.schema
include /usr/local/openldap-2.4.44/etc/openldap/schema/inetorgperson.schema
include /usr/local/openldap-2.4.44/etc/openldap/schema/java.schema
include /usr/local/openldap-2.4.44/etc/openldap/schema/misc.schema
include /usr/local/openldap-2.4.44/etc/openldap/schema/nis.schema
include /usr/local/openldap-2.4.44/etc/openldap/schema/openldap.schema
include /usr/local/openldap-2.4.44/etc/openldap/schema/pmi.schema
include /usr/local/openldap-2.4.44/etc/openldap/schema/ppolicy.schema

新增日志文件级别与路径
loglevel 256
logfile /usr/local/openldap-2.4.44/var/slapd.log
修改域名及管理员账户名;
suffix “dc=chen,dc=com” rootdn “cn=admin,dc=chen,dc=com”
使用密文密码,即前面使用slappasswd生成的密文或明文密码;
rootpw {SSHA}kbY3oJPDv8MfDdu9wAVIgQ2EVB/p3Cop

/usr/local/openldap-2.4.44/libexec/slapd -d 256
发生如下报错:

原因:因为 /usr/local/openldap-2.4.44/var/openldap-data目录不存在,重新创建该目录并重启openldap即可

验证openldap服务是否正常启动
ldapsearch -x -b '' -s base'(objectclass=*)'
看到如下输出,则说明openldap启动成功,且可以正常使用:
