Linux下安装OpenLDAP简易教程
ldap吧
全部回复
仅看楼主
level 5
KingDancing3 楼主
1、安装BerkeleyDB 4.7.25:
官方地址:http://download.oracle.com/berkeley-db/db-4.7.25.tar.gz
百度网盘:网盘链接
# tar zxvfdb-4.7.25.tar.gz
# cddb_4.7.25
# cd build_unix/
#../dist/configure -prefix=/home/root/app/BerkeleyDB
# make
# make install
2、安装openldap前准备:配置环境变量
#exportCPPFLAGS="-I/home/root/app/BerkeleyDB/include -D_GNU_SOURCE"
注:不设置make时报getpeereid.c:65: error: storage size of ‘peercred’ isn’tknown错误
#exportLDFLAGS="-L/home/root/app/BerkeleyDB/lib"
注:不设置configure时报configure: error: BDB/HDB: BerkeleyDB notavailable错误
#exportLD_LIBRARY_PATH="/home/root/download/db-4.7.25/build_unix/.libs"
注:不设置configure时报configure: error: Berkeley DB versionmismatch错误
2013年04月09日 03点04分 1
level 5
KingDancing3 楼主
3、安装openldap-2.4.15:
官网:ftp://sunsite.cnlab-switch.ch/mirror/OpenLDAP/openldap-release/openldap-2.4.15.tgz
百度网盘:[无效] http://pan.baidu.com/share/link?shareid=425340&uk=1275832674
#tar zxvfopenldap-2.4.15.tgz
#cdopenldap-2.4.15/
#./configure-prefix=/home/root/app/openldap
# makedepend
# make test可跳过
# make
# makeinstall
2013年04月09日 04点04分 2
貌似这俩版本不配,看看这个https://tieba.baidu.com/p/2259256841
2013年04月09日 04点04分
level 5
KingDancing3 楼主

4、配置openldap:
#cd/home/XXX/app/openldap/etc/openldap
#geditslapd.conf
加入(注意:中间是空格+tab,顺序必须保证,有相互依赖关系):
include/home/XXX/app/openldap/etc/openldap/schema/corba.schema
include/home/XXX/app/openldap/etc/openldap/schema/cosine.schema
include/home/XXX/app/openldap/etc/openldap/schema/inetorgperson.schema
include/home/XXX/app/openldap/etc/openldap/schema/misc.schema
include/home/XXX/app/openldap/etc/openldap/schema/openldap.schema
include/home/XXX/app/openldap/etc/openldap/schema/nis.schema
include/home/XXX/app/openldap/etc/openldap/schema/java.schema
将文件中的
database bdb
suffix "dc=my-domain,dc=com"
rootdn "cn=root,dc=my-domain,dc=com"
rootpw secret
修改成自己的目录根,指定自己根的管理员,这里修改为root,与linux的root没有什么关系
rootdw是管理员的密码,默认密码是secret,这里可以使用MD5加密。
#cd/home/XXX/app/openldap/sbin
#slappasswd
Newpassword:
Re-enter newpassword:
{SSHA}mHzQL7t4YG/a6g5mt2YPLE/+ErmekI34
也可以指定加密方式:
# slappasswd -h{MD5}
将输出结果替换secret
2013年04月09日 04点04分 3
level 5
KingDancing3 楼主

5、启动openldap:
#/home/XXX/app/openldap/libexec
# su root -c"./slapd" 必须如此,1024以下的端口必须由root才能绑定,ldap是389端口。
如果启动不成功可以用./slapd -d 1启动debug模式。。将在屏幕打印启动信息
#netstat -tlnp发现389端口即启动成功
接下来的事情就是向数据库添加数据。ldap不支持sql,所以要用ldapadd这个程序来添加,添加的时候要用一个ldif文件,把要添加的东西写在里面,ldif的格式在adminguide里面有说明。首先要添加根,这一步是必要的,不然任何数据都添加不进去。我们编辑一个init.ldif文件,包括建立my-domain.com、管理者为domain.com底下的root、以及一个people的物件容器,用来放一般使用者。
dn:dc=my-domain,dc=com
objectClass:dcObject
objectClass:organization
dc:my-domain
o: my-domainCompany
dn:cn=root,dc=my-domain,dc=com
objectClass:organizationalRole
cn: root
dn:ou=people,dc=my-domain,dc=com
objectClass:organizationalUnit
ou: people
应该会看到你的organization、organizationRole、organizationUnit这三个,也就是你的最高网路域名‧最高管理者、以及一个准备用来容纳使用者的people 项目。这个people项目你当然可以自由取名。
提示:objectClass必须设置属性:
dcobject:dc用来表示一个域名的部分
organization:o用来表示一个组织的名称
person:cn和sn用来表示名和姓
organizationalPerson:与person相同。
organizationalRole:cn 表示管理者名称
organizationUnit:ou表示容器名称
详细参考:http://www.yolinux.com/TUTORIALS/LinuxTutorialLDAP-GILSchemaExtension.html
执行命令:
#cd/home/XXX/app/openldap/bin
#ldapadd -D"cn=root, dc=my-domain,dc=com" -w secret -f init.ldif
或者
#ldapadd -D"cn=root, dc=my-domain,dc=com" -W -finit.ldif
说明:-D指定管理员目录-f指定导入文件 -W表示弹出密码输入提示 如果是简单普通密码,则-w secret即可。
如果成功将提示:
adding new entrydc=my-domain,dc=com
adding new entrycn=root,dc=my-domain,dc=com
adding new entryou=people,dc=my-domain,dc=com
2013年04月09日 04点04分 4
1