烂泥:phpldapadmin的安装与配置

本文由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

clip_image001

clip_image002

通过上述安装命令,可以很容易的看出,我们不仅安装了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

clip_image003

对于以上配置文件,因为内容比较简单,在此就不做相关的解释。

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作为唯一的标志,这个一定要注意下。特别是从一个用户复制为另外一个用户时,要使用到该配置。

clip_image004

点我下载上述配置文件。

2.3 启动httpd

以上配置文件修改完毕后,现在我们来启动httpd。命令如下:

systemctl start httpd

systemctl enable httpd

systemctl status httpd

clip_image005

三、访问phpldapadmin

httpd以及phpldapadmin都配置完毕,并且httpd正确启动后,我们现在来访问测试下phpldapadmin,如下:

http://192.168.123.6/ldapadmin/

clip_image006

clip_image007

上述截图中,登录DN,如果是openldap管理员登录的话,使用cn=root,dc=ilanni,dc=com。如果是openldap普通用户登录的话,使用uid=ilanni,ou=People,dc=ilanni,dc=com

clip_image008

clip_image009

下面还是以openldap管理员root用户登录为例,如下:

clip_image010

clip_image011

通过上图,我们可以很明显的看出phpldapadmin已经正常连接openldap,而且openldap的root用户也已经正常登录openldap。

四、phpldapadmin与nginx集成

按理说到第三章节,这篇文章我们就应该结束了,但是在实际的使用过程中。我们一般是通过域名来访问phpldapadmin的。

所以,在此我们把phpldapadmin与nginx进行集成,相关配置下。如下:

4.1 修改httpd的相关配置

phpldapadmin与nginx进行集成,首先需要我们修改http的监听端口。在此把httpd的监听端口修改为8282,如下:

clip_image012

然后再修改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

clip_image013

注意:上述使用的是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

clip_image014

以上修改完毕后,记得重启nginx服务。

4.3 域名访问phpldapadmin

httpd与nginx相关的配置修改完毕后,我们来使用域名访问phpldapadmin,如下:

http://ldapadmin.ilanni.com

clip_image015

clip_image016

通过上图,可以看出phpldapadmin已经正确集成了nginx。

到此有关phpldapadmin的安装与配置就已经全部完毕。

未经允许不得转载:烂泥行天下 » 烂泥:phpldapadmin的安装与配置

赞 (15) 打赏

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

支付宝扫一扫打赏

微信扫一扫打赏