LINUX+APACHE+PHP+BDB+OPENLDAP+PHPLDAPADMIN安装配置
2011-02-16 21:02
573 查看
主要是看下BDB的安装了,验证可用。
LINUX+APACHE+PHP+BDB+OPENLDAP+PHPLDAPADMIN安装配置
LINUX+APACHE+PHP+BDB+OPENLDAP+PHPLDAPADMIN安装配置
LINUX下安装openldap,并用phpldapadmin进行管理 BDB:Berkeley DB,openldap需要使用的数据库(貌似还有别的数据库可用,但这次我要用到它) phpldapadmin:openldap的网页管理软件,需要php支持,所以会有apache+php一说。 linux: CentOS5.4 ip:192.168.1.6 apache: httpd-2.2.14.tar.bz2 php: php-5.2.12.tar.gz bdb: db-4.5.20.tar.gz openldap: openldap-stable-2.3.32.tgz phpldapadmin: phpldapadmin-1.2.0.5.tgz bdb与openldap会有兼容性问题,2.3和2.4的openldap与4.8的bdb不兼容,后来发现2.3的openldap需要的bdb版本应该为4.4-4.6之间,所以这里就选择了4.5的bdb。(装64位系统的时候,4.5的却不兼容,让换成4.3.29的,我晕死。。。) 1.安装apache ./configure --prefix=/usr/local/apache2 --enable-so --enalbe-rewrite //安装到指定目录,so开启动态模块支持,rewrite开启地址重写。 make;make install 2.安装php ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php5 --with-ldap --with-gettext //指定安装目录,跟apache融合,指定配置文件位置,启用ldap支持(必须的),启用gettext支持(必须要启用的支持) make;make install cp php.ini-dist /usr/local/php5/php.ini //把配置文件拷贝过去,编辑它在适当位置添加include_path = /usr/local/php5/lib/php 3.修改apache让其支持php vi /usr/local/apache2/conf/httpd.conf AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps //在合适的位置添加这两行,.php和.phps前面都带“点”的,再前面还都有一“空格”的,不要写错了哦。 DirectoryIndex index.html index.php //在DirectoryIndex后面加个index.php,类似前面这样子 保存退出。 4.安装bdb tar zcvf db-4.5.20.tar.gz cd db-4.5.20/build_unix //bdb需要在这个目录里编译(不同于其它大多数linux程序,算一特异者吧) ../dist/configure --prefix=/usr/local/db //bdb的配置文件在dist目录里(这种编译安装在linux里没有普遍性,所以不必因此困扰,大多数linux程序还都是直接在解包出来的根目录里直接编译安装就行了的) make make install //make;make install中间有分号是因为两条命令写在同一行里必须要用;分隔,而此处则是把两条命令分开执行,所以;也就不用了,其实结果是一样的。 vi /etc/ld.so.conf 手工加入以下内容: /usr/local/db/lib /sbin/ldconfig 5.安装openldap vi /etc/profile 在末尾手工加入以下内容: LD_RUN_PATH=/usr/local/db/lib //这个可能不是必须的。 LD_LIBRARY_PATH=/usr/local/db/lib //必须的,少了安装会报错 export LD_RUN_PATH LD_LIBRARY_PATH //导出变量,也是必须的,要不变量没法生效 保存退出 source /etc/profile //让刚设置的变量立刻生效 env CPPFLAGS="-I /usr/local/db/include" LDFLAGS="-L /usr/local/db/lib" ./configure --prefix=/usr/local/openldap --enable-bdb //CPP和LD这两个环境变量应该可以跟刚才的LD_LIBRARY那个变量一样设置在profile文件里的,但是大家都是在这里设置,可能是因为这两个变量都是只在安装时用一次吧,所以我这里也就随大家写在命令里而不是写在profile里了,记得要启用bdb,要不我们的bdb就白装了。(装64位系统的时候又报错缺少ltdl.h,后来locate ltdl找到了它的位置,然后命令改成了env CPPFLAGS="-I /usr/local/db/include" LDFLAGS="-L /usr/local/db/lib" LDFLAGS="-L /usr/share/libtool/libltdl" ./configure --prefix=/usr/local/openldap --enable-bdb,就是多加了红色字体部分。真晕,同样的操作配置,32位能过,64位系统就过不了。。。)(试过多种方法64位系统总是提示缺少ltdl.h,最后实在耗不起那个时间了然后就直接yum install openldap-servers了事,此时却发现yum安装时安装了一个名为libtool-ltdl-1.5.22-7.el5_4的依赖包,难道就是因为缺少这个包导致的编译通不过?)(yum安装openldap主要是安装openldap、openldap-devel、openldap-servers、openldap-clients这四种包) make depend //解决依赖问题 make make test //有自信的可以不检测,这个不是必须的。 make install 6.修改openldap配置文件 vi /usr/local/openldap/etc/openldap/slapd.conf include /usr/local/openldap/etc/openldap/schema/core.schema //本行后面这些include行手工添加一下,这些schema都在openldap安装目录下的etc/openldap/schema下,可以进去该目录看下都有什么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/dyngroup.schema include /usr/local/openldap/etc/openldap/schema/inetorgperson.schema include /usr/local/openldap/etc/openldap/schema/java.schema include /usr/local/openldap/etc/openldap/schema/misc.schema include /usr/local/openldap/etc/openldap/schema/nis.schema include /usr/local/openldap/etc/openldap/schema/openldap.schema database bdb //本行后面这些行是可能需要修改的,bdb就是我们的Berkeley DB数据库了 suffix "dc=gaso,dc=com" //suffix(后缀),以后所有的ldap数据记录都将放在它的下面,你可以把它看成是数据库的总库,之后的phpldapadmin中也需要指定它并且要跟这里的设置一致(6个多小时的时间花费得来的经验!),它的格式有:dc=gaso,dc=com或者o=gaso,dc=com或者cn=gaso,dc=com,这些样子的应该都可以(没试过哦,推测的,有兴趣的可以试下),应该比较灵活,甚至直接dc=com我估计也行(没试过哦)。我推测就是给个树根好让以后苹果有地方长,至于树根长什么模样,苹果是不会介意的:),怎么的苹果也是长树枝上的,中间还隔着树干呢,哈哈! rootdn "cn=root,dc=gaso,dc=com" //openldap的管理者(就跟系统的管理员类似,openldap的“大权在握者”) rootpw {SSHA}rWWrzQ60N42lNONcZFaKovPrgWSjn5/Z //管理者密码,该密码串需要通过ldappasswd命令(openldap安装目录下的bin目录里)来生成 directory /usr/local/openldap/var/openldap-data //指定openldap数据库的存放目录 保存退出 /usr/local/openldap/bin/ldappasswd //生成管理者密码,回车后输入两遍密码就可以了 /usr/local/openldap/libexec/slapd //启动openldap 7.安装phpldapadmin tar zxvf phpldapadmin-1.2.0.5.tgz mv phpldapadmin-1.2.0.5/* /usr/local/apache2/htdocs/ //解包,把得到的文件弄到apache的网页根目录htdocs里就算安装完事 8.修改phpldapadmin配置文件 cp /usr/local/apache2/htdocs/config/config.{php.example,php} //用配置文件模板拷贝一份配置文件出来 vi /usr/local/apache2/htdocs/config/config.php $servers->setValue('server','name','GASO LDAP Server'); //本行及后面这些行(读hang)为关键参数,可按实际情况修改,此处指定服务器的显示名称为GASO LDAP Server,该名称可随意设置 $servers->setValue('server','host','127.0.0.1'); //指定openldap服务器就是本机 $servers->setValue('server','port',389); //指定openldap服务使用的端口为389 $servers->setValue('server','base',array('dc=gaso,dc=com')); //指定openldap的Base DN(树根,总数据库啊什么的),array里的值必须与上面6中设置的suffix的值一致,否则phpldapadmin就无法连接上openldap,也就意味着phpldapadmin无法操作openldap(6个多小时才搞明白这一点,我晕死!)。 $servers->setValue('login','auth_type','session'); //session是默认值,还可以设置成cookie,但那是另一套设置方案了 $servers->setValue('login','bind_id','cn=root,dc=gaso,dc=com'); //登陆的绑定id,我在这里用了“大权在握者”来绑定,这样的话网页登陆对话框上就会直接显示该管理者的账号,直接输入密码就可以登录了,也可以留空,留空的话下面的密码也就必须留空了,那样的话可以设置多个账号,大家各登个的录。 $servers->setValue('login','bind_pass','gaso123'); //上面已经绑定了管理者账号了,这里就需要给出密码,这个密码可是之前ldappasswd命令设置生成的密码,可不是在这里指定什么就是什么密码。 9.访问phpldapadmin管理openldap http://192.168.1.6/(安装openldap服务的系统的ip,不要连别人的名字都抄到答卷上了哦) 没意外的话就可以看到phpldapadmin的登录页面了(八成会有意外,第一次在所难免啊!) 10.关于ldap的一些理解 我们可以想象有一颗苹果树,树枝就是树干的延伸。 |
相关文章推荐
- LINUX+APACHE+PHP+BDB+OPENLDAP+PHPLDAPADMIN安装配置
- 【吐血推荐】phpldapadmin安装手册(open ldap+Berkeley DB+php 5+apache 2)
- phpldapadmin安装手册(open ldap+Berkeley DB+php 5+apache 2)
- Linux安装配置php+apache
- Linux Apache PHP Oracle 安装配置(具体操作步骤)
- [转]Apache+php+mysql在Linux下的安装与配置
- linux下面配置安装apache,php,mysql
- linux下安装apache与php;Apache+PHP+MySQL配置攻略
- linux下安装apache与php;Apache+PHP+MySQL配置攻略
- 源码编译安装ldap+apache+php+phpldapadmin
- linux下安装apache与php;Apache+PHP+MySQL配置攻略
- CentOS7 下 OpenLDAP Server 安装和配置及使用 phpLDAPadmin 和
- Linux安装php-7.0.16,完成php和apache的配置
- Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)
- linux mysql php apache 配置安装
- 【centos6.5】CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境(linux公社)
- Linux下Apache和PHP的安装与配置
- Apache+php+mysql在Linux下的安装与配置
- [转]linux+php5.1.6+mysql5.0.2+apache2.0.55安装配置说明
- [转] Ubuntu 12.04下LAMP安装配置 (Linux+Apache+Mysql+PHP)