系统版本:Red Hat Enterprise Linux 6.6 x86_x64—桌面
语言:中文
主机名:ldap
IP:192.168.43.20
部署OpenLDAP
1.1设置HostName
[root@ldap ~]# vi /etc/hosts
192.168.43.15 ldapmaster
[root@ldap ~]# vi /etc/sysconfig/network
hostname ldapmaster(立即生效)
验证:ping ldapmaster
1.2关闭防火墙
关闭防火墙,否则无法从外部管理、调用LDAP服务器
[root@ldap ~]# service iptables stop
[root@ldap ~]# chkconfig iptables off
1.3禁用SELinux
[root@ldap ~]# setenforce 0
[root@ldap ~]# vim /etc/selinux/config
1.4配置yum源
将RHEL6.6的光盘连接至服务器,挂载光盘
[root@ldap ~]#
mount -o loop -t iso9660 /root/tools/rhel-server-6.6-x86_64-dvd.iso /media
配置yum源
[root@ldap ~]# vim /etc/yum.repos.d/redhat.repo
[root@ldap ~]# vim /etc/yum.repos.d/rhel6.repo 感觉应该
[RHEL6]
name=RHEL6.6
baseurl=file:///media
gpgcheck=0
enabled=1
[root@ldap ~]# yum clean all
1.5安装OpenLDAP
RHEL6.6光盘自带的OpenLDAP版本为2.4.2,部署OpenLDAP需要安装如下软件包
openldap-clients.x86_64 2.4.39-31.el6 RHEL6
openldap-devel.x86_64 2.4.39-31.el6 RHEL6
openldap-servers.x86_64 2.4.39-31.el6 RHEL6
(一)yum安装
[root@ldap ~]# cd /media/Packages
[root@ldap ~]# yum install openldap-* -y
(二)手动安装
[root@ldapmaster Packages]#rpm -ivh cyrus-sasl-2.1.23-15.el6.x86_64.rpm
[root@ldapmaster Packages]#rpm -ivh cyrus-sasl-lib-2.1.23-15.el6.x86_64.rpm
[root@ldapmaster Packages]#rpm -ivh cyrus-sasl-devel-2.1.23-15.el6.x86_64.rpm
[root@ldapmaster Packages]#rpm -ivh compat-openldap-2.3.43-2.el6.x86_64.rpm
[root@ldapmaster Packages]#rpm -ivh openldap-2.4.39-8.el6.x86_64.rpm
[root@ldapmaster Packages]#rpm -ivh openldap-devel-2.4.39-8.el6.x86_64.rpm
[root@ldapmaster Packages]#rpm -ivh openldap-clients-2.4.39-8.el6.x86_64.rpm
[root@ldapmaster Packages]#rpm -ivh openldap-servers-2.4.39-8.el6.x86_64.rpm
1.6配置OpenLDAP
拷贝slapd.conf配置文件
[root@ldap ~]# cd /etc/openldap/
[root@ldap openldap]# cp /usr/share/openldap-servers/slapd.conf.obsolete slapd.conf
设置OpenLDAP管理密码,复制产生的密文
[root@ldap openldap]# slappasswd
New password:
Re-enter new password:
{SSHA}FL1/4tYmirlnj9rT6qy2Fr133MJ5HCKc
编辑slapd.conf配置文件
参照下图设置管理账号和域,例如这里设置的管理账号为:admin;域:test.com
新添加一行rootpw,粘贴上一步复制的密文
[root@ldap openldap]# vim /etc/openldap/slapd.conf
由于slapd.d目录下的文件是根据之前默认的域my-domain.com生成的,所以把该目录下所有文件都删除
[root@ldap openldap]# rm -rf /etc/openldap/slapd.d/*
拷贝DB_CONFIG文件到指定目录
[root@ldap openldap]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
启动slapd服务,由于删除了slapd.d目录下的文件,所以会报错,忽略即可
[root@ldap openldap]# service slapd start
ls: 无法访问/etc/openldap/slapd.d//cn=config/olcDatabase*.ldif: 没有那个文件或目录
正在启动 slapd: [确定]
[root@ldap openldap]# chkconfig slapd on
修改文件所有者和所属组
[root@ldap openldap]# chown -R ldap:ldap /var/lib/ldap
[root@ldap openldap]# chown -R ldap:ldap /etc/openldap
根据配置的slapd.conf,重新生成slapd.d目录下文件,成功会提示“config file testing succeeded”
[root@ldap openldap]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
config file testing succeeded
修改slapd.d目录下新生成文件的所有者和所属组,重启slapd服务
[root@ldap openldap]# chown -R ldap:ldap /etc/openldap/slapd.d/*
[root@ldap openldap]# service slapd restart
1.7创建用户
创建域内组织架构ldif文件
域:test.com OU:users
[root@ldap ~]# cd /tmp
[root@ldap tmp]# vim base.ldif
dn: dc=test,dc=com
dc: test
objectClass: top
objectClass: domain
dn: ou=users,dc=test,dc=com
ou: users
objectClass: top
objectClass: organizationalUnit
创建用户ldif文件,隶属于users
cn、uid都是可以登录的用户名,一般保持相同
cn相当于名字,sn为姓。sn属于必填项,随便写即可
userPassword:用户的密码,这里写的是明文,也可以为密文
[root@ldap tmp]# vim user.ldif
dn: cn= admin,ou=users,dc=test,dc=com
uid: admin
cn: admin
sn: admin
objectClass: inetOrgPerson
userPassword: 123456
dn: cn=ldapuser1,ou=users,dc=test,dc=com
uid: ldapuser1
cn: ldapuser1
sn: ldap1
objectClass: inetOrgPerson
userPassword: 123456
dn: cn=ldapuser2,ou=users,dc=test,dc=com
uid: ldapuser2
cn: ldapuser2
sn: ldap2
objectClass: inetOrgPerson
userPassword: 123456
通过检索可以看到,现在LDAP服务器的test.com域还没有任何信息
[root@ldap tmp]# ldapsearch -x -b “dc=test,dc=com”
search: 2
result: 32 No such object
根据编写的组织架构文件添加组织架构,提示输入的密码是slappasswd生成的密码
[root@ldap tmp]# ldapadd -x -D “cn=admin,dc=test,dc=com” -W -f /tmp/base.ldif
Enter LDAP Password:
adding new entry “dc=test,dc=com”
adding new entry “ou=users,dc=test,dc=com”
根据编写的用户文件添加用户
[root@ldap tmp]# ldapadd -x -D “cn=admin,dc=test,dc=com” -W -f /tmp/user.ldif
Enter LDAP Password:
adding new entry “cn=ldapuser1,ou=users,dc=test,dc=com”
adding new entry “cn=ldapuser2,ou=users,dc=test,dc=com”
检索test.com域内所有有cn的用户
[root@ldap tmp]# ldapsearch -x -b ‘dc=test,dc=com’ ‘cn=*’
dn: cn=ldapuser1,ou=users,dc=test,dc=com
uid: ldapuser1
cn: ldapuser1
sn: ldap1
objectClass: inetOrgPerson
userPassword:: MTIzNDU2
dn: cn=ldapuser2,ou=users,dc=test,dc=com
uid: ldapuser2
cn: ldapuser2
sn: ldap2
objectClass: inetOrgPerson
userPassword:: MTIzNDU2
search: 2
result: 0 Success
检索test.com域内指定cn的用户
[root@ldap tmp]# ldapsearch -x -b ‘dc=test,dc=com’ ‘cn=ldapuser1’
dn: cn=ldapuser1,ou=users,dc=test,dc=com
uid: ldapuser1
cn: ldapuser1
sn: ldap1
objectClass: inetOrgPerson
userPassword:: MTIzNDU2
search: 2
result: 0 Success
1.8管理OpenLDAP
PHP环境安装
rpm -ivh python-devel-2.6.6-52.el6.x86_64.rpm
rpm -ivh libxml2-2.7.6-14.el6_5.2.x86_64.rpm
rpm -ivh libxml2-devel-2.7.6-14.el6_5.2.x86_64.rpm
rpm -ivh libxml2-python-2.7.6-14.el6_5.2.x86_64.rpm
bzip2-1.0.6.tar.gz
tar -xzvf bzip2-1.0.6.tar.gz
make -f Makefile-libbz2_so
make && make install
rpm -qa | grep libjpeg
yum -y install libjpeg-devel
rpm -ivh libpng-devel-1.2.49-1.el6_2.x86_64.rpm
./configure --prefix=/usr/local/apache3 --with-mpm=worker --enable-cache --enable-disk-cache --enable-so --enable-mem-cache --enable-file-cache --enable-nonportable-atomics --enable-mods-shared=most --enable-so --enable-rewrite --enable-ssl --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
make
sudo make install
rpm -ivh epel-release-7-6.noarch.rpm
rpm -ivh remi-release-7.rpm