设为首页 收藏本站
查看: 990|回复: 0

[经验分享] LINUX+APACHE+PHP+BDB+OPENLDAP+PHPLDAPADMIN安装配置

[复制链接]

尚未签到

发表于 2018-11-23 06:51:10 | 显示全部楼层 |阅读模式
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
  

  bdbopenldap会有兼容性问题,2.3openldap需要的bdb版本应该为4.4-4.6之间,所以这里就选择了4.5bdb。(装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                                                           
  //CPPLD这两个环境变量应该可以跟刚才的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主要是安装openldapopenldap-developenldap-serversopenldap-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'));  
  //指定openldapBase DNarray里的值必须与上面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的一些理解
  我们可以想象有一颗苹果树,树枝就是树干的延伸。
  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-638374-1-1.html 上篇帖子: Apache安装配置管理 下篇帖子: Apache 的80端口被win7的System PID=4的进程占用的解决方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表