Linux 安装并配置 OpenLDAP 新编(1)快速入门指南

快速入门,仅用于学习和本地开发,不要直接在生产环境中实施!

获取软件

官方的快速入门指南中,2.4-2.6的三个版本都只讲解了源代码编译安装的方式,本系列的前几章选择了 LTS 版本的 2.5.11 小版本做为测试版本。

本系列文章目前仅在Oracle Linux R8系统中测试通过!计划部署实施的生产服务器OS是Aliyun Cloud Linux!

获取源代码
gunzip -c openldap-2.5.11.tgz | tar xvfB -
编译安装准备
# 必要的编译组件
yum install make gcc gcc-c++ libdb libdb-devel libtool-ltdl libtool-ltdl-devel -y
# 安装SASL机制依赖包
yum install cyrus-sasl-devel -y
编译安装

快速入门的编译安装,我们不配置任何额外选项,仅做最基础的实验测试。因此依照下面最简单的命令执行即可:

./configure
make depend
make
make test
make install

安装后的文件分散与如下目录中:

  • /usr/local/etc/openldap/ :内置schema架构以及配置模板
  • /usr/local/libexec/ : 启动/主文件存储目录
  • /usr/local/sbin/ : 离线操作的工具目录,可以看到实际上所有命令,都是主文件的链接
  • /usr/local/bin/ : LDAP客户端工具目录

启动服务

编辑配置文件

从安装后的配置模板目录中,复制出一份默认的 slapd.ldif 到当前目录并进行编辑,目前仅注意修改下面几项即可:

olcSuffix: dc=example,dc=com
olcRootDN: cn=admin,dc=example,dc=com
olcRootPW: {SSHA}YilkGHwGBSwiYXaaqviw5TJqqMQELqMk
olcDbDirectory: /usr/local/var/openldap-data

上面的 olcRootPW 是加密密码,该密码可用下面的命令生成:

slappasswd -s 123456

注意,上面由 olcDbDirectory 所指定的数据库存储目录,必须在导入前创建,并且配置权限为700。

导入配置数据库
# 创建配置文件存储目录
mkdir /usr/local/etc/slapd.d
# 下面的 slapd.ldif 为上一步复制出来并修改后的文件
/usr/local/sbin/slapadd -n 0 -F /usr/local/etc/slapd.d -l slapd.ldif
# 显示下面的信息,表示添加成功
Closing DB...
启动 SLAPD
/usr/local/libexec/slapd -F /usr/local/etc/slapd.d

# 检查配置是否正确以及服务启动正常
ldapsearch -x -LLL -b '' -s base '(objectclass=*)' namingContexts
添加条目到目录中

添加条目到目录中,一般只需要2步:1.创建LDIF文件;2.运行ldapadd添加

创建LDIF文件
dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: Example Company
dc: example

dn: cn=Manager,dc=example,dc=com
objectclass: organizationalRole
cn: Manager
运行ldapadd添加
ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f add_root.ldif

# 搜索
ldapsearch -x -LLL  -b 'dc=example,dc=com' '(objectclass=*)'

总结

很多时候学习的过程是:不知其然–>知其然,不知其所以然–>知其所以然。实际上做到这里,一个简单的OpenLDAP服务器就已经搭建完成了,理论上可以进行除了系统管理级别之外的任何操作。但是因为我刚开始实验的时候,还处于不知其然的初级阶段,因此即使部署成功了,但是不知道怎么用,以及用什么,后面又多花了2天才发现我已经安装成功了!

参考资料

  • 官方快速入门