Linux系统下openldap源码部署详细教程,linuxopenldap
Linux系统下openldap源码部署详细教程,linuxopenldap
Linux系统下openldap源码部署详细教程。
一。环境
服务器:基于CentOS的-7-x86_64-1511
服务器IP:172.18.12.203
二,软件获取
OpenLDAP的
OpenLDAP官网下载地址:http : //www.openldap.org/software/download/
OpenLDAP 2.4.44:ftp ://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.44.tgz
BDB
berkeley-db-5.1.29 (OpenLDAP当前与6.x版本不兼容,READEME中明确写出兼容4.4?4.8或5.0?5.1):
http://download.oracle.com/berkeley-db/db-5.1.29.tar.gz
LDAP管理员
ldapadmin 2015.2:
官网下载地址:http://www.ldapbrowser.com/download.htm
64位:http : //softerra-downloads.com/ldapadmin/ldapadmin-4.13.16704.0-x64-eng.msi
三。准备
1. 关闭selinux的;
2. 打开防火墙tcp 389/636端口。
# TCP 389是OpenLDAP的明文传输端口,TCP 636是SSL加密传输的端口。
#centos7默认自带firewalld服务,可以停用之后安装iptables。
四,安装的OpenLDAP
1. 依赖包
#涉及libtool-ltdl与libtool-ltdl-devel,如不安装,在编译时报错:配置:错误:找不到libtool ltdl.h yum install * ltdl * -y
2. 安装BDB
#必须在解压包的build_unix目录中编译安装,否则会报错 [根@本地?] #坎德拉/ USR /本地/ SRC / [根@本地SRC] #焦油-zxvf DB-5.1.29.tar.gz [根@本地SRC] #CD DB-5.1.29 / build_unix / [根@本地build_unix] #../dist/configure前缀=的/ usr /本地/ BerkeleyDB的-5.1.29 [根@本地build_unix] #化妆 [根@本地build_unix] #make install的
3. 更新LIB库
#保证在后面编译的OpenLDAP时能找到的lib和包括下的库 [根@本地build_unix] #坎德拉/ USR /本地/ SRC / [根@本地SRC] #回声“/usr/local/berkeleydb-5.1.29/ LIB /”> /etc/ld.so.conf中 [根@本地SRC] #LDCONFIG -v
4. 安装的OpenLDAP
#编译选项可以通过./configure --help查看; #其中make test一步时间较长; #如果未设置CPPFLAGS,配置过程可能会提示configure:error:BDB / HDB:BerkeleyDB not available或者configure:error:BerkeleyDB版本与BDB / HDB后端不相容 [根@本地?] #坎德拉/ USR /本地/ SRC / [根@本地SRC] #焦油-zxvf OpenLDAP的-2.4.44.tgz [根@本地SRC] #CD的OpenLDAP-2.4 .44 [root @ localhost openldap-2.4.44] #./configure --prefix = / usr / local / openldap-2.4.44 --enable-syslog --enable-modules --enable-debug --with-tls CPPFLAGS = -I / usr / local / berkeleydb-5.1.29 / include / LDFLAGS = -L / usr / local / berkeleydb-5.1.29 / lib / [root @ localhost openldap-2.4.44]#使依赖 [根@本地的OpenLDAP-44年2月4日] #使 [根@本地的OpenLDAP-44年2月4日] #使测试 [根@本地的OpenLDAP-44年2月4日] #使安装
5. 设置可执行命令
#对OpenLDAP的客户端(bin)中与服务器端(sbin目录)相关执行档添加软链接,也可以通过增加环境变量的方式设置 [根@本地的OpenLDAP-44年2月4日] #CD /usr/local/openldap-2.4 0.44 [根@本地的OpenLDAP-44年2月4日] #LN -s /usr/local/openldap-2.4.44/bin/*的/ usr / local / bin中/ [根@本地的OpenLDAP-44年2月4日] #LN - s /usr/local/openldap-2.4.44/sbin/* / usr / local / sbin /
五,简单配置
1. 安装完成的OpenLDAP的-44年2月4日目录结构
OpenLDAP的安装完成后相关目录承载的功能如下:
bin / - 客户端工具如ldapadd,ldapsearch
etc / - 包含主配置文件slapd.conf,schema,DB_CONFIG等
包括/
LIB /
libexec / - 服务端启动工具slapd
sbin / - 服务端工具如slappasswd
分享/
var / --bdb数据,日志存放目录
2. 配置的rootdn密码(可选)
#设置rootdn密码,这里设置为123456; #这样rootdn密码为密文方式,复制输出密文到主配置文件rootdn对应的位置即可,如果不想麻烦,可以忽略此步,在主配置文件中使用明文。即可 [根@本地?] #CD /usr/local/openldap-2.4.44/ [根@本地的OpenLDAP-44年2月4日] #slappasswd 新密码: 重新输入新的密码: {SSHA} K9 + WK / t1e0V0K6pUMOyTsaTwkDBNED iP
3. 主配置文件的slapd.conf
[根@本地的OpenLDAP-44年2月4日] #CD /usr/local/openldap-2.4.44/etc/openldap/ [根@本地的OpenLDAP] #VIM的slapd.conf #以下修改紫红色字体的英文未做修改的部分,红色字体是有修改部分,蓝色字体表示新增部分 #模式默认只有core.schema中,各级需要添加,这里将同配置文件一个目录的架构目录中有的架构文件都加到配置文件中; 5 include /usr/local/openldap-2.4.44/etc/openldap/schema/core.schema 6 include /usr/local/openldap-2.4.44/etc/openldap/schema/collective.schema 7包括/usr/local/openldap-2.4.44/etc/openldap/schema/corba.schema 8包括/usr/local/openldap-2.4.44/etc/openldap/schema/cosine.schema 9 include /usr/local/openldap-2.4.44/etc/openldap/schema/duaconf.schema 10包括/usr/local/openldap-2.4.44/etc/openldap/schema/dyngroup.schema 11包括/usr/local/openldap-2.4.44/etc/openldap/schema/inetorgperson.schema 12包括/usr/local/openldap-2.4.44/etc/openldap/schema/java.schema 13包括/usr/local/openldap-2.4.44/etc/openldap/schema/misc.schema 14包括/usr/local/openldap-2.4.44/etc/openldap/schema/nis.schema 15 include /usr/local/openldap-2.4.44/etc/openldap/schema/openldap.schema 16 include /usr/local/openldap-2.4.44/etc/openldap/schema/pmi.schema 17包括/usr/local/openldap-2.4.44/etc/openldap/schema/ppolicy.schema 25 pidfile /usr/local/openldap-2.4.44/var/run/slapd.pid 26 argsfile /usr/local/openldap-2.4.44/var/run/slapd.args #新增日志文件级别与路径,需要在编译时--enable调试,否则日志文件输出,不影响调试模式; 28日志级别256 29 logfile /usr/local/openldap-2.4.44/var/slapd.log #这里使用mdb做后端数据库,也可以修改为“bdb”参数,在OpenLDAP官方文档“11.4。LMDB”章节中有介绍mdb是推荐使用的后端数据库; 67数据库mdb #使用mdb做后端数据库时,根据官方文档中说明需要设置一个空间值,“除了最小配置需要的常用参数之外,mdb后端需要设置最大大小,这应该是最大的数据库有望增长(以字节为单位),文件系统还必须提供足够的空间来容纳这个大小。“;如果使用bdb做后端数据库,需要将此项参数注释掉; 68最大尺寸1073741824 #修改域名及管理员账户名; 69后缀“dc = sys,dc = com” 70 rootdn“cn = admin,dc = sys,dc = com” #使用密文密码,即前面使用slappasswd生成的密文; 74 rootpw {SSHA} K9 + WK / t1e0V0K6pUMOyTsaTwkDBNED iP #OpenLDAP的数据目录,采用MDB时,在相应目录生成” data.mdb中“与” lock.mdb “文件;采用BDB时,在相应目录生成” dn2id.bdb “与” id2entry.bdb “及多个” __db.00 *“文件 .78目录/usr/local/openldap-2.4.44/var/openldap-data 80索引objectClass eq
4. 初始化OpenLADP(可选)
#如果采用mdb做后端数据库,此步骤可忽略,DB_CONFIG是bdb / hdb数据库使用的; #与主配置文件中的配置有关,主配置文件确定使用bdb与数据存放路径 [root @ localhost openldap]#CD /usr/local/openldap-2.4.44/var/openldap-data/ [根@本地OpenLDAP的数据]#CP DB_CONFIG.example DB_CONFIG
5. 启动OpenLADP
#直接在后台工作; #非root用户不能监听端口1?1024,如果是非root用户,有可能需要重新定义服务端口 [root @ localhost?] #/ usr/local/openldap-2.4.44/libexec/slapd #在前端工作,输出debug信息 [root @ localhost?] #/usr/local/ openldap-2.4.44/libexec /slapd -d 256
6. 验证
[根@本地?] #ldapsearch的-x -b '' -s碱'(对象类= *)' #或者[根@本地?]#ldapsearch的-x -b '' -s碱'(对象类= *)' namingContexts #或者使用netstat -tunlp | grep 389,ps -ef | grep slapd,ps aux | grep slapd等也可。
如图示,说明的OpenLDAP已经启动运行成功:
六。简单使用(示例)
1. 创建1个管理员账号
编辑LDIF文件
#注意与slapd.conf文件中保持一致,下面的命令同理, #本人曾在下面的ldapadd命令中将“admin”写成了“amdin”,导致一直报“ldap_bind:Invalid credentials(49)”错每次都是翻回上一条命令执行),排查了3个小时左右才发现。 [根@本地?] #VIM test.ldif dn:dc = sys,dc = com objectclass:dcObject objectclass:组织 o:SYS.Inc dc:sys dn:cn = admin,dc = sys,dc = com objectclass:organizationalRole cn:admin
插入数据库
[根@本地?] #ldapadd的-x -D “CN =管理员,DC = SYS,DC = COM” -W -f test.ldif
可以看到账号已经加入到LDAP中:
验证
[根@本地?] #ldapsearch的-x -b 'DC = SYS,DC = COM' '(objectClass的= *)'
2. 创建1个具有部门属性的员工
编辑LDIF文件
#这里其实是先创建1个部门”它”,再在”它”部门创建了1个员工,实际上是两条命令 [根@本地?] #VIM test2.ldif dn:ou = it,dc = sys,dc = com ou:它 objectClass:organizationalUnit dn:cn = test1,ou = it,dc = sys,dc = com ou:它 cn:test1 sn:t1 objectClass:inetOrgPerson objectClass:organizationalPerson
插入数据库
[根@本地?] #ldapadd的-x -D “CN =管理员,DC = SYS,DC = COM” -W -f test2.ldif
可以看到已经员工账号加入到LDAP中:
验证
[根@本地?] #ldapsearch的-x -b 'DC = SYS,DC = COM' '(objectClass的= *)'
评论暂时关闭