之前出过一篇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/
当你看到这个的时候,恭喜你,编译成功~
根据提示,接下来构建依赖项
make depend
当你看到这些时,恭喜你,离成功又进了一步
再接下来就是安装咯,如果你运行完出现下图,那么恭喜你,整个安装过程就完美结束啦~
make && make install
【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/
我们可以看到安装完成后的目录结构如下
其中各个目录用途:
目录 |
用途 |
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=*)'
结果如下图,便是启动成功了
【添加用户】
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
出现下图,就证明添加成功
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
5、查询已添加的用户
ldapsearch -x -h localhost -b "dc=users,dc=cms" -D "cn=admin,dc=users,dc=cms" -LLL -W
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"