包下载地址
openldap包 ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.49.tgz
所需的BerkeleyDB包(可以看README文件) https://download.oracle.com/berkeley-db/db-4.6.21.tar.gz
安装依赖
yum -y install gcc gcc-c++ libtool libtool-ltdl libtool-ltdl-devel openssl openssl-devel openssl-libs cyrus-sasl cyrus-sasl-devel
编译BerkeleyDB
#不安装的话会报‘peercred’ isn’t known错误 tar xf db-4.6.21.tar.gz cd db-4.6.21/build_unix/ ../dist/configure -prefix=/usr/local/BerkeleyDB
编译openldap
#需要指定CPPFLAGS和LDFLAGS如果编译不过去还需要指定lib库 #echo "/usr/local/berkeleydb-5.1.29/lib/" > /etc/ld.so.conf #ldconfig tar xf openldap-2.4.49.tgz cd openldap-2.4.49/ ./configure --prefix=/openldap CPPFLAGS=-I/usr/local/BerkeleyDB/include/ LDFLAGS=-L/usr/local/BerkeleyDB/lib #添加环境变量 vim /etc/profile LDAP_HOME=/openldap export PATH=$PATH:${LDAP_HOME}/bin:${LDAP_HOME}/sbin:${LDAP_HOME}/libexec
编辑配置文件
#查看schema的加载顺序 将schema目录里面的schema加载到配置文件 vim /openldap/etc/openldap/schema/README include /openldap/etc/openldap/schema/core.schema include /openldap/etc/openldap/schema/collective.schema include /openldap/etc/openldap/schema/corba.schema #include /openldap/etc/openldap/schema/core.schema #这里重复了 include /openldap/etc/openldap/schema/cosine.schema include /openldap/etc/openldap/schema/duaconf.schema include /openldap/etc/openldap/schema/dyngroup.schema include /openldap/etc/openldap/schema/inetorgperson.schema include /openldap/etc/openldap/schema/java.schema include /openldap/etc/openldap/schema/misc.schema #include /openldap/etc/openldap/schema/nadf.schema #这个schema需要我的需要去掉才能启动 include /openldap/etc/openldap/schema/nis.schema include /openldap/etc/openldap/schema/openldap.schema include /openldap/etc/openldap/schema/ppolicy.schema pidfile /openldap/var/run/slapd.pid argsfile /openldap/var/run/slapd.args database mdb maxsize 1073741824 suffix "dc=test,dc=com" rootdn "cn=admin,dc=test,dc=com" rootpw admin #我这里用的是明文可以用slappasswd来加密 directory /openldap/var/openldap-data index objectClass eq loglevel 256 #增加log logfile /openldap/var/slapd.log #log文件位置 #cd /openldap/var/openldap-data cp DB_CONFIG.example DB_CONFIG
测试
slapd -u root ldapsearch -LLL -W -H ldap://ldap.test.com -D "cn=admin,dc=test,dc=com" -b "dc=test,dc=com" "(uid=*)" ldapsearch -x -b 'dc=test,dc=com' '(objectClass=*)'
来源:https://www.cnblogs.com/littlebylittle/p/12542532.html