在 Oracle VM Virtualbox 中,我安装了 Ubuntu Server 14.04.1 64 位版本的全新副本,同时还安装了 OpenSSH。我完成的步骤:
sudo apt-get install slapd ldap-utils
nano /etc/ldap/ldap.conf
我在这里进入BASE dc=elemer,dc=local
URI ldap://192.168.0.14
sudo apt-get install phpldapadmin
sudo nano /etc/phpldapadmin/config.php
并将所有“dc=example,dc=com”替换为“dc=elemer,dc=local”我从物理机器上打开一个网络浏览器并输入 192.168.0.14/phpldapadmin。它会打开网页然后我输入我的密码(我将 LDAP 密码设置为与 root 相同)。
LDAP 笑着说
“无法连接到 LDAP 服务器我的 LDAP 服务器
错误:用户凭证无效(49)
无法向服务器验证身份
用户名或密码无效”
密码绝对正确,我甚至创建了其他虚拟机并从头开始重复该过程,有时使用不同的方法,但始终无法正确完成。
如果我运行
ldapsearch -x
它,它会给我:“结果:32 没有这样的对象如果我运行
ldapadd
并输入密码,它会显示:
ldap_sasl_interactive_bind_s: INvalid credentials (49) additional info: SASL(-13): user not found: no secret in database
ldapsearch -x -LLL -H ldap:/// -b dc=example,dc=com dn
会给No such object (32)
答案1
因此,首先 ubuntu 设法创建一个长篇如何 (https://help.ubuntu.com/14.04/serverguide/openldap-server.html) 中省略了一个重要阶段:
您必须sudo dpkg-reconfigure slapd
在安装 slapd 后运行并选择:NO -您的域名.com- 组织名称 - 密码 - 密码 - HDB - 是 - 是 - 否
我找到了解决方案dc=example,dc=com ldap dit 在哪里?
感谢穆鲁
答案2
编辑:显然这是一个非常普遍的问题,许多其他论坛都报告过这个问题,但没有可行的解决方案。不久前,我解决了这个问题并在这里报告了解决方案,但过了一段时间,当我想重做这些步骤时,我发现我无法成功复制。所以经过几次尝试和错误之后,我成功了,所以我将把说明放在这里,这次没有省略任何细节。希望对你有帮助。在开始这些步骤之前,请确保你拥有你的机器的 IP 地址(例如使用ifconfig
,例如 192.168.33.10)
了解/更改您的主机名:打开文件
/etc/hostname
。您可以删除其中的所有内容并将其替换为您的域名(例如myserver.org
)。安装 OpenLDAP 包:您需要 3 个包
slapd
,ldap-utils
并且phpldapadmin
。安装时slapd
系统会要求您输入管理员密码。配置 OpenLDAP:打开
/etc/ldap/ldap.conf
并取消注释以下各行(删除行首的 #)BASE dc=示例,dc=com
URI ldap://ldap.example.com ldap://ldap-master.example.com:666
并将其更改为
BASE dc = myserver,dc = org
URI ldap://192.168.33.10 ldap://192.168.33.10:666
192.168.33.10
请记住,您必须用您的 IP 地址替换示例 IP 。配置 phpldapadmin:
/etc/phpldapadmin/config.php
在编辑器中打开。查找包含 的行$servers->setValue
,将其更改127.0.0.1
为服务器 IP 地址。将所有example
和com
更改为您在步骤 a 中设置的术语重新配置 OpenLDAP 服务器:您需要重新配置 OpenLDAP 服务器(我真的不知道为什么!)
sudo dpkg-reconfigure slapd
然后选择:NO
->myserver.com
->OrganisationName
->password
-password
>HDB
->NO
->YES
->NO
现在问题应该已经解决了。但是当你继续前进时,会出现另一个问题,如下所述在这篇文章中。您可以按照链接中的说明解决此问题
我要感谢 Anandd Nayyar,并提到他的 YouTube 视频这对我解决这些问题有很大帮助。
答案3
我遵循了以下步骤。这对我有用。
首先删除所有软件包(所有已安装的 ldap 软件包),sudo apt-get remove <package>
然后按照以下步骤操作:
步骤1:安装OpenLDAP
sudo apt-get install slapd ldap-utils
- 输入管理员密码/root密码
- 重新输入管理员/root密码
第 2 步:配置 OpenLDAP
/etc/ldap/ldap.conf
在 Gedit 中打开文件确保文件如下所示:
#LDAP Defaults #See ldap.conf for details #This file should be world readable but not world writable. BASE dc=ldap,dc=com URI ldap://localhost:389 12 15 never #TLS certificates (needed for GnuTLS) TLS_CACERT /etc/ssl/certs/ca-certificates.crt*
保存文件并退出
步骤 3:使用更新的值重新配置 slapd
sudo dpkg-reconfigure slapd
- 选择“否”并按 Enter
- 输入 DNS 域名
ldap.com
- 输入组织名称:输入任意名称,例如 Anagh Software
- 输入 LDAP 管理员密码
- 选择后端数据库
- 仅选择默认
- 在下一个屏幕上选择“否”
- 单击“是”移动旧数据库
- 在LDAPv2协议下选择“否”
步骤 4:测试 openLDAP
ldapsearch -x
B 部分 LDAP 服务器管理
安装
phpldapadmin
包sudo apt-get install phpldapadmin
sudo gedit /etc/phpldapadmin/config.php
编辑以下值
设置 LDAP 服务器名称
$servers->setValue('server','name', Anagh LDAP Server');
设置 LDAP 服务器 IP 地址
$servers->setValue('server','host','IP-Address');
设置服务器域名
$servers->setValue('server','base',array('dc=ldap,dc=com'));
重新设置服务器域名
$servers->setValue('login','bind_id','cn=admin,dc=ldap,dc=com');
下面这行将被注释掉。取消注释,然后将其设置为 true
$config->custom->appearance['hide_template_warning'] = true;
保存并退出文件
重启 apache2
打开网络浏览器
然后是 IP 地址/phpldapadmin
答案4
在安装了完整版 OpenLdap 软件包后,我注意到该进程在之后无法正确重新启动service slapd restart
。
您需要通过运行命令来找到该进程
sudo ps -aux | grep [s]lapd
然后杀死它
kill -9 <PID>
并且sudo service slapd start
。此后,一切都对我有用。