首页›云计算›云计算-OpenStack+LDAP集成-第四节-安装OpenLDAP网页管理端

云计算-OpenStack+LDAP集成-第四节-安装OpenLDAP网页管理端

上一节我们用命令行建好了目录树骨架。但日常管理(加学生、改密码、建组)总不能每次都手写 LDIF。这一节装 phpLDAPadmin——一个跑在 Apache 上的网页管理端,让你像用 phpMyAdmin 管数据库一样管 LDAP。

第四节 phpLDAPadmin:浏览器 → Apache → phpLDAPadmin → slapd 的访问链路
第四节 phpLDAPadmin:浏览器 → Apache → phpLDAPadmin → slapd 的访问链路

一、原理:一条四段式的访问链路

phpLDAPadmin 不是一个独立服务,它只是 Apache 里的一段 PHP 程序。记住这条链路,出问题时就知道去查哪一段:

  • 浏览器 发出 http 请求;
  • Apache httpd(80 端口) 接收并执行 PHP;
  • phpLDAPadmin 按 config.php 里的设置去连 LDAP;
  • slapd(389 端口) 真正处理查询和认证。

二、操作步骤

第 1 步:装 EPEL 源和组件。phpLDAPadmin 在 EPEL 仓库里,这一步不能省。

yum install -y epel-release
yum install -y phpldapadmin httpd php

第 2 步:配置 Apache 访问权限。默认只允许本机访问,局域网里打开会 403。

vi /etc/httpd/conf.d/phpldapadmin.conf

# Apache 2.4 写法:
#   Require local          ← 注释掉这行
Require all granted
# 或者只放行实训网段(更安全):
#   Require ip 192.168.100.0/24

# 注意:如果配置文件里已有 Alias /ldapadmin /usr/share/phpldapadmin/htdocs
# 这一行,说明路径已配好,只需处理权限部分

第 3 步:配置 phpLDAPadmin 连接参数。四个关键点,行号仅供参考、以实际文件为准。

vi /etc/phpldapadmin/config.php

$servers->setValue('server','name','Local LDAP Server');      // 约 291 行
$servers->setValue('server','host','127.0.0.1');              // 约 298 行,本机就写 127.0.0.1
$servers->setValue('server','base',array('dc=example,dc=com')); // 约 305 行
$servers->setValue('login','attr','dn');                      // 约 397 行,必须启用
// $servers->setValue('login','attr','uid');                  // 约 398 行,必须注释

第 4 步:启动 Apache 并访问。

systemctl start httpd
systemctl enable httpd

# 浏览器打开(IP 换成你自己的):
# http://192.168.100.10/phpldapadmin

登录时填的是完整 DN:cn=admin,dc=example,dc=com,密码是第三节的明文密码。登录成功后能看到 dc=example,dc=com 这棵树,以及 ou=People、ou=Group 两个组织单元。

三、config.php 关键项对照

配置项“, ”作用“, ”典型取值
server’,’name 左侧树显示的名字 Local LDAP Server
server’,’host LDAP 服务器地址“, ”同机 127.0.0.1;分机写对方 IP
server’,’base 登录后默认展开的根 dc=example,dc=com
login’,’attr 登录框按什么匹配“, ”必须 dn,不能用 uid

四、常见问题与排错

现象“, ”原因“, ”解决办法
页面 403 httpd 未放行你的网段“, ”改 phpldapadmin.conf 的 Require 部分
能打开但登录失败 login attr 还是 uid 启用 dn、注释 uid(第 3 步最后两行)
左侧树是空的 server base 写错“, ”核对 dc=example,dc=com 拼写
整页 PHP 报错 php 未装或版本过低“, ”确认 yum install 里带了 php

五、本节小结

一句话记住:EPEL → phpldapadmin+httpd+php → 放行 Require → config.php 四项 → 登录用完整 DN。下一节是整套方案的灵魂:让 OpenStack 的 Keystone 也来这棵树里认人。

上一篇
下一篇