LDAP折腾记以及编译安装openldap

最近公司要全面去微软化,首先就拿AD域开刀。替代方案就只能是OpenLDAP。国内搜索一圈大部分教程都过时了。只能Google了。自此做个记录。系统ubuntu 16.04 server,最小化安装。

1,安装LDAP

sudo apt-get update 
sudo apt-get install slapd ldap-utils
sudo dpkg-reconfigure slapd

执行第二条命令会出现一个输入密码的对话框记得记住密码

执行的三条命令的时候,会出现配置对话框。记住选择项顺序 NO——》love.com(这里输入自己想要的域名)——》love(输入组织名与域名一致)——》管理员密码——》再输入管理密码(都输入一样的)——》HDB——》NO——》Yes——》NO

至此,安装完成。

2,安装phpldapadmin

sudo apt-get install phpldapadmin

这里会默认安装php和apache2

给系统增加中文显示

sudo apt-get install language-pack-zh-hans

3,配置phpldapadmin

sudo vi /etc/phpldapadmin/config.php

搜索以下部分并相应地进行修改。

将domain_nam_or_IP_address值更改你的ip地址或者域名。

$ servers-> setValue('server','host',' domain_nam_or_IP_address ');

对于下一部分,将dc=test改成你自己的域名与之前输入的一致。

$ servers-> setValue('server','base',array('dc = test ,dc = com '));
$ servers-> setValue('login','bind_id','cn = admin,dc = test ,dc = com ');

取消注释这一行并将值设置为“true”以避免一些不重要的恼人警告。

$ config-> custom-> appearance ['hide_template_warning'] = true ;

保存并关闭文件。重启下apache。

浏览器输入http://你自己的ip/phpldapadmin,打开后输入之前设置的密码。如果安装了防火墙请自己打开80端口对外开放。

 

方法2,编译安装openldap,准备环境

wget ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.47.tgz
wget https://download.oracle.com/berkeley-db/db-4.8.30.tar.gz
sudo apt install gcc
sudo apt install libwrap0-dev
sudo apt install make

解压db-4.8.30.tar.gz,cd到db-4.8.30目录安装BDB数据库

tar zxvf db-4.8.30.tar.gz
cd db-4.8.30/build_unix
../dist/configure && make && sudo make install

解压openldap-2.4.47.tgz,cd到openldap目录

./configure --prefix=/usr/local/openldap \
--enable-wrappers \
--enable-syslog \
--enable-modules \
--enable-debug \
--with-tls \
CPPFLAGS="-I/usr/local/BerkeleyDB.4.8/include" \
LDFLAGS="-L/usr/local/BerkeleyDB.4.8/lib"

遇到报错请参考下面命令,或自行解决

sudo sed -i '$a \/usr\/local\/BerkeleyDB.4.8\/lib' /etc/ld.so.conf.d/libc.conf
sudo ldconfig -v
ldconfig -n /usr/local/BerkeleyDB.4.8/lib

配置openLdap

创建快捷链接,设置可执行环境

cd /usr/local/openldap

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

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

目录功能如下

bin/      --客户端工具如ldapadd、ldapsearch
etc/      --包含主配置文件slapd.conf、schema、DB_CONFIG等
include/
lib/
libexec/   --服务端启动工具slapd
sbin/     --服务端工具如slappasswd
share/
var/      --bdb数据、log存放目录

设置密码为123456

{SSHA}GEWXOBz58bm07aIOleMj0RlvfAflc7cS

编辑配置文件

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

schema默认只有core.schema,各级需要添加如下

include         /usr/local/openldap/etc/openldap/schema/collective.schema
include         /usr/local/openldap/etc/openldap/schema/corba.schema
include         /usr/local/openldap/etc/openldap/schema/cosine.schema
include         /usr/local/openldap/etc/openldap/schema/duaconf.schema
include         /usr/local/openldap/etc/openldap/schema/dyngroup.schema
include         /usr/local/openldap/etc/openldap/schema/inetorgperson.schema
include         /usr/local/openldap/etc/openldap/schema/java.schema
include         /usr/local/openldap/etc/openldap/schema/misc.schema
include         /usr/local/openldap/etc/openldap/schema/nis.schema
include         /usr/local/openldap/etc/openldap/schema/openldap.schema
include         /usr/local/openldap/etc/openldap/schema/pmi.schema
include         /usr/local/openldap/etc/openldap/schema/ppolicy.schema

修改如下地方为自己定义

suffix          "dc=sys,dc=com"
rootdn          "cn=admin,dc=sys,dc=com"
rootpw          {SSHA}GEWXOBz58bm07aIOleMj0RlvfAflc7cS    #这里是之前生成的密码123456

初始化ldap

cd /usr/local/openldap/var/openldap-data/
cp DB_CONFIG.example DB_CONFIG
cat /usr/local/openldap/base.ldif
dc: dc=sys,dc=com
o: ldap
objectslass: dcobject
objectclass: organization
sudo /usr/local/openldap/bin/ldapadd -x -D "cn=admin,dc=sys,dc=com" -W -f /usr/local/openldap/base.ldif  #记得替换自己的
/usr/local/openldap-2.4.44/libexec/slapd  #启动

按上面一样安装phpldapadmin,登陆之后默认什么都没有。需要先创建posixGroup,才能创建用户。至此完成安装工作。

发布者

湘笃秀

曲水流觞,维湘笃秀

发表评论

电子邮件地址不会被公开。 必填项已用*标注