一安装步骤
1: 配置 yum 源
挂着盘镜像时用到: 这里不做解释;(yum clean all && yum makecache)
2: 安装 OpenLDAP 组件
1)安装 OpenLDAP 组件命令如下:
- [root@gitea ~]# yum install openldap openldap-servers openldap-clients openldap-devel compat-openldap -y
- compat-openldap-2.3.43-2.el6.x86_64
- openldap-clients-2.4.40-16.el6.x86_64
- openldap-2.4.40-16.el6.x86_64
- openldap-devel-2.4.40-16.el6.x86_64
- openldap-servers-2.4.40-16.el6.x86_64
2)初始化 OpenLDAP 配置
- [root@gitea ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
- [root@gitea ~]# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
- [root@gitea ~]# chown -R ldap.ldap /etc/openldap/
- [root@gitea ~]# chown -R ldap.ldap /var/lib/ldap
3)启动 LDAP 进程 slapd(调试程序)
- [root@gitea ~]# service slapd restart
- Stopping slapd: [FAILED]
- Starting slapd: [ OK ]
4) 查看 OpenLDAP 默认监督
- [root@gitea ~]# netstat -ntplu|grep -i :389
- tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 28137/slapd
- tcp 0 0 :::389 :::* LISTEN 28137/slapd
5) 查看 OpenLDAP 进程状态
- [root@gitea ~]# ps aux|grep slapd |grep -v grep
- ldap 28137 0.0 1.5 536828 62924 ? Ssl 11:33 0:00 /usr/sbin/slapd -h ldap:/// ldapi:/// -u ldap
二 OpenLDAP 配置
1. 配置文件关键路径:
- /etc/openldap/slapd.conf(OpenLDAP 住配置文件记录根域名名称管理员名称密码日志权限等相关信息)
- /var/lib/ldap/* (OpenLDAP 数据文件存储位置, 可以根据需求进行调整)
- /usr/share/openldap-servers/slapd.conf.obsolete (模板配置文件)
- /usr/share/openldap-servers/DB_CONFIG.example (模板数据配置文件 schema 路径)
- /etc/openldap/schema/* (OpenLDAP schema 规范存放位置)
OpenLDAP 监听的端口有以下两个.
默认监听端口: 389 (明文数据传输)
加密监听端口: 636 (密文数据传输)
2.slapd.conf 配置文件
OpendLDAP 主配置文件为 / etc/openldap/slapd.conf. 此文件默认不存在, 需要负责安装 OpenLDAP 软件包安装所产生的配置文件模板并重命名为 slapd.conf 文件;
1)获取 openldap-servers 软件包生产的文件
- [root@gitea ~]# rpm -ql openldap-servers |egrep -i '(slapd\.conf\.*|DB_CONFIG.example)'
- /etc/openldap/slapd.conf
- /etc/openldap/slapd.conf.bak
- /usr/share/man/man5/slapd.conf.5.gz
- /usr/share/openldap-servers/DB_CONFIG.example
- /usr/share/openldap-servers/slapd.conf.obsolete
2)软件包所产生的文件的用途
/usr/share/openldap-servers/slapd.conf.obsolete 为 OpenLDAP 配置文件模板
/usr/share/openldap-servers/DB_CONFIG.example 为 OpenLDAP 数据库配置文件模板
要配置 OpendLDAP 服务端, 需要将如上配置文件模板负责到 / etc/openldap / 目录下并命名为 slapd.conf, 同时将数据库配置文件模板复制到 / var/lib/ldap / 目录中并将其命名为 DB_CONFIG, 且 / var/lib/ldap / 目录权限所有主 (owner), 所属组(group) 必须为 ladp 用户可读写, 否则会在加载 slapd 进程时显示权限警告
3) slapd.conf 配置文件参数
/etc/openldap/slapd.conf 为 OpenLDAP 主配置文件, 以 #号开头的为注释说明
- include /etc/openldap/schema/corba.schema
- include /etc/openldap/schema/core.schema
- include /etc/openldap/schema/cosine.schema
- include /etc/openldap/schema/duaconf.schema
- include /etc/openldap/schema/dyngroup.schema
OpenLDAP 服务允许连接的客户端版本
allow bind_v2
OpenLDAP 进程启动时, pid 文件存放路径
pidfile /var/run/openldap/slapd.pid
OpenLDAP 参数文件存放的路径
argsfile /var/run/openldap/slapd.args
OpenLDAP 指定需要加载额外的模块
moduleload ppolicy.la
OpenLDAP 模块文件存放的路径
- modulepath /usr/lib/openldap //32bit 的模块文件路径
- modulepath /usr/lib64/openldap //64bit 的模块文件路径
指定 OpenLDAP 数据库类型
OpendLDAP 服务后端存储数据库引擎支持的数据库类型有 mysql db2 oracle 等关系数据库, 默认为 bdb 数据库
database dbd
指定 OpenLDAP 服务器域名(DN)
指定要搜索或查询 OpenLDAP 目录树的后缀名称等同于 AD 域名
suffix "dc=example,dc=com"
指定 OpenLDAP 服务器管理信息
rootdn "cn=Manager,dc=example,dc=com"
指定 OpenLDAP 服务管理员密码
- root gdy@123 #文明添加, 不建议使用
- rootpw {crypt}ijFYNcSNctBYg
指定 OpenLDAP 数据库文件的存放目录
directory /var/lib/ldap
创建 OpendLDAP 索引
- index objectClass eq,pres
- index ou,cn,mail,surname,givename eq,pres,sub
- index uidNumber,gidNumber,loginShell eq,pres
三修改 OpenLDAP 配置
1: 备份默认数据库文件
[root@gitea openldap]# \cp /etc/openldap/slapd.d /tmp/slapd.d.bak/ -fr
2: 查看 OpendLDAP 是否开启 SSL 加密功能
- [root@gitea openldap]# cat /etc/sysconfig/ldap |grep -v -E "^$|^#"
- SLAPD_LDAP=yes
- SLAPD_LDAPI=yes
- SLAPD_LDAPS=no
此处未开启 SSL, 如果开启 SSL 功能, 可以再使用 SLAPD_LDAPS=yes, 或者使用 SLAPD_URLS 进行指导即可
例如: SLAPD_URLS=ldaps://ldap.deppon.com
3: OpenLDAP 主配置文件配置
1) schema 文件的引入
include /etc/openldap/schema/samba.schema
2) 创建 OpenLDAP 的管理员密码
通过 slappasswd 命令创建密码串, 然后将密码串负责到 rootpw 即可
4: slaptest 检测生成数据库
[root@gitea openldap]# slaptest -f /etc/openldap/slapd.conf
如果配置文件存在语法错误, 通过 slaptest -u 命令有相应的提示, 根据提示对 slapd.conf 配置文件进行调整即可;
通过 slapd.conf 配置文件生成数据库
[root@gitea openldap]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
5:OpenLDAP 日志配置
1)查看日志级别
slapd -d ?
2) OpenLDAP 服务日志设置
通过修改 rsyslog 配置文件, 在文件中添加: local4* /var/log/slapd.log
- [root@gitea openldap]# touch /var/log/slapd.log
- [root@gitea openldap]# chown ldap.ldap /var/log/slapd.log
- [root@gitea openldap]# chmod 755 /var/log/slapd
- root@gitea openldap]# chown ldap:ldap /var/log/slapd/
修改日志文件, 使其加载 OpenLDAP 参数
- [root@gitea openldap]# sed -i "/local4.*/d" /etc/rsyslog.conf
- [root@gitea openldap]# cat>> /etc/rsyslog.conf <<EOF
- > local4.* /var/log/slapd/slapd.log
- > EOF
- [root@gitea openldap]# cat /etc/openldap/slapd.conf |grep -i loglevel
重新加载 rsyslog 使其配置生效
- [root@gitea openldap]# service rsyslog restart
- Shutting down system logger: [ OK ]
- Starting system logger: [ OK ]
6: 通过 cn=config 配置 OpenLDAP 日志
1)查看数据库配合文件日志级别信息
- [root@gitea slapd.d]# cat cn\=config.ldif |grep olcLogLevel
- olcLogLevel: 0
四启动 slapd 服务
service slapd restart
五 yum 安装 migrationtools
- 1)yum install migrationtools -y
- vim /usr/share/migrationtools/migrate_common.ph
- $DEFAULT_MAIL_DOMAIN = "ouldap.com";
- # Default base
- $DEFAULT_BASE = "dc=ouldap,dc=com";
2)生成 base.ldif
/usr/share/migrationtools/migrate_base.pl>base.ldif
3)添加 base.ldif 到 ldap
ldapadd -x -D "cn=Manager,dc=ouldap,dc=com" -W -f ./base.ldif
4)检查 ldapadd 是否成功
ldapsearch -x -D "cn=Manager,dc=ouldap,dc=com" -b "ou=Aliases,dc=ouldap,dc=com" -W 'uid=zhijie'
五 yum 安装 httpd,php 及 PhpLdapAdmin
- 1)yum install httpd phpldapadmin -y
- yum install php php-mbstring php-pear
2)配置 / etc/httpd/conf.d/phpldapadmin.conf 允许从远程访问
- Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
- Alias /ldapadmin /usr/share/phpldapadmin/htdocs
- <Directory /usr/share/phpldapadmin/htdocs>
- Order Deny,Allow
- Allow from all
- </Directory></span>
3)修改 / etc/phpldapadmin/config.php
- $servers->setValue('login','attr','dn');
- // $servers->setValue('login','attr','uid');
4)httpd.conf 配置 使 Apache 支持 php 开发环境
- AddType application/x-compress .Z
- AddType application/x-gzip .gz .tgz
- AddType application/x-httpd-php .php
- AddType application/x-httpd-php-source .phps
5)在 DirectoryIndex 后面添加 PHP 类型的页面
DirectoryIndex index.php index.html index.html.var
6)虚拟主机配置
- vim /etc/httpd/conf/httpd.conf
- <VirtualHost *:80>
- ServerAdmin myldap.ouldap.com
- DocumentRoot /usr/share/phpldapadmin/htdocs
- ServerName myldap.ouldap.com
- </VirtualHost>
- service httpd status
问题:
1: 如果出现 php 程序无法调用 OpenLDAP 相关的模块, 造成所安装的 PHP 程序错误, 不支持连接 OpenLDAP 接口
安装 yum install php-ldap 重新 apache
来源: http://www.bubuko.com/infodetail-2543661.html