ubuntu 12.04下安装openldap,slapd.conf找不到的解决方法

时间:2023-03-08 17:44:34
ubuntu 12.04下安装openldap,slapd.conf找不到的解决方法

https://help.ubuntu.com/12.04/serverguide/openldap-server.html

ubuntu安装openldap经历了一系列挫折,网上找了半天资料都是一模一样,根本不能解决问题。

1.使用 apt-get install slapd ldap-utils,提示已经是最新版本
2. 在/etc/ldap目录下看到了有ldap.conf  sasl2  schema  slapd.d,没有之前熟悉的slapd.conf文件,
 原来ubuntu安装ldap之后本来就没有slapd.conf文件,所以不用找了。
3. 可以使用sudo dpkg-reconfigure slapd 对ldap重新进行配置
 
4.对于习惯使用slapd.conf配置文件的朋友来说,没有这个文件很不方便,那么,干脆自己创建该文件。在官方文档的说明中指出旧风格的slapd.conf仍然是支持的, 但必须转换为新的slapd配置格式,允许运行时改变被保存。虽然旧的风格配置使用一个单一的文件,通常安装在/usr/local/etc /openldap/slapd.conf(这个是自己编译安装openldap后slapd.conf的路径,如果是直接apt-get安装,路径是 /etc/ldpa/slapd.conf),新的风格采用了slapd后端数据库来存储配置。配置数据库通常放/usr/local/etc /openldap/slapd.d目录。从slapd.conf格式转换成slapd.d格式时,任何包含文件也将被集成到由此产生的配置数据库。

直接创建slapd.conf,备份删除slapd.d文件夹:

sudo touch /etc/ldap/slapd.conf

sudo mv /etc/ldap/slapd.d /etc/ldap/slap.d.bak -f

编辑slapd.conf文件,配置如下:

# slapd.conf - Configuration file for LDAP SLAPD
##########
# Basics #
##########
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel none
modulepath /usr/lib/ldap
# modulepath /usr/local/libexec/openldap
moduleload back_hdb
##########################
# Database Configuration #
##########################
database hdb
suffix "dc=example,dc=com"
rootdn "cn=Manager,dc=example,dc=com"
rootpw secret
directory /var/lib/ldap
# directory /usr/local/var/openldap-data
index objectClass,cn eq
########
# ACLs #
########
access to attrs=userPassword
       by anonymous auth
       by self write

by * none
access to *
       by self write
       by * none

重启openldap,

关闭:sudo kill `pgrep slapd`或者sudo service slapd stop

打开:sudo slapd或者sudo service slapd start

重启:sudo service restart或者 sudo invoke-rc.d slapd restart

查看openldap运行情况,只显示grep --color=auto slapd,说明没有运行。

ps aux | grep slapd

参考资料: http://hi.baidu.com/ankchl/item/5a93d1f972399d0985d27870