SUSE 12 编译安装openldap 2.4.40(centos redhat也适用)

       之前出过一篇OpenLDAP2.4.40rpm安装和配置(点击就能过去看),rpm看起来固然简单方便,但是缺少依赖搞起来很难受,最关键的是,还要删除之前的自带的不同版本的openldap,这样会导致yum命令不能使用,一定程度上来说并不合适。所以,我又开始发掘编译安装的路子,话不多说,开炮!!!啊不,开干~

安装环境:

SUSE Linux Enterprise Server 12 (x86_64)

db-4.7.25.tar.gz

openldap-2.4.40.tgz


首先做基础配置

# 关闭firewalld
systemctl stop firewalld
systemctl disable firewalld

# 关闭selinux
setenforce 0

# 配置永久关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# 清除iptables规则
iptables -t -nat -F
iptables -F

官方提供的6个国家的下载站点:

http://www.openldap.org/software/download/OpenLDAP/MIRRORS

我选择了富有浪漫气息的法国站点,然而进去后,发现极具理工男气息,极简化到只有包的下载地址,废话不多说,上法国站点:

http://repository.linagora.org/OpenLDAP/openldap-release/

我选择了2.4.40版本下载,下载链接如下:

http://repository.linagora.org/OpenLDAP/openldap-release/openldap-2.4.40.tgz

同时还需要下载一个依赖包,地址如下:

http://download.oracle.com/berkeley-db/db-5.1.29.tar.gz

拿到两个包后,如下图:

 

【安装BerkeleyDB4.7依赖】

首先解压db依赖包

 tar xvf db-4.7.25.tar.gz

进入解压后的编译目录

cd db-4.7.25/build_unix/

进行编译

../dist/configure --prefix=/usr/local/BerkeleyDB.4.7

进行安装

 make && make install

提示缺什么就去google啥包安装吧~

 

接下来就是更新一下lib库了

echo "/usr/local/BerkeleyDB.4.7/lib/" >> /etc/ld.so.conf

生效修改的配置

ldconfig -v

进行一下环境变量的配置后面接的路径是解压后文件路径,要是不配置,会出现configure: error: Berkeley DB version mismatch这个错误

export LD_LIBRARY_PATH=/usr/local/src/Midd-package/openldap/openldap-tar/db-4.7.25/build_unix/.libs/

【安装openldap2.4.40】

解压安装包

tar xvf openldap-2.4.40.tgz

进到解压后的目录

cd openldap-2.4.40

进行编译,带上刚刚安装的依赖包的路径等参数

./configure --prefix=/usr/local/openldap-2.4.40 --enable-syslog --enable-modules --enable-debug --with-tls CPPFLAGS=-I/usr/local/BerkeleyDB.4.7/include/ LDFLAGS=-L/usr/local/BerkeleyDB.4.7/lib/

当你看到这个的时候,恭喜你,编译成功~

SUSE 12 编译安装openldap 2.4.40(centos redhat也适用)_第1张图片

根据提示,接下来构建依赖项

make depend

当你看到这些时,恭喜你,离成功又进了一步

SUSE 12 编译安装openldap 2.4.40(centos redhat也适用)_第2张图片

再接下来就是安装咯,如果你运行完出现下图,那么恭喜你,整个安装过程就完美结束啦~

make && make install 

SUSE 12 编译安装openldap 2.4.40(centos redhat也适用)_第3张图片

【ldapopen2.4 配置使用】

添加可执行命令,也就是windows中的快捷键

ln -s /usr/local/openldap-2.4.40/bin/* /usr/local/bin/
ln -s /usr/local/openldap-2.4.40/sbin/* /usr/local/sbin/

我们可以看到安装完成后的目录结构如下

SUSE 12 编译安装openldap 2.4.40(centos redhat也适用)_第4张图片

 

其中各个目录用途:

目录

用途

bin

客户端工具,如:ldapadd、ldapsearch等

etc

包含主配置文件slapd.conf、schema、DB_CONFIG等

include

 

lib

各种lib依赖包

libexec

服务端启动工具slapd

sbin

服务端工具,如:slappasswd

share

 

var

bdb数据、log存放目录

   

接下来配置密码

slappasswd

一定要保存好生成的SSHA密钥

生成好密钥后,修改配置文件

vim /usr/local/openldap-2.4.40/etc/openldap/slapd.conf

修改管理员账号,改为你想要的账号

suffix "dc=domain,dc=com"

rootdn "cn=root,dc=domain,dc=com"

添加密码

rootpw {SSHA}asdfsadfsadfdsafasdf

添加日志文件

loglevel   256

logfile   /data/logs/openldap/slapd.log

验证配置文件是否有误:slaptest -u

出现下面这行即成功

config file testing succeeded

修改完配置文件,接下来初始化openldap

cp /usr/local/openldap-2.4.40/var/openldap-data/DB_CONFIG.example /usr/local/openldap-2.4.40/var/openldap-data/DB_CONFIG

【启动ldap】

进入启动文件目录
cd /usr/local/openldap-2.4.40/libexec/

后台启动
./slapd &

【验证是否启动】
ps aux | grep slapd

ldapsearch -x -b '' -s base'(objectclass=*)'

结果如下图,便是启动成功了

SUSE 12 编译安装openldap 2.4.40(centos redhat也适用)_第5张图片

【添加用户】

1、先配置ldap基础数据库
vim base.ldif

将以下内容粘贴进去

dn: dc=users,dc=cms
o: domain com
dc: users
objectClass: top
objectClass: dcObject
objectclass: organization

dn: cn=admin,dc=users,dc=cms
cn: admin
objectClass: organizationalRole
description: Directory Manager

dn: ou=People,dc=users,dc=cms
ou: People
objectClass: top
objectClass: organizationalUnit

dn: ou=Group,dc=users,dc=cms
ou: Group
objectClass: top
objectClass: organizationalUnit

2、添加好后再执行下面这句

ldapadd -x -h localhost -D "cn=admin,dc=users,dc=cms" -w Welcome123 -f /data/service/ldap_server/base.ldif

出现下图,就证明添加成功

SUSE 12 编译安装openldap 2.4.40(centos redhat也适用)_第6张图片

 

3、添加用户
vim user.ldif

将下面用户信息添加进去

dn: ou=managers,dc=users,dc=cms
ou: managers
objectClass: top
objectClass: organizationalUnit

dn:cn=cms.admin,ou=managers,dc=users,dc=cms
cn:cms.admin
sn:qwerw
objectclass:person
userPassword:lkjasdlkf

4、执行下面命令,出现下图,即添加成功
ldapadd -x -h localhost -D "cn=admin,dc=users,dc=cms" -w Welcome123 -f /data/service/ldap_server/user.ldif

 

SUSE 12 编译安装openldap 2.4.40(centos redhat也适用)_第7张图片

5、查询已添加的用户

ldapsearch -x -h localhost -b "dc=users,dc=cms" -D "cn=admin,dc=users,dc=cms" -LLL -W

SUSE 12 编译安装openldap 2.4.40(centos redhat也适用)_第8张图片

ldap常用命令

1.ldap删除所有用户
ldapdelete -x -h localhost -D "cn=admin,dc=users,dc=cms" -w  "asdfasdfasdf" -r "dc=users,dc=cms"

2.ldap重新添加所有用户
ldapadd -x -h localhost -D "cn=admin,dc=users,dc=cms" -w "asdfasdfasdf" -f user.ldif

3、配置文件路径
/data/service/ldap_server/user.ldif

4、查询用户
ldapsearch -x -h localhost -b "dc=users,dc=cms" -D "cn=admin,dc=users,dc=cms" -LLL -W

5、添加用户
ldapadd -x -D "cn=admin,dc=users,dc=cms" -w asdfsdafdsaf -f /data/service/ldap_server/user1.ldif

6、删除单个用户
ldapdelete -x -h localhost -D "cn=admin,dc=users,dc=cms" -W "cn=cms.test,ou=managers,dc=users,dc=cms"

 

SUSE 12 编译安装openldap 2.4.40(centos redhat也适用)_第9张图片

 

你可能感兴趣的:(openldap)