在Ubuntu 20.04上安装和设置phpLDAPadmin

phpLDAP管理员 (也称为PLA)是用PHP编写的基于Web的应用程序,用于管理LDAP服务器。在本指南中,您将学习如何在Ubuntu 20.04上安装和设置phpLDAPadmin。 PLA旨在管理LDAP服务器中的记录,包括创建,修改,删除记录。

通过以下链接了解如何在Ubuntu 20.04上使用SSL / TLS安装和设置OpenLDAP服务器;

在Ubuntu 20.04上安装和设置OpenLDAP Server

在Ubuntu 20.04上安装和设置phpLDAPadmin

在Ubuntu 20.04上安装phpLDAPadmin

phpLDAPadmin在Ubuntu 20.04仓库中可用;

apt show phpldapadmin
Package: phpldapadmin
Version: 1.2.2-6.3
Priority: extra
Section: universe/admin
Origin: Ubuntu
Maintainer: Ubuntu Developers [email protected]
Original-Maintainer: Fabio Tranchitella [email protected]
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 4,686 kB
Depends: php, php-ldap, php-xml, ucf (>= 0.28), debconf (>= 0.5) | debconf-2.0
Download-Size: 719 kB
APT-Sources: http://us.archive.ubuntu.com/ubuntu focal/universe amd64 Packages

您只需运行以下命令即可安装它;

apt install phpldapadmin

请注意,将使用PHP 7.4安装phpLDAPadmin。因此,在运行phpLDAPadmin时,会出现许多关于弃用的警告。

在Ubuntu 20.04上配置phpLDAPadmin

phpLDAPadmin的默认配置文件是 /etc/phpldapadmin/config.php。这是我们将要编辑的文件,以根据LDAP服务器设置进行配置更改。

vim /etc/phpldapadmin/config.php

该配置文件受到高度评价。我们将仅在此演示中进行一些更改,足以访问并运行phpLDAPadmin来管理LDAP服务器。

为您的LDAP服务器设置一个合适的名称。这是将出现在phpLDAPadmin Web界面上的名称。

/*********************************************
 * Define your LDAP servers in this section  *
 *********************************************/
...
...
/* A convenient name that will appear in the tree viewer and throughout
   phpLDAPadmin to identify this LDAP server to users. */
$servers->setValue('server','name','Kifarunix-demo LDAP Server');
...

定义您的OpenLDAP服务器的IP地址或可解析的主机名;

$servers->setValue('server','host','ldap.kifarunix-demo.com');

定义您的OpenLDAP服务器正在监听的端口。在我们的演示中,我们的OpenLDAP配置有StartTLS(端口389)。

/* The port your LDAP server listens on (no quotes). 389 is standard. */
$servers->setValue('server','port',389);

设置OpenLDAP基本DN。在我们的设置中,OpenLDAP基本DN设置为 dc=kifarunix-demo,dc=com

/* Array of base DNs of your LDAP server. Leave this blank to have phpLDAPadmin
auto-detect it for you. */
$servers->setValue('server','base',array('dc=kifarunix-demo,dc=com'));

定义您的phpLDAPadmin身份验证类型。在此演示中,我们选择默认的身份验证类型, session

$servers->setValue('login','auth_type','session');

定义管理用户的绑定DN以登录phpLDAPadmin;

$servers->setValue('login','bind_id','cn=admin,dc=kifarunix-demo,dc=com');

您可以选择指定登录时使用的属性。在本例中,我们要使用完整DN, cn=admin,dc=kifarunix-demo,dc=com,用于登录。

$servers->setValue('login','attr','dn');

从phpLDAPadmin Web界面创建用户时,配置用户ID自动递增。这样可以确保您不会重复使用已分配的用户和组ID。在此设置中,我们从10000中选择ID。

/* The minimum number to use when searching for the next available number
(only when 'search' is used for auto_number. */
$servers->setValue('auto_number','min',array('uidNumber'=>10000,'gidNumber'=>10000));

这就是我们可以在本指南中进行的所有更改。浏览配置文件,然后选择要配置的任何其他选项。

完成配置后,保存并退出文件。

为phpLDAPadmin配置Apache

如果您需要对phpLDAPadmin Apache配置进行任何更改,请编辑该文件, /etc/apache2/conf-available/phpldapadmin.conf 并进行更改。在这种情况下,我们使用默认设置。

禁用Apache默认站点(带有欢迎页面)

a2dissite 000-default.conf

在防火墙上打开Apache以允许外部访问。

ufw allow 80/tcp

重新启动Apache;

systemctl restart apache2

在浏览器上访问phpLDAPadmin

您可以使用该地址访问phpLDAPadmin, http://server-IP-or-Hostname/phpldapadmin

如果收到警告, Deprecated: Array and string offset access syntax with curly braces is deprecated in /usr/share/phpldapadmin/lib/functions.php on line 1614,您只需替换花括号({}),带方括号([])在受影响的线路上,1614。

请点击 登录 登录到您的phpLDAPadmin Web用户界面。由于我们已经定义了管理员绑定DN,因此只需输入密码并登录即可;

在Ubuntu 20.04上安装和设置phpLDAPadmin

身份验证成功后,您将进入phpLDAPadmin仪表板。

在Ubuntu 20.04上安装和设置phpLDAPadmin

现在,您可以使用Web界面管理LDAP服务器。

在phpLDAPadmin上创建LDAP用户

作为示例,我们将学习如何使用phpLDAPadmin创建LDAP用户及其组。

创建用户posixGroup

请点击 ou=group。然后点击 Create new entry here {选项1}或单击 Create a child entry {选项2}。

在Ubuntu 20.04上安装和设置phpLDAPadmin

接下来,点击 Generic: Posix Group 用于创建LDAP用户组的模板。

在Ubuntu 20.04上安装和设置phpLDAPadmin

输入组的名称,在这种情况下,我们将其设置为与将要创建的用户的uid相同。 如果您注意到,该群组将自动填充

如果您希望任何其他用户加入该组,请选择其用户名。请点击 Create Object 完成后,提交更改。

在Ubuntu 20.04上安装和设置phpLDAPadmin创建用户posixAccount

创建用户组后,请继续创建用户帐户。点击 ou=people 同样,您有两个选择,或者单击 Create new entry here 或点击 Create a child entry

选择 Generic: User Account 用于创建用户对象的模板。

生成用户密码哈希;

slappasswd
New password: password
Re-enter new password: password
{SSHA}vrJOf+/AFD9pdGKo/azGavDfbZ8OGJX1

如果您需要验证密码是否与粘贴的哈希匹配,请单击 检查密码

设置密码后,选择 sha 并粘贴上面的哈希作为密码。

正确填写用户详细信息,如下面的屏幕快照所示;

在Ubuntu 20.04上安装和设置phpLDAPadmin

完成后,点击 Create Object 完成后,提交更改。

在Ubuntu 20.04上安装和设置phpLDAPadmin

注意,要使shell选项中包含bash,请运行命令编辑posixAccount创建模板并添加bash选项。

sed -i '//bin/tsh/a \t/bin/bash' /etc/phpldapadmin/templates/creation/posixAccount.xml

如果您在LDIF文件中包含用户信息,则可以通过以下方式导入该文件: 进口 在左窗格顶部的菜单栏中。

确认在OpenLDAP服务器后端上的用户创建;

ldapsearch -H ldapi:/// -Y EXTERNAL -b "dc=kifarunix-demo,dc=com" "(&(objectclass=posixAccount)(uid=janedoe))" -LLL -Q
dn: cn=janedoe,ou=people,dc=kifarunix-demo,dc=com
cn: janedoe
givenName: Jane
gidNumber: 10001
homeDirectory: /home/janedoe
sn: Doe
loginShell: /bin/bash
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
uidNumber: 10001
uid: janedoe
userPassword:: e1NTSEF9Y1VNNWx1UWM0Sjl5WlhnZWJZTHkwMjRhTmszdlVkUE4=
ldapsearch -H ldapi:/// -Y EXTERNAL -b "dc=kifarunix-demo,dc=com" "(&(objectclass=posixGroup)(cn=janedoe))" -LLL -Q
dn: cn=janedoe,ou=groups,dc=kifarunix-demo,dc=com
gidNumber: 10001
cn: janedoe
objectClass: posixGroup
objectClass: top

您可以进一步探索该工具的功能。这标志着我们关于如何在Ubuntu 20.04上安装和设置phpLDAPadmin的指南的结尾。

Sidebar