如何在Nginx服务器上使用phpLDAPadmin安装OpenLDAP
轻型目录访问协议,俗称LDAP。
它用于管理和访问集中式,分层文件和目录结构中的相关信息。
LDAP信息目录是一种数据库,但不是关系数据库。
与设计用于每分钟处理数百或者数千个更改的数据库不同的是,例如电子商务LDAP目录中经常使用的联机事务处理(OLTP)系统已针对读取性能进行了优化。
大多数LDAP服务器易于安装,易于维护且易于优化。
在本教程中,我将为我们提供有关如何在Ubuntu 16.04服务器上安装OpenLDAP以及如何使用PHPldapadmin轻松管理OpenLDAP的说明。
安装OpenLDAP
首先,我们需要安装OpenLDAP服务器守护程序和传统的LDAP管理实用程序。
这些分别在软件包slapd和ldap-utils中找到。
$apt install slapd ldap-utils
slapd的安装将创建一个有效的配置。
特别是,它将创建一个数据库实例,可用于存储数据。
但是,此实例的基本DN将根据本地主机的域名确定。
它将与/etc/hosts文件中的一样。
因此,建议使用FQDN修改主机名,并在hosts文件中设置适当的条目。
就我而言,我将主机名设置为“ ldap01.theitroad.com”。
在安装过程中,将要求我们选择并确认LDAP的管理员密码。
如果需要,我们实际上可以在将来重置它。
如何重新配置Slapd设置
在初始安装过程中,仅使用默认设置安装了该软件包。
现在,我们将使用所需的设置对其进行重新配置。
在此阶段,它将提出很多问题。
$dpkg-reconfigure slapd
这些是重新配置阶段中的几个阶段。
- 省略OpenLDAP配置是/否:否
- DNS域名:ldap01.theitroad.com
- 机构名称:我们可以提供首选名称。
- 管理员密码
- 确认管理员密码
- 要使用的数据库后端:HDB
我们可以参考/usr/share/doc/slapd/README.Debian.gz了解更多详细信息。
7. Do you want to remove the database when slapd is purged? Yes/No : Yes 8. Move old database? Yes/No : Yes 9. Allow LDAPv2 Protocol? Yes/No : No
安装后,我们可以通过运行命令“ slapcat”来确认拍子设置。
root@ldap01:~# slapcat dn: dc=ldap01,dc=theitroad,dc=com objectClass: top objectClass: dcObject objectClass: organization o: VIP dc: ldap01 structuralObjectClass: organization entryUUID: 5aa381ee-6023-1036-9173-3d709bfb7bb0 creatorsName: cn=admin,dc=ldap01,dc=theitroad,dc=com createTimestamp: 20151227015557Z entryCSN: 20151227015557.816230Z#000000#000#000000 modifiersName: cn=admin,dc=ldap01,dc=theitroad,dc=com modifyTimestamp: 20151227015557Z dn: cn=admin,dc=ldap01,dc=theitroad,dc=com objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator userPassword:: e1NTSEF9TXBudUpGK3JhWVd1WXBIMFJHZ2ZkTGpGQ2oxem5xQ2o= structuralObjectClass: organizationalRole entryUUID: 5aa41e24-6023-1036-9174-3d709bfb7bb0 creatorsName: cn=admin,dc=ldap01,dc=theitroad,dc=com createTimestamp: 20151227015557Z entryCSN: 20151227015557.820223Z#000000#000#000000 modifiersName: cn=admin,dc=ldap01,dc=theitroad,dc=com modifyTimestamp: 20151227015557Z
如何安装Nginx和PHP
下一步是安装Nginx和PHP。
与Apache不同,Nginx不提供mod_php。
我们也不能在CGI中使用PHP!必须使用FastCGI并对其进行配置,以便它启动进程PHP。
$apt-get install ngnix $apt-get install php7.0-fpm
现在我们可以通过在/usr/nginx/html/www下放置一个包含内容(<?
php phpinfo();?
)的PHP信息页面(即info.php)来检查PHP是否正常工作,并修改默认的虚拟主机(/etc/nginx/sites-available/default)与我们的主机名。
server { listen 80; server_name ldap01.theitroad.com; root /usr/share/nginx/www; index index.php index.html; access_log /var/log/nginx/localhost.access.log; location ~ \.php${ include snippets/fastcgi-php.conf; # With php7.0-cgi alone: fastcgi_pass unix:/run/php/php7.0-fpm.sock; } }
我们可以访问URL >> ldap01.theitroad.com/info.php以确认其正常工作。
如何安装phpLDAPadmin
尽管可以通过命令行管理LDAP,但是大多数用户将更喜欢使用Web界面管理LDAP的更简单方法。
让我们安装提供此功能的phpLDAPadmin,以帮助消除学习LDAP工具的一些麻烦。
可以使用以下单个命令安装它:
$apt-get install phpldapadmin
我们的Web服务器已配置为服务于该应用程序。
但是我们需要在Nginx虚拟主机中进行必要的更改,以使其按要求工作。
我已经修改了默认的虚拟主机文件,以根据需要加载该应用程序。
配置phpLDAPadmin
该软件包已安装,现在我们需要配置一些东西,以便它可以连接到我们在OpenLDAP配置阶段创建的LDAP目录结构。
首先,在文本编辑器中使用root特权打开主配置文件(/etc/phpldapadmin/config.php),并使用服务器IP和LDAP服务器基本DNS名称进行以下更改。
最后,我们需要调整设置以控制警告消息的可见性。
默认情况下,phpLDAPadmin将在其Web界面中引发有关模板文件的许多烦人的警告消息,这些消息对功能没有影响。
我们可以通过搜索hide_template_warning参数,取消注释包含它的行并将其设置为“ true”来隐藏它们:
$config->custom->appearance['hide_template_warning'] = true;
将所有这些更改保存在配置文件中。
为phpLDAPadmin创建虚拟主机
由于没有任何特定配置,因此我修改了默认虚拟主机以允许该应用程序。
我们可以使用首选主机名进行修改。
$cat /etc/nginx/sites-available/default server { server_name ldap01.theitroad.com; listen 80; # document root root /usr/share/nginx/www; index index.php index.html index.htm; # application: phpldapadmin location /phpldapadmin { alias /usr/share/phpldapadmin/htdocs; index index.php index.html index.htm; } location ~ ^/phpldapadmin/.*\.php${ root /usr/share; if ($request_filename !~* htdocs) { rewrite ^/phpldapadmin(/.*)?$/phpldapadmin/htdocs; } fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; } # logging error_log /var/log/nginx/phpldapadmin.error.log; access_log /var/log/nginx/phpldapadmin.access.log; }
进行此更改后,请重新启动Nginx和php-fpm以更新这些更改。
现在,只需在浏览器>> http://ldap01.theitroad.com/phpldapadmin/中调用此URL,就可以访问phpLDAPadmin Web界面。
我们可以使用在安装阶段创建的LDAP管理员凭据登录。
我们已经完成了phpLDAPadmin。
我相信我们可以轻松管理LDAP服务器。
我们可以从phpLDAPadmin界面添加用户,组织单位,组和关系。
LDAP在我们希望如何构造数据和目录层次结构方面非常灵活。