一、下载安装包

1、OpenLDAP v2.4.49

  链接:https://pan.baidu.com/s/1ezZSgCCUxJV7_ou0v58IHQ
  提取码:gmie

2、BerkeleyDB v5.0

  链接:https://pan.baidu.com/s/1424j_Ok5BzMSwxlYkBE9bQ
  提取码:51o3

二、安装 BerkeleyDB

  因为在安装 OpenLDAP 时会先检测依赖包,而 BerkeleyDB 就是其中之一,所以先安装该数据库。

1、解压。

tar -xzvf db-5.0.32.tar.gz

2、进入该软件目录,依次执行如下命令。

cd build_unix
../dist/configure
make
sudo make install

  该数据库默认安装到了/usr/local/BerkeleyDB.5.0/lib目录下,如下图所示:

db 安装目录

3、将上述目录加到系统变量中。

sudo vim /etc/ld.so.conf

  在文档末尾加入如下代码:

/usr/local/BerkeleyDB.5.0/lib/

  然后执行

sudo ldconfig -v

三、安装 OpenLDAP

  1、解压 openldap-2.4.49.tgz 。
  2、进入目录,执行如下指令。

./configure CPPFLAGS="-I /usr/local/BerkeleyDB.5.0/include -D_GNU_SOURCE" LDFLAGS="-L/usr/local/BerkeleyDB.5.0/lib" LD_LIBRARY_PATH="/home/xcl/下载/db-5.0.32/build_unix/.libs"

  注意,设置上述选项的原因如下:

export LDFLAGS="-L/usr/local/BerkeleyDB.5.0/lib"

  注:不设置上述选项时,报configure: error: BDB/HDB: BerkeleyDB not available错误。

export LD_LIBRARY_PATH="/home/xcl/下载/db-5.0.32/build_unix/.libs"

  注:不设置上述选项时,报configure: error: Berkeley DB version mismatch错误。

sudo make depend
sudo make
su root -c 'make install'

  默认的配置文件存放目录: /usr/local/etc/openldap
  默认的安装目录:/usr/local/libexec,可执行文件名称:slapd

四、配置 OpenLDAP

1、配置 ldap 的 dc 和 cn

sudo vim /usr/local/etc/openldap/slapd.conf

  修改其中的下面两行:

suffix "dc=example,dc=com"
rootdn "cn=Manager,dc=example,dc=com"

  修改后的效果如图:

slapd.conf
  • database,mdb,表示使用的数据库为 Berkeley DB 。
  • rootdn,管理员账号。
  • rootpw,管理员密码。
      该文件更改之后,需要重启 slapd 进程。

2、启动slapd

su root -c /usr/local/libexec/slapd

  验证一下能不能使用:

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

ldapsearch 结果

  说明ldap服务器已经可以使用了。

3、新建管理账号

  建立一个xcl.ldif 文件

sudo vim xcl.ldif

  内容如下:

dn: dc=xcl,dc=com
objectclass: dcObject
objectclass: organization
o: xcl company
dc: xcldn:cn=Manager,dc=xcl,dc=com
objectclass:organizationalRole
cn: Manager

  将账号导入插入数据库

ldapadd -x -D "cn=Manager,dc=xcl,dc=com" -W -f xcl.ldif

  如果需要密码,我们的默认密码是:secret
  (位于/usr/local/etc/openldap/slapd.conf)

新增账号成功

4、查询账号

ldapsearch -x -b 'dc=xcl,dc=com' '(objectclass=*)'

  结果

查询结果

五、Windows IDAP Admin 测试

1、下载软件

  链接:https://pan.baidu.com/s/1aIIptqc5saD6-cDvBTrPVQ
  提取码:qvnx

2、配置 IDAP Admin

配置界面

  连接之后,结果如下:

连接结果

  OK!

六、其他问题

1、当重复安装 openldap 时,有可能发生执行ldapsearch命令时,没有反应,就是在终端不输出任何结果。
  解决办法是删掉/usr/local/libexec/下的slapd文件,删掉/usr/local/etc/下的openldap,即:重装该软件。
2、使用 windows ldap admin 软件连接 server 时,有时会出现无法连接的问题,请关闭 server 和 client 端防火墙再试。

原博客的步骤是没有问题的,就是有些bug,本文已经修复。

(SAW:Game Over!)

OpenLDAP / ubuntu 18.04 下源码编译及安装说明相关推荐

  1. Ubuntu 16.04上源码编译和安装pytorch教程,并编写C Demo CMakeLists.txt

    本文首发于个人博客https://kezunlin.me/post/54e7a3d8/,欢迎阅读最新内容! tutorial to compile and use pytorch on ubuntu ...

  2. ubuntu安装python_ubuntu18.04下源码编译安装最新版本Python3

    原文链接:ubuntu18.04下源码编译安装最新版本Python3 截止到2019年4月9日,Python3最新的版本是3.7.3. 在ubuntu18.04中已经安装的Python3版本是3.6. ...

  3. python版本升级后编译_ubuntu18.04下源码编译安装最新版本Python3

    截止到2019年4月9日,Python3最新的版本是3.7.3. 在ubuntu18.04中已经安装的Python3版本是3.6.7,下面我们就演示一下如何在ubuntu18.04下源码编译安装Pyt ...

  4. linux源码下载阿帕奇,Ubuntu 12.04下源码安装Apache

    环境:Ubuntu 12.04 [简单安装] 一般第一次安装Apache都较为顺利. 1. 下载并解压 root@ubuntu:/home/qy/share#tar zxvf httpd-2.2.22 ...

  5. ubuntu 16.04下源码安装opencv3.4

    源码安装opencv,遇到了一些小波折,这里做个备忘吧. 首先要下载源码,路径: https://github.com/opencv/opencv 下载成功后,在opencv的根目录下执行下面操作: ...

  6. Bullet3-2.87在Ubuntu16.04下源码编译安装

    编译安装Bullet3-2.87 安装过程其实很简单,有多重源码安装方法,这里提供两种: 方法1: cd bullet3-2.87 mkdir build && cd build cm ...

  7. Linux环境下源码编译方式安装MySQL5.1(1)

    1.源码安装MySQL 5.1 GA 创建组和用户: [root@mysqldb2 ~]# groupadd mysql [root@mysqldb2 ~]# useradd -g mysql mys ...

  8. OpenLDAP / Ubuntu 18.04 下 docker 版安装

    一.拉取镜像 docker pull osixia/openldap 结果如下: 拉取过程 二.编写 docker-compose.yml version: '3' services:openldap ...

  9. Ubuntu 16.04下源码安装Catkin

    一.下载源代码 Catkin ~$ sudo apt-get install git ~$ git clone https://github.com/ros/catkin 二.安装依赖项 1.Catk ...

最新文章

  1. Python使用matplotlib可视化多个不同颜色的折线图、通过FontProperties为可视化图像配置中文字体可视化、并指定字体大小
  2. 关于linux基础的博客,第一篇博客,以下。
  3. 【Android 进程保活】Low Memory Killer 机制
  4. 【指标统计】删除错误遥信
  5. 转载:js拖拽文本文档并读取内容到textarea
  6. 【ios】Storyboard教程
  7. Amazon Aurora 深度探索
  8. IIS服务器Web访问提示输入密码问题
  9. LeetCode之Remove Element
  10. Screen命令让Linux shell在后台运行
  11. mysql 杂记(一)
  12. init.x java_详谈jvm--Java中init和clinit的区别
  13. 360安全浏览器划词翻译_有种遗憾是这些浏览器插件你一个没用过
  14. 讲解对于Java中如何计算日期之间的天数知识
  15. Android的第一行代码
  16. radon变换(c++、OpenCV实现)
  17. 对给git配置邮箱和用户名的理解
  18. HDU 4287 Intelligent IME 水题
  19. PHP使用web3还原助记词
  20. K-Fold交叉验证 原理+python实现

热门文章

  1. NOIp 2014 #2 联合权值 Label:图论 !!!未AC
  2. [转载]如何编写无法维护的代码(3)
  3. UITableViewCell自定义高度
  4. 【Binary Tree Maximum Path Sum】cpp
  5. html中name和id的区别 [ZT]
  6. seaborn.FacetGrid
  7. wordpress引入php文件,WordPress主题制作之模板文件的引入方法,wordpress模板
  8. linux md5sum获取文件指纹数值并使用cut切割
  9. deepin 20.2.4 磁盘分区扩容
  10. [Django 3.2.8] SimpleUI的分页问题