php ldap源码安装配置,ldap源码安装

系统环境:AS4,软件包采用默认安装,内核版本2.6.9-11.EL

所需软件:

openldap-2.3.43.tgz

db-4.2.52.tar.gz

phpldapadmin-0.9.8.2.tar.gz

由于openldap需要Berkeley DB来存放数据,所以需先安装Berkeley DB 4.2.52,可到它的网站下载,网址见上面。运行下面的命令解压:# tar -zxvf db-4.2.52.tar.gz解完压后,会生成一个db-4.2.52目录,进行该目录下的build_unix目录。执行以下命令进行配置安装。# ../dist/configure

# make

# make install也是按linux源码安装的三步曲完成,没有什么好说的了。该软件默认是安装在/usr/local/BerkeleyDB.4.2目录下。安装完成后,要把/usr/local/BerkeleyDB.4.2/lib的库路径加到/etc/ld.so.conf文件内,添加完成后执行一次ldconfig,使配置文件生效。这样编译openldap时才能找到相应的库文件。这样资料库就安装完成了,接下来可以安装openldap了。ld.so.conf是什么东西?它就是系统动态链接库的配置文件。此文件内,存放着可被LINUX共享的动态链接库所在目录的名字(系统目录/lib, /usr/lib除外),各个目录名间以空白字符(空格,换行等)或冒号或逗号分隔。一般的LINUX发行版中,此文件均含一个共享目录/usr/X11R6/lib,为X window窗口系统的动态链接库所在的目录。ldconfig是它的管理命令,具体操作方法可查询man手册,这里就不细讲了。到openldap官方网站下载最新的稳定版源码,并解压。查看INSTALLT和README文档,这个很重要,因为安装方法和一些注意事项都在里面有介绍。认真弄明白文档内容能节省你不少的安装调试时间。这也是开源软件的一个特点,给用户提供了最大的灵活性和可配置性。但也增加了系统安装配置的难度,需要有相关的文档配置说明和指导。在官方网站上还有详细的帮助文件,在整个系统配置中需要经常查询。# tar -zxvfopenldap-2.3.43.tgz

# cd openldap-2.3.43

env CPPFLAGS="-I/usr/local/include/sasl -I/usr/local/BerkeleyDB.4.2/include" LDFLAGS="-L/usr/lib -L/usr/local/BerkeleyDB.4.2/lib"

#./configure --prefix=/usr/local/openldap  --without-cyrus-sasl --enable-ldbm

注意以上配置语句,要设置资料库的include和lib路径,否则在配置到资料库相关内容时会提示Berkeley DB版本不兼容,并中断配置。如果没有--enable-ldbm选项,在make test时会提示ldbm找不到。为了减少出错,还是加上为好。

#make depen

#make

#make test

#make install

通过配置命令可以看出,我们把openldap安装到/usr/local/openldap目录下。建议以源码安装的软件都放到独立的目录下,不要放到软件默认的目录。好处是方便管理和控制,所有文件在统一的目录下,卸载软件只要删除整个目录就可以了。安装完相关软件后就可以着手配置了。Berkeley DB资料库没什么好配置的。主要是配置openldap服务。配置文件在软件的安装目录的etc/openldap下,有四个文件,主要的是slapd.conf and ldap.conf,其它两个是backup文件。首先,我们先来配置slapd.conf文档。

在配置文件里加入:

include/usr/local/openldap/etc/openldap/schema/core.schema

include/usr/local/openldap/etc/openldap/schema/corba.schema

include/usr/local/openldap/etc/openldap/schema/cosine.schema

include/usr/local/openldap/etc/openldap/schema/inetorgperson.schema

include/usr/local/openldap/etc/openldap/schema/misc.schema

include/usr/local/openldap/etc/openldap/schema/openldap.schema

include/usr/local/openldap/etc/openldap/schema/nis.schema

include/usr/local/openldap/etc/openldap/schema/samba.schema

#设置schema配置文档包含

#为了有效使用目录服务,包含相关的文件。注意,在包含文件时是要按一定顺序的,因为#文件里的属性存在依赖关系。如果顺序不对,服务器启动不了,文档间的依赖关系在文档#中都有说明,请仔细查看一下。如果懒得看也可以按以上的顺序。

pidfile/usr/local/openldap/var/run/slapd.pid

argsfile/usr/local/openldap/var/run/slapd.args

#设置pid和args文档位置

loglevel 1

#增加了日志功能,需修改syslog配置文件(/etc/syslog.conf),在文件中增加一项:local4.* /var/log/ldap.log日志级别定义可查相官方网站的文档。重启日志服务(service syslog restart)

#1级记录的信息很多,可用于调试。

databasebdb

#设置使用的资料库,也可用lbdm。

suffix"dc=it,dc=com"

#设置目录后缀,改成你自已的目录后缀,

rootdn"cn=root,dc=it,dc=com"

#设置目录管理员,与linux的root没有什么关系

rootpwsecret

#设置管理密码,这里用了明文的“secret”密码。这样设置不安全,需使用加密的密码,下面会讲到如何设置加密密码。

# rootpw          {MD5}mjkiuPt0wXhpxxkdiOOO+0000000AKq0by

#设置root密码,用MD5加密。密码串用slappasswd -h {MD5}指令生成

directory/usr/local/openldap/var/openldap-data

#设置资料库路径

indexobjectClasseq

#设置目录项索引,这里可根据你的需要设置相关索引,以加快查询速度。具体内容可查询官方网站管理手册

#ACL configure以下内容定义访问控制

access to attrs=userPassword

by self write

#只能由自已修改,有效验证用户查询。

by anonymous auth

access to dn="dc=it,dc=com"

by self write

by * read

到现在为止,服务器基本就配置完成了,可以启动了,服务器程序是位于安装目录的libexec下的slapd程序。注意,不是sldap哦。ok,到现在为止,服务器基本就配置完成了,可以启动了,服务器程序是位于安装目录的libexec下的slapd程序。注意,不是sldap哦。启动服务器执行以下命令:# ./slapd如果没有提示什么出错信息,直接返回shell状态,就说明服务器正常启动了,你可以查询日志或用ps –e查看。或用以下命令查询服务器:

ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts如果命令执行成功,返回一些信息,则说明服务器正常运行了。如果启动不成功,它会提示一些出错信息,多数是slapd.conf配置出错。回头仔细核查一下配置文档。如果这个命令没有任何反应则使用:slapd –d 256提示没有/etc/openldap/cacerts目录,创建之

启动提示:/var/lib/ldap/dn2id.bdb is not owned by "ldap"[WARNING]

/var/lib/ldap/id2entry.bdb is not owned by "ldap"[WARNING]

使用命令:chown ldap:ldap /var/lib/ldap/ -R客户端配置文档是ldap.conf。该文档相当简单,其实不用配置也能正常操作。

BASE    dc=it, dc=com设置目录起点

启动服务/usr/local/openldap/libexec/slapd

管理LDAP服务

LDAP已经带了ldapadd,ldapdelete等命令行工具,但使用较复杂,常用的是基于Web的PhpLDAPadmin工具这里用的非常简单的安装下载地址:phpldapadmin.sourceforge.net安装过程:tar -xvf phpldapadmin-0.9.8.2.tar.tar

mv  phpldapadmin-0.9.8.2 /var/www/html/pda

cp /var/www/html/pda/config/config.php.sample /var/www/html/pda/config/config.php

chown -R apache:apache /var/www/html/pda

访问:出现如下错误:

our install of PHP appears to be missing LDAP support. Please install LDAP support before using phpLDAPadmin. (Dont forget to restart your web server afterwards)

查其原因是预安装的php不支持ldap,这时需要重新安装apache+php,具体配置如下:

tar jxvf httpd-2.0.61.tar.bz2

cd httpd-2.0.61

./configure –prefix=/usr/local/apache2 –enable –so

make

make install

tar jxvf php-5.2.4.tar.bz2

cd php-5.2.4

./configure --prefix=/usr/local/php --with-freetype-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-gettext --with-gmp --with-iconv --with-jpeg-dir=/usr --with-openssl --with-libexpat-dir=/usr --with-zlib--enable-magic-quotes --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-wddx --with-kerberos --enable-ucd-snmp-hack --enable-shmop --enable-calendar --without-sqlite --with-libxml-dir=/usr --enable-xml --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --without-gd --disable-dom --disable-dba --without-unixODBC --disable-pdo --disable-xmlreader --disable-xmlwriter --enable-mbstring --with-pcre-regex --with-gettext --with-ldap=/usr/local/openldap/(让php支持ldap,以上php的那些选项是为了配置cacti时所用的。)

make &&make install

安装成功之后查看/usr/local/apache2/modules目录使用有libphp5.so,如何有说明安装成功。查看/usr/local/apache2/conf/httpd.conf中是否有LoadModule php5_modulemodules/libphp5.so如果没有则添加

在383行左右添加AddType application/x-httpd-php .php(让Apache支持PHP)

在DirectoryIndex配置项后添加index.php(让Apache识别index.php的网页)

在/usr/local/apache2/htdocs目录下建立测试网页1.php,内容为一下3行。

Phpinfo();

?>

/usr/local/apache2/bin/apachectl restart(启动apache)

客户端打开浏览器输入:如果出现表格的形式说明Apache已经支持了PHP。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值