LINUX下安装openldap,并用phpldapadmin进行管理

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的openldap需要的bdb版本应该为4.4-4.6之间,所以这里就选择了4.5的bdb。(装64位系统的时候,4.5的却不兼容,换成4.3.29的,)

关闭selinux&iptable

vi/etc/sysconfig/selinux

把SELINUX=enforcing disabled

iptables –F

rpm -q make

yum install make

rpm -q gcc

yum install gcc

rpm -qgcc-c++

yum installgcc-c++

cd libxml2-2.6.30

./configure--prefix=/usr/local/libxml2/

make

make install

cd../libmcrypt-2.5.8

./configure--prefix=/usr/local/libmcrypt/

make

make install

cd ../libmcrypt-2.5.8/libltdl/

./configure--enable-ltdl-install

make

make install

cd../../zlib-1.2.3

./configure

make

make install

cd../libpng-1.2.31

./configure--prefix=/usr/local/libpng/

make

make install

cd ../jpeg-6b

mkdir/usr/local/jpeg6

mkdir /usr/local/jpeg6/bin

mkdir/usr/local/jpeg6/lib

mkdir/usr/local/jpeg6/include

mkdir -p/usr/local/jpeg6/man/man1

./configure--prefix=/usr/local/jpeg6/ --enable-shared --enable-static

make

make install

cd../freetype-2.3.5

./configure--prefix=/usr/local/freetype/

make

make install

cd../autoconf-2.61

./configure

make

make install

cd ../gd-2.0.35

./configure--prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/--with-freetype=/usr/local/freetype/

make

make install

cd ../ncurses-5.6

./configure--with-shared --without-debug --with-ada --enable-overwrite

make

make install

1.安装apache

cd ../httpd-2.2.9

./configure--prefix=/usr/local/apache2/ --sysconfdir=/etc/httpd/ --with-included-apr--disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared--enable-rewrite=shared --enable-static-support

make

make install

2.安装php

cd ../php-5.2.6

./configure--prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/--with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/--with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/--with-mcrypt=/usr/local/libmcrypt/ --enable-soap --enable-mbstring=all--enable-sockets --with-ldap --with-gettext

#yum installlibtool

#yum install libtool-ltdl

make

make install

cp php.ini-dist/usr/local/php/etc/php.ini

vi/etc/httpd/httpd.conf

AddTypeapplication/x-httpd-php .php .phtml(添加)

/usr/local/apache2/bin/apachectlrestart

保存退出。

3.安装bdb

tar zcvfdb-4.5.20.tar.gz

cd db-4.5.20/build_unix//在这个目录里编译(不同于其它大多数linux程序)

../dist/configure--prefix=/usr/local/db

make

make install

vi /etc/ld.so.conf

/usr/local/db/lib

/sbin/ldconfig

4.安装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              //让刚设置的变量立刻生效

envCPPFLAGS="-I /usr/local/db/include" LDFLAGS="-L/usr/local/db/lib"

记得要启用bdb,要不我们的bdb就白装了。

./configure--prefix=/usr/local/openldap --enable-bdb

//CPP和LD这两个环境变量应该可以跟刚才的LD_LIBRARY那个变量一样设置在profile文件里的,但是大家都是在这里设置,可能是因为这两个变量都是只在安装时用一次吧,所以我这里也就随大家写在命令里而不是写在profile里了,(装64位系统的时候又报错缺少ltdl.h,后来locateltdl找到了它的位置,然后命令改成了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,)(试过多种方法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

5.修改openldap配置文件

vi/usr/local/openldap/etc/openldap/slapd.conf

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

这些schema都在openldap安装目录下的etc/openldap/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=davy,dc=org"

//suffix(后缀),以后所有的ldap数据记录都将放在它的下面,你可以把它看成是数据库的总库,之后的phpldapadmin中也需要指定它并且要跟这里的设置一致

rootdn          "cn=root,dc=davy,dc=org"

//openldap的管理者(就跟系统的管理员类似,openldap的“大权在握者”)

rootpw         {SSHA}rWWrzQ60N42lNONcZFaKovPrgWSjn5/Z

//管理者密码,该密码串需要通过ldappasswd命令(openldap安装目录下的bin目录里)来生成

directory       /usr/local/openldap/var/lib/openldap

//指定openldap数据库的存放目录

保存退出

/usr/local/openldap/bin/ldappasswd      //生成管理者密码

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

(解决alock package isunstable)

chown ldap:ldap/usr/local/openldap/var/lib/openldap/*

(解决No DB_CONFIG file)

cp/etc/openldap/DB_CONFIG.example/usr/local/openldap/var/lib/openldap/DB_CONFIG

chown ldap:ldap/usr/local/openldap/var/lib/openldap/DB_CONFIG

chmod 600 /usr/local/openldap/var/lib/openldap/*

6.安装phpldapadmin

tar -zxvfphpldapadmin-1.2.0.5.tgz

cp –R  phpldapadmin-1.2.0.5  /usr/local/apache2/htdocs/phpldapadmin

7.修改phpldapadmin配置文件

cp/usr/local/apache2/htdocs/phpldapadmin/config/config.{php.example,php}

vi/usr/local/apache2/htdocs/phpldapadmin/config/config.php

$servers->setValue('server','name','DAVYLDAP Server');

//本行及后面这些行(读hang)为关键参数,可按实际情况修改,此处指定服务器的显示名称为DAVY LDAP Server,该名称可随意设置

$servers->setValue('server','host','127.0.0.1');   //指定openldap服务器就是本机

$servers->setValue('server','port',389);  //指定openldap服务使用的端口为389

$servers->setValue('server','base',array('dc=davy,dc=org'));

//指定openldap的Base DN,array里的值必须与上面5中设置的suffix的值一致,否则phpldapadmin就无法连接上openldap,也就意味着phpldapadmin无法操作openldap。

$servers->setValue('login','auth_type','session');  //session是默认值,还可以cookie

$servers->setValue('login','bind_id','cn=root,dc=davy,dc=org');

//登陆的绑定id,我在这里用了“大权在握者”来绑定,这样的话网页登陆对话框上就会直接显示该管理者的账号,直接输入密码就可以登录了,也可以留空,留空的话下面的密码也就必须留空了,那样的话可以设置多个账号,大家各登个的录。

$servers->setValue('login','bind_pass','davidlee');                              //上面已经绑定了管理者账号了,这里就需要给出密码,这个密码可是之前ldappasswd命令设置生成的密码,可不是在这里指定什么就是什么密码。

8.访问phpldapadmin管理openldap

http://192.168.88.141/没意外的话就可以看到phpldapadmin的登录页面了。

9.关于ldap的一些理解

我们可以想象有一颗苹果树,树枝就是树干的延伸。

php bdb,LINUX+APACHE+PHP+BDB+OPENLDAP+PHPLDAPADMIN安装配置相关推荐

  1. 【转载】基于Linux命令行KVM虚拟机的安装配置与基本使用

    基于Linux命令行KVM虚拟机的安装配置与基本使用 https://alex0227.github.io/2018/06/06/%E5%9F%BA%E4%BA%8ELinux%E5%91%BD%E4 ...

  2. linux ldap客户端工具,OpenLDAP 客户端安装部署

    一.账号登录系统流程讲解 当在客户端输入账号登录系统时,系统根据/etc/nsswitch.conf配置文件获取账号查找顺序,然后再根据PAM配置文件调用相关模块,对账号(/etc/passwd)及密 ...

  3. Linux+Apache+MySQL+PHP+FrontPage完全安装手册(转)

    本文介绍如何安装Apache以支持MySQL.PHP4.FrontPage2000服务器扩展和虚拟主机功能,本文的安装步骤在Redhat 7.0和Mandrake 7.2上测试通过,所以应该适用于任何 ...

  4. LAMP(Linux+Apache+MySQL+PHP)环境介绍、配置、搭建

    文章目录 写在开头的话 LAMP的简要介绍 部署方式 LAMP环境搭建 环境准备 准备本地yum源 安装编译文件 关闭防火墙和SElinux 环境搭建 安装依赖包 安装 Apache 安装mysql ...

  5. linux apache certbot,从操作系统软件包安装Certbot

    Arch Linuxsudo pacman -S certbot Debian 如果你运行Debian Buster或Debian testing/Sid,则可以通过以下命令轻松安装certbot软件 ...

  6. linux resin 自动启动不了,Resin 安装-配置-自启动-Linux

    Resin 安装-配置-自启动-Linux 2005-4-8 15:33:00 将resin-version/contrib/init.resin.in复制到/etc/rc.d/init.d/resi ...

  7. Apache Hive 2.1.1 安装配置超详细过程,配置hive、beeline、hwi、HCatalog、WebHCat等组件...

    2019独角兽企业重金招聘Python工程师标准>>> 在Docker环境成功搭建了Apache Hadoop 2.8 分布式集群,并实现了NameNode HA.ResourceM ...

  8. 【干货】Apache Hive 2.1.1 安装配置超详细过程,配置hive、beeline、hwi、HCatalog、WebHCat等组件...

    在Docker环境成功搭建了Apache Hadoop 2.8 分布式集群,并实现了NameNode HA.ResourceManager HA之后(详见我的另一篇博文:Apache Hadoop 2 ...

  9. linux 重启kettle服务_Linux下安装配置kettle的部署

    原标题:Linux下安装配置kettle的部署 欢迎关注天善智能微信公众号,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区. 对商业智能BI.大数据分析挖掘.机器学习,python,R等数据 ...

最新文章

  1. 业务方的一堆需求,被我一句话怼回去了!CTO笑而不语,晋升有望了
  2. python3.8使用requests_python3.8.1 入门基础学习 之 【 requests 基础学习,python3爬虫必备基础】...
  3. 史上最详细阿里云Docker下载运行Zookeeper!!!!
  4. Codeforces Global Round 10
  5. modprobe: FATAL: Module xxx.ko not found in directory /lib/modules/$(uname -r)
  6. 云之道律师小程序源码V1.2.8完整全开源 安装包+小程序前端
  7. SAP License:SAP顾问是如何炼成的——SAP顾问的定义
  8. Vue样式绑定~非常详细哦
  9. VC无进程木马下载器源码(利用IE隐藏进程)
  10. python网课一般多少钱-十大python零基础编程在线网课一对一费用多少钱
  11. system libzip must be upgraded to version >= 0.11
  12. 一篇文章了解爬虫技术现状
  13. “Project1.exe”(Win32): 已加载“C:\Windows\syswow64\ntdll.dll”。无法查找或打开 PDB 文件。 “Project1.exe”(Win32): 已加载
  14. ROS基础(13)——机器人建模之运动仿真
  15. antd 嵌套子表格
  16. 基于萤火虫优化算法的图像分割
  17. 网站被黑有什么影响?为什么网站被黑了?如何防止网站被黑?
  18. 笔记本电脑分屏显示设置
  19. Zstack救急实战记录
  20. 手动修复重建Windows 10系统EFI分区引导bootloader

热门文章

  1. LaTex 数学之分数和二项式系数
  2. arduino 连接阿里云遇到mqtt connect err:2
  3. 2014年企业服务市场获得风投一览
  4. 身份信息核验API接口简介
  5. ESP8266-Arduino编程实例-ADXL345三轴加速计驱动
  6. iOS 保存图片(视频)到相册
  7. 关于onItemClick和onItemLongClick同时执行的一般性解决方法
  8. 数字孪生工厂生产线系统构建与应用
  9. Windows 11 Insider Preview Build 22000.65 发布,简体中文版下载
  10. 用Spock测试AKKA应用程序