一、OpenLdap安装



1、

创建openldap目录


% mkdir /opt/openldap/software


2、

将openldap-2.4.46.tgz上传至服务器/opt/openldap/software


3、

解压openldap-2.4.46.tgz


% tar xfz openldap-2.4.46.tgz


4、

变更当前目录位置


% cd /opt/openldap/software/openldap-2.4.46


5、

配置编译系统


% ./configure --prefix=/opt/openldap/openldap-2.4.46


如果结束时出现:configure: error: BDB/HDB: BerkeleyDB not available


则需要安装BerkeleyDB,请见《二、BerkeleyDB安装》。


6、

编译依赖


% make depend


如果编译结束后,向上查看日志时发现:plugin.c:33:18: 致命错误:ltdl.h:没有那个文件或目录


则需要安装libtool-ltdl信赖,命令如下:


% rpm -ivh libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm


% rpm -ivh libtool-ltdl-devel-2.4.2-22.el7_3.x86_64.rpm


7、

编译


% make


8、

测试系统(如果上面没有错误,本步可以跳过。时间较长)


% make test


9、

安装软件(必须使用Root用户)


% make install




恭喜您!OpenLdap安装完毕。请转至《三、OpenLdap配置》继续操作。




二、BerkeleyDB安装

1、

将db-4.8.30.NC.tar.gz上传至服务器/opt/openldap/software


2、

解压db-4.8.30.NC.tar.gz


% tar xfz db-4.8.30.NC.tar.gz


3、

变更当前目录位置


% cd /opt/openldap/software/db-4.8.30.NC/build_unix/


4、

配置编译系统


% ../dist/configure --prefix=/opt/openldap/berkeleydb-4.8.30


5、

编译


% make


6、

安装软件(必须使用Root用户)


% make install


7、配置OpenLdap编译时相关参数


% export CPPFLAGS="-I/opt/openldap/berkeleydb-4.8.30/include -D_GNU_SOURCE"


注:不设置OpenLdap在make时报getpeereid.c:65: error: storage size of ‘peercred’ isn’t known错误


% export LDFLAGS="-L/opt/openldap/berkeleydb-4.8.30/lib"


注:不设置OpenLdap在configure时报configure: error: BDB/HDB: BerkeleyDB not available错误


% export LD_LIBRARY_PATH="/opt/openldap/berkeleydb-4.8.30/lib"


注:不设置OpenLdap在configure时报configure: error: Berkeley DB version mismatch错误


把/opt/openldap/berkeleydb-4.8.30/lib/的库路径直接加到/etc/ld.so.conf文件最后一行,添加完成后执行一次 ldconfig,使用配置文件生效。




恭喜您!BerkeleyDB安装完毕。请转回至《一、OpenLdap安装5、

配置编译系统》继续操作。




三、OpenLdap配置

1、打开/opt/openldap/openldap-2.4.46/etc/openldap/slapd.conf(OpenLDAP的主配置文件,记录根域信息,管理员名称,密码,日志,权限等)


将下面内容复制到文件include

/opt/openldap/openldap-2.4.46/etc/openldap/schema/core.schema处下方


include

/opt/openldap/openldap-2.4.46/etc/openldap/schema/corba.schema


include

/opt/openldap/openldap-2.4.46/etc/openldap/schema/cosine.schema


include

/opt/openldap/openldap-2.4.46/etc/openldap/schema/inetorgperson.schema


include

/opt/openldap/openldap-2.4.46/etc/openldap/schema/misc.schema


include

/opt/openldap/openldap-2.4.46/etc/openldap/schema/openldap.schema


include

/opt/openldap/openldap-2.4.46/etc/openldap/schema/nis.schema


include

/opt/openldap/openldap-2.4.46/etc/openldap/schema/java.schema


include

/opt/openldap/openldap-2.4.46/etc/openldap/schema/collective.schema


include

/opt/openldap/openldap-2.4.46/etc/openldap/schema/duaconf.schema


include

/opt/openldap/openldap-2.4.46/etc/openldap/schema/dyngroup.schema


include

/opt/openldap/openldap-2.4.46/etc/openldap/schema/pmi.schema


include

/opt/openldap/openldap-2.4.46/etc/openldap/schema/ppolicy.schema




2、修改域名及管理员账户名, 这里我域名设置为topnet,用户设置为admin


修改前为:


suffix

"dc=my-domain,dc=com"


rootdn

"cn=Manager,dc=my-domain,dc=com"


修改后为


suffix

"dc=intranet.cas,dc=com"


rootdn

"cn=admin,dc=intranet.cas,dc=com"




3、修改管理员的密码,默认密码是secret,这里设置为ldap@2.4.46;


修改前为rootpw

secret


下面这样获取密码为密文方式,如果不想麻烦,可以忽略此步,在主配置文件中使用明文即可。


% slappasswd


New password:输入新密码(如:ldap@2.4.46)


Re-enter new password:重新输入刚才的密码(如:ldap@2.4.46)


得到(每次结果都不一样)


{SSHA}04dAoI2rNoF5qw2SmX/MYncIddart4yj


复制上一行得到的字符串,替换到之前的secret


密文方式修改后为rootpw

{SSHA}04dAoI2rNoF5qw2SmX/MYncIddart4yj


明文方式修改后为rootpw

ldap@2.4.46




4、在/opt/openldap/openldap-2.4.46/etc/openldap目录下新建intranet.cas.ldif,并将下面内容粘贴到文件中保存


dn: dc=intranet.cas,dc=com


objectclass: dcObject


objectclass: organization


o: topnet.Inc


dc: intranet.cas




dn: cn=admin,dc=intranet.cas,dc=com


objectclass: organizationalRole


cn: admin




恭喜您!OpenLdap配置完毕。请转回至《四、OpenLdap初次启动》继续操作。




四、OpenLdap初次启动

1、启动LDAP


% /opt/openldap/openldap-2.4.46/libexec/slapd -d 256




2、将新增的intranet.cas.ldif插入到LDAP中


% ldapadd -x -D "cn=admin,dc=intranet.cas,dc=com" -w ldap@2.4.46(上面设置的密码) -f /opt/openldap/openldap-2.4.46/etc/openldap/intranet.cas.ldif


3、停止LDAP


% Ctrl+C


恭喜您!OpenLdap初次启动完毕。请转回至《五、配置OpenLdap为自启动》继续操作。




五、配置OpenLdap为自启动

注:记得要设置防火墙,否则只能本机访问


1、打开/etc/rc.d/rc.local


在最后一行增加,默认从389,636监听


/opt/openldap/openldap-2.4.46/libexec/slapd -h "ldap:///  ldaps:///"


我们也可以更改端口,如下:


/opt/openldap/openldap-2.4.46/libexec/slapd -h "ldap://:9010"




/opt/openldap/openldap-2.4.46/libexec/slapd -h "ldaps://:9011"



2、设置/etc/rc.d/rc.local为可执行


% chmod +x /etc/rc.d/rc.local