宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

一、安装步骤

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.confOpenLDAP住配置文件、记录根域名名称、管理员名称、密码、日志、权限等相关信息)

/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

Order Deny,Allow

Allow from all

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

ServerAdmin myldap.ouldap.com

DocumentRoot /usr/share/phpldapadmin/htdocs

ServerName myldap.ouldap.com

service httpd status

问题:

1:如果出现php程序无法调用OpenLDAP相关的模块,造成所安装的PHP程序错误,不支持连接OpenLDAP接口

安装yum install  php-ldap  重新apache