日期:2014-05-16  浏览次数:20439 次

openldap的详细配置!(转)
我刚刚配完openldap具体如下:
安装软件包需要注意的问题 
编译 
编译和优化 
清除不必要的文件 

配置 
配置“/etc/ldap/slapd.conf”文件 
配置“/etc/rc.d/init.d/ldap”脚本文件 
更多的资料 

保证OpenLDAP的安全 
使得重要的配置文件不可改变 

OpenLDAP的创建和维护工具 
离线创建数据库 
IDIF输入文件(用文本表示的输入文件) 
为LDAP创建数据库 
ldapmodify 

OpenLDAP的用户工具 
搜索LDAP的数据项 

安装到系统中的文件 

概述 
LDAP(Lightweight Directory Access Protocol)是用来访问信息服务的标准协议。这个协议是用在Internet传输协议上,如:TCP,能够访问单独的目录服务或X.500目录。 

注意事项 

下面所有的命令都是Unix兼容的命令。 
源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。 
安装在RedHat Linux 6.1下测试通过。 
要用“root”用户进行安装。 
OpenLDAP的版本号是1_2_8。 

软件包的来源 
OpenLDAP的主页:http://www.openldap.org/。 

下载:openldap-1_2_8.tgz。 

安装软件包需要注意的问题 
最好在编译前和编译后都做一张系统中所有文件的列表,然后用“diff”命令去比较它们,找出其中的差别并知道到底把软件安装在哪里。只要简单地在编译之前运行一下命令“find /* >;ldap1”,在编译和安装完软件之后运行命令“find /* >; ldap2”,最后用命令“diff ldap1 ldap2 >; ldap”找出变化。 

编译 
把软件包(tar.gz)解压缩: 

[root@deep]# cp openldap-version.tgz /var/tmp 
[root@deep]# cd /var/tmp/ 
[root@deep]# tar xzpf openldap-version.tgz 

编译和优化 
转到OpenLDAP的新目录下。 

编辑“string.h”文件(vi +52 include/ac/string.h),删掉这些几行: 

#else 
/* some systems have strdup(), but fail to declare it */ 
extern char *(strdup)()&#59; 

上面的这几行对Linux系统是没有用的必须删掉。 

下面设置编译器的编译参数: 

CC="egcs" 
CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame- 
pointer -fno-exceptions" 
./configure 
--prefix=/usr 
--libexecdir=/usr/sbin 
--localstatedir=/var/run 
--sysconfdir=/etc 
--enable-shared 
--with-gnu-ld 

这些编译参数告诉编译器如何编译OpenLDAP: 

l 编译共享库 
l 假定C编译器使用GNU ld 

开始编译: 

[root@deep]# make depend 
[root@deep]# make 
[root@deep]# cd tests/ 
[root@deep]# make 
[root@deep]# cd .. 
[root@deep]# make install 

“make depend”命令编译必要的相关文件,“make”把源文件编译成可执行的二进制文件。“make install”把二进制文件和相关的配置文件安装到相应的目录中去。在“test”目录下的“make”命令在安装LDAP服务器之前进行一些必要的测试保证软件安装完成后能正常运行。如何测试失败在继续安装之前先要解决这些问题。 

[root@deep]# install -d -m 700 /var/ldap 
[root@deep]# echo localhost >; /etc/openldap/ldapserver 
[root@deep]# strip /usr/lib/liblber.so.1.0.0 
[root@deep]# strip /usr/lib/libldap.so.1.0.0 
[root@deep]# strip /usr/lib/libldap.a 
[root@deep]# strip /usr/lib/liblber.a 
[root@deep]# strip /usr/sbin/in.xfingerd 
[root@deep]# strip /usr/sbin/go500 
[root@deep]# strip /usr/sbin/go500gw 
[root@deep]# strip /usr/sbin/mail500 
[root@deep]# strip /usr/sbin/rp500 
[root@deep]# strip /usr/sbin/fax500 
[root@deep]# strip /usr/sbin/rcpt500 
[root@deep]# strip /usr/sbin/slapd 
[root@deep]# strip /usr/sbin/ldif2ldbm 
[root@deep]# strip /usr/sbin/ldif2index 
[root@deep]# strip /usr/sbin/ldif2id2entry 
[root@deep]# strip /usr/sbin/ldif2id2children 
[root@deep]# strip /usr/sbin/ldbmcat 
[root@deep