本文由ilanniweb微信公众号提供友情赞助,首发于烂泥行天下
jenkins技术分享QQ群:571981257
前几篇文章,我们介绍了有关openldap的安装与配置。这篇文章,我们再来介绍下通过web方式管理openldap的软件phpldapadmin。
一、安装phpldapadmin
phpldapadmin是基于php语言开发的,并且也提供了epel源,所以我们可以直接yum命令进行安装。安装命令如下:
yum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml
yum –enablerepo=epel -y install phpldapadmin
通过上述安装命令,可以很容易的看出,我们不仅安装了phpldapadmin,还安装了http、php等相关的依赖。
phpldapadmin的安装比较简单,安装完毕后,我们开始配置phpldapadmin。
二、配置phpldapadmin
下面我们来开始配置phpldapadmin,在配置phpldapadmin之前,我们首先要配置httpd,把httpd与phpldapadmin进行集成。
2.1 添加httpd配置文件
添加httpd与phpldapadmin集成的配置文件,内容如下:
cat > /etc/httpd/conf.d/phpldapadmin.conf << “EOF”
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs
<Directory /usr/share/phpldapadmin/htdocs>
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
EOF
对于以上配置文件,因为内容比较简单,在此就不做相关的解释。
2.2 修改phpldapadmin配置文件
现在我们来修改phpldapadmin的配置文件,如下:
cat > /etc/phpldapadmin/config.php << “EOF”
<?php
$config->custom->session[‘blowfish’] = ‘7faa00f2d9b61272f8d339c5a01a5cc0’;
$config->custom->appearance[‘hide_template_warning’] = true;
$config->custom->appearance[‘minimalMode’] = true;
$config->custom->appearance[‘friendly_attrs’] = array(
‘facsimileTelephoneNumber’ => ‘Fax’,
‘gid’ => ‘Group’,
‘mail’ => ‘Email’,
‘telephoneNumber’ => ‘Telephone’,
‘uid’ => ‘User Name’,
‘userPassword’ => ‘Password’
);
$servers = new Datastore();
$servers->newServer(‘ldap_pla’);
$servers->setValue(‘server’,’name’,’Ilanni LDAP Server’);
$servers->setValue(‘appearance’,’password_hash’,”);
$servers->setValue(‘login’,’attr’,’dn’);
$servers->setValue(‘server’,’host’,’192.168.123.8′);
$servers->setValue(‘server’,’port’,389);
$servers->setValue(‘server’,’base’,array(‘dc=ilanni,dc=com’));
$servers->setValue(‘login’,’auth_type’,’session’);
$servers->setValue(‘server’,’tls’,false);
$servers->setValue(‘unique’,’attrs’,array(‘uid’,’sn’));
?>
EOF
该配置文件中,除了常规的有关openldap的配置之外,还有几个点需要注意的:
login登录方式,在此我们使用的是dn方式进行登录,phpldapadmin默认使用的是uid方式进行登录。
unique唯一性,在此我们使用的是uid和sn作为唯一的标志,这个一定要注意下。特别是从一个用户复制为另外一个用户时,要使用到该配置。
点我下载上述配置文件。
2.3 启动httpd
以上配置文件修改完毕后,现在我们来启动httpd。命令如下:
systemctl start httpd
systemctl enable httpd
systemctl status httpd
三、访问phpldapadmin
httpd以及phpldapadmin都配置完毕,并且httpd正确启动后,我们现在来访问测试下phpldapadmin,如下:
http://192.168.123.6/ldapadmin/
上述截图中,登录DN,如果是openldap管理员登录的话,使用cn=root,dc=ilanni,dc=com。如果是openldap普通用户登录的话,使用uid=ilanni,ou=People,dc=ilanni,dc=com。
下面还是以openldap管理员root用户登录为例,如下:
通过上图,我们可以很明显的看出phpldapadmin已经正常连接openldap,而且openldap的root用户也已经正常登录openldap。
四、phpldapadmin与nginx集成
按理说到第三章节,这篇文章我们就应该结束了,但是在实际的使用过程中。我们一般是通过域名来访问phpldapadmin的。
所以,在此我们把phpldapadmin与nginx进行集成,相关配置下。如下:
4.1 修改httpd的相关配置
phpldapadmin与nginx进行集成,首先需要我们修改http的监听端口。在此把httpd的监听端口修改为8282,如下:
然后再修改phpldapadmin与httpd集成的配置文件,如下:
cat > /etc/httpd/conf.d/ldapadmin.conf << “EOF”
NameVirtualHost *:8282
<VirtualHost *:8282>
DocumentRoot /usr/share/phpldapadmin/htdocs
DirectoryIndex index.php
AddDefaultCharset UTF-8
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs
<Directory /usr/share/phpldapadmin/htdocs>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
LogLevel warn
ErrorLog /var/log/httpd/ldapadmin_error_log
CustomLog /var/log/httpd/ldapadmin_access_log combined
</VirtualHost>
EOF
注意:上述使用的是apache的虚拟主机,监听的是8282端口。这个需要在httpd.conf启用listen 8282。
以上修改完毕后,记得重启httpd服务。
4.2 nginx的相关配置
现在再来修改nginx的配置文件,如下:
cat > /etc/nginx/conf.d/default.conf << “EOF”
server {
listen 80;
server_name ldapadmin.ilanni.com;
access_log /var/log/nginx/ldapadmin-access.log main;
location / {
proxy_pass http://192.168.123.6:8282;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
EOF
以上修改完毕后,记得重启nginx服务。
4.3 域名访问phpldapadmin
httpd与nginx相关的配置修改完毕后,我们来使用域名访问phpldapadmin,如下:
http://ldapadmin.ilanni.com
通过上图,可以看出phpldapadmin已经正确集成了nginx。
到此有关phpldapadmin的安装与配置就已经全部完毕。
未经允许不得转载:烂泥行天下 » 烂泥:phpldapadmin的安装与配置