0 背景
本文章基于国产麒麟(Kylin)操作系统编译Openldap-2.4.44
cat /etc/os-release
查看当前麒麟(Kylin)系统版本信息:
1 条件准备
1.1 安装openldap依赖的rpm包
这里需要配置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
1.2 解压openldap源码包
tar -zxvf openldap-2.4.44.tgz
cd openldap-2.4.44
2 编译openldap
2.1 执行编译命令
./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
2.2 执行依赖检测命令
接下来按照提示执行命令,进行依赖检测
make depend
执行make命令
make
2.3 执行测试命令
这一步会比较耗时,耐心等待执行完成
make test
2.4 执行install
make install
这一步执行成功后,会在2.1的–prefix=/usr/local/openldap-2.4.44设置的目录里面生成该目录,并将openldap编译的结果生成在该目录下。
2.5 设置快捷方式
对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/
3 验证
验证编译完成后的openldap是否可以正常使用
3.1 生成初始密码密钥
使用slappassword生成加密密钥,假设设定初始密码为bywx2020。执行如下命令:
slappasswd -s bywx2022
这里的{SSHA}HJPkWKosnYoX45cNA7VdZGOH1ELXKZ2b就是加密后生成的密钥
3.2 修改配置文件slapd.conf
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生成的密文或明文密码;
{SSHA}HJPkWKosnYoX45cNA7VdZGOH1ELXKZ2b
3.3 启动openldap
/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启动成功,且可以正常使用: