之前在linux上安装是是系统源上提供的包直接安装,如Centos上的rpm包,前不久RedHat宣布Centos将在2021年底停止维护,Centos7也只维护到2024年,所以现在公司新装的服务器改用了ubuntu的系统,之前用OpenLDAP系统源安装的方式就不通用了,所以采用源码的方式进行安装,这样后面会系统差别也不会很大。下面介绍Ubuntu下使用源码的方式安装OpenLDAP
安装BerkeleyDB
Openldap依赖BerkeleyDB,要求用Oracle Berkeley 4.4-4.8或者5.0-5.1版本的
下载地址:https://www.oracle.com/cn/database/technologies/berkeleydb.html
解压
tar xvf db-5.1.29.tar.gz
配置
cd db-5.1.29/build_unix
../dist/configure
编译
make –j
#安装
sudo make install
设置系统变量
vi /etc/ld.so.conf
添加
/usr/local/BerkeleyDB.5.1/lib/
配置生效
ldconfig
安装OpenLDAP
使用源码安装的方式,方便在不同类型的linux系统安装部署
安装ltdl
sudo apt install *ltdl* -y
解压
tar xvf openldap-2.4.59.tgz
cd openldap-2.4.59
配置
./configure --prefix=/usr/local/openldap-2.4.59 --enable-syslog --enable-modules --enable-debug CPPFLAGS="-I/usr/local/BerkeleyDB.5.1/include -D_GNU_SOURCE" LDFLAGS="-L/usr/local/BerkeleyDB.5.1/lib”
编译安装
make depend
make –j
sudo make install
配置启动
OpenLDAP安装完成后,相关配置默认安装在/usr/local/openldap-2.4.59/
修改/usr/local/openldap-2.4.59/etc/openldap目录下的配置文件
这种方式安装的配置文件都放在同一个,不像Centos源安装是分开的,那种方式防止乱改配置导致出问题,这种所有配置都放在一起容易理解点,但容易改了出错
根据需要添加schema
include /usr/local/openldap-2.4.59/etc/openldap/schema/collective.schema
include /usr/local/openldap-2.4.59/etc/openldap/schema/corba.schema
include /usr/local/openldap-2.4.59/etc/openldap/schema/cosine.schema
include /usr/local/openldap-2.4.59/etc/openldap/schema/duaconf.schema
include /usr/local/openldap-2.4.59/etc/openldap/schema/dyngroup.schema
include /usr/local/openldap-2.4.59/etc/openldap/schema/inetorgperson.schema
include /usr/local/openldap-2.4.59/etc/openldap/schema/java.schema
include /usr/local/openldap-2.4.59/etc/openldap/schema/misc.schema
include /usr/local/openldap-2.4.59/etc/openldap/schema/nis.schema
include /usr/local/openldap-2.4.59/etc/openldap/schema/openldap.schema
include /usr/local/openldap-2.4.59/etc/openldap/schema/pmi.schema
include /usr/local/openldap-2.4.59/etc/openldap/schema/ppolicy.schema
自定义的schema也一样
修改root账户
suffix "c=cn"
rootdn "cn=admin,c=cn"
rootpw xxxxxx
启动slapd
sudo /usr/local/openldap-2.4.59/libexec/slapd
调试模式
sudo /usr/local/openldap-2.4.59/libexec/slapd –d 256
查看是否启动成功
ps –ef|grep slapd
启动成功后使用工具进行访问
如果不能正常访问,请检查防火墙
添加根节点
sudo /usr/local/openldap-2.4.59/bin/ldapadd -x -D "cn=admin,c=cn" -W -f /home/mission/ldap/admin.ldif
输入admin账户的密码进行确认
根节点内容
dn: c=cn
objectClass: top
objectClass: country
c: cn
创建自启动
源码安装的自启动需要自己添加,现成的包会帮我们设置好
创建服务文件
vi /usr/lib/systemd/system/slapd.service
如果/usr/lib/systemd/system目录不存在,则手动创建
mkdir /usr/lib/systemd/system
添加以下内容
[Unit]
Description=slapd service
[Service]
Type=forking
PIDFile=/usr/local/openldap-2.4.59/var/run.pid
ExecStart=/usr/local/openldap-2.4.59/libexec/slapd
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
启动生效
systemctl daemon-reload
systemctl enable slapd
systemctl start slapd
结语
整体内容差不多就这些,其他slapd相关的工具、命令和用源安装的用法差不多,具体使用可以查看另外的文章