一、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