一、安装步骤
1:配置yum源 挂着盘镜像时用到: 这里不做解释;(yum clean all && yum makecache)2:安装OpenLDAP组件 1)安装OpenLDAP组件命令如下:[root@gitea ~]# yum install openldap openldap-servers openldap-clients openldap-devel compat-openldap -ycompat-openldap-2.3.43-2.el6.x86_64openldap-clients-2.4.40-16.el6.x86_64openldap-2.4.40-16.el6.x86_64openldap-devel-2.4.40-16.el6.x86_64openldap-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 restartStopping 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 grepldap 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.obsolete2)软件包所产生的文件的用途/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.schemainclude /etc/openldap/schema/core.schemainclude /etc/openldap/schema/cosine.schemainclude /etc/openldap/schema/duaconf.schemainclude /etc/openldap/schema/dyngroup.schemaOpenLDAP服务允许连接的客户端版本。allow bind_v2OpenLDAP进程启动时,pid文件存放路径pidfile /var/run/openldap/slapd.pidOpenLDAP 参数文件存放的路径argsfile /var/run/openldap/slapd.argsOpenLDAP 指定需要加载额外的模块moduleload ppolicy.laOpenLDAP模块文件存放的路径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,presindex ou,cn,mail,surname,givename eq,pres,subindex uidNumber,gidNumber,loginShell eq,pres三、修改OpenLDAP配置1:备份默认数据库文件[root@gitea openldap]# \cp /etc/openldap/slapd.d /tmp/slapd.d.bak/ -fr2: 查看OpendLDAP是否开启SSL加密功能[root@gitea openldap]# cat /etc/sysconfig/ldap |grep -v -E "^$|^#"SLAPD_LDAP=yesSLAPD_LDAPI=yesSLAPD_LDAPS=no此处未开启SSL,如果开启SSL功能,可以再使用SLAPD_LDAPS=yes,或者使用SLAPD_URLS进行指导即可例如:SLAPD_URLS=ldaps://ldap.deppon.com3: OpenLDAP主配置文件配置 1) schema文件的引入include /etc/openldap/schema/samba.schema2) 创建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.d5: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/slapdroot@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 restartShutting down system logger: [ OK ]Starting system logger: [ OK ]6:通过cn=config配置OpenLDAP日志1)查看数据库配合文件日志级别信息[root@gitea slapd.d]# cat cn\=config.ldif |grep olcLogLevelolcLogLevel: 0四、启动slapd服务service slapd restart 五、yum安装migrationtools1)yum install migrationtools -yvim /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.ldif3)添加base.ldif到ldapldapadd -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及PhpLdapAdmin1)yum install httpd phpldapadmin -y yum install php php-mbstring php-pear2)配置/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 .ZAddType application/x-gzip .gz .tgzAddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps5)在DirectoryIndex 后面添加PHP类型的页面 DirectoryIndex index.php index.html index.html.var6)虚拟主机配置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