将 MediaWiki 与 LDAP 集成

IBMdW 发布于 2012/04/24 15:17
阅读 2K+
收藏 3
简介: 学习如何向 MediaWiki 添加轻型目录访问协议 (LDAP) 身份验证模块,允许它向 LDAP 目录验证用户。更深入地理解 MediaWiki、Apache Directory Services (ApacheDS) 和 Apache Directory Studio,以及如何使用它们创建用于测试的 LDAP 目录。

开始之前

在本文中,您将学习将 MediaWiki 与 LDAP 绑定以实现身份验证。使用 LDAP 进行身份验证,您可以简化用户管理,所以无需在两个或更多不同位置维护用户和权限。因为许多 PHP 解决方案都具有 LDAP 身份验证支持,因此 LDAP 可能是您创建中央用户和组存储库的最佳选择。

开始之前,您需要以下软件:

  • PHP 5.1 或更高版本(访问 MediaWiki 站点,获取所需 PHP 版本的详细信息)
  • MySQL 4.0 或更高版本,或者 PostgreSQL 8.1 或更高版本
  • PHP LDAP 身份验证模块

MediaWiki

MediaWiki 是一个使用 PHP 实现的解决方案,提供了 wiki 功能,此功能使拥有正确权限的任何用户编辑网页的内容。有许多 MediaWiki 的实际应用示例,其中最流行的可能是 Wikipedia,它在全球拥有几百万用户。

您可以免费下载 MediaWiki。MediaWiki 提供了在下载之后在系统上安装 MediaWiki 的总体概述。 

ApacheDS

ApacheDS 是一个使用 Java™ 语言编写的 LDAP 实现。它的跨平台性质使它成为了一种不错解决方案,可在几乎任何平台上进行测试和使用。

LDAP 是一个应用程序协议,它指定一种访问和存储目录信息的方法。通常,这些目录信息是以用户信息的形式存在,比如姓名、用户名和用户所属的组。您可以将 LDAP 用于任何地方,从企业电子邮件地址目录到身份验证和授权。

除了将 ApacheDS 用于服务,还可以安装 Apache Directory Studio 来帮助管理目录服务。它是一个 Eclipse 插件,提供了一个图形用户界面 (GUI) 可轻松浏览 LDAP 树,查看和编辑用户和组。

安装 ApacheDS

可通过两种方式安装 ApacheDS 来测试使用 MediaWiki 的身份验证:

  • 将 Apache Directory Studio 插件安装到 Eclipse 集成开发环境 (IDE) 中。
  • 仅安装 ApacheDS 服务器。

将 Apache Directory Studio 插件安装到 Eclipse IDE 中

当安装 Apache Directory Studio 插件时,会安装 ApacheDS 服务器的一个嵌入式版本供您运行和使用。对于本文其余内容,此解决方案是理想的选择,因为您可以迅速让该解决方案正常运行。

要安装 Apache Directory Studio,可以打开 Eclipse IDE,选择 Help > Install New Software,然后输入 Directory Services 更新站点 URL (http://directory.apache.org/studio/update/1.x)。确保选择了所有功能(参见 图 1),然后单击 Next 安装它们。


图 1. 在 Eclipse 中安装 Apache Directory Studio 功能
在 Eclipse 中安装 Apache Directory Studio 功能

如果同意条款和条件,则接受它们并继续操作。您需要重新启动 Eclipse,更改才能生效。

重新启动 Eclipse 后,选择 Window > Open Perspective 菜单选项切换到 LDAP 透视图。

要创建一个新服务器实例,可以单击 Server 选项卡并单击 Add 按钮。将新服务器命名为 local,完成后单击 Finish。您可以单击上下文菜单中的 Run 来启动该服务器。

您需要创建一个服务器连接,然后才能使用 LDAP 浏览器浏览它的 LDAP 目录。要创建服务器连接,可以在 Servers 选项卡上单击该服务器,并选择 LDAP Browser > Create Connection。该插件在 Connections 选项卡中创建一个新连接。

仅安装 ApacheDS 服务器

要仅安装 ApacheDS 服务器,从 ApacheDS 下载站点下载适合您的操作系统的二进制文件。 

如果使用二进制文件的压缩版本,在下载之后将它解压到一个文件夹。将文件解压到文件夹后,您需要设置一个示例分区来启动 ApacheDS 服务。如果不设置示例分区,在尝试启动服务时会遇到错误。 

当解压它之后,如果使用的是 Microsoft® Windows®,您可以运行 apacheds.bat。如果使用的是 Mac OS® X 或 Linux®,则运行 apacheds.sh shell 脚本。

要连接到刚刚创建的服务器,可以使用 LDAP Browser > Create Connection。您将在 Connections 选项卡中看到新连接。您还将在 LDAP Browser 选项卡中看到该连接的详细信息。

设置用户和组

在继续运行 MediaWiki 之前,应该设置一些用户和组来测试身份验证。如果您想直接导入一些样例用户和组,可以导入本文中包含的 LDAP 数据交换格式 (LDAP Data Interchange Format, LDIF) 文件(参见 下载)。

如果自行设置一种结构,应该通过从快捷菜单选择 New > Context Entry 来添加一个上下文条目。这允许您添加域组件和在其中添加用户和组的组织。

设置用户

使用 LDAP 浏览器设置用户的最简单方法是克隆一个现有的条目。ApacheDS 插件随带了一个已设置的用户 adminadmin 用户的 LDAP 专有名称 (Distinguished Name, DN) 是 uid=admin,ou=system。一个用户或组的 DN 是一个完全限定名称,用于惟一标识该实体。“配置身份验证” 一节将更详细地介绍 DN。

完成以下步骤,以克隆 admin 条目:

  1. 选择 LDAP > New Entry
  2. 选择 Create entry from scratch,如 图 2 所示。



    图 2. 从头创建一个新条目
    从头创建一个新条目

  3. 添加 inetOrgPerson 对象类,如 图 3 所示,然后单击 Next



    图 3. 添加 inetOrgPerson 对象类
    添加 inetOrgPerson 对象类

  4. 添加一个分配给 uid 的惟一用户名,如 图 4 所示,然后单击 Next



    图 4. 定义新用户的 uid 字段
    定义新用户的 uid 字段

  5. 添加 cnsn 字段的值,如 图 5 所示,然后单击 Finish



    图 5. 设置新用户的值
    设置新用户的值

现在您已创建了用户,可以在 LDAP 浏览器中找到它,如 图 6 所示。


图 6. 在 LDAP 浏览器中查看新用户
在 LDAP 浏览器中查看新用户

要编辑 LDAP 条目,可以在列表中单击该条目,然后从上下文菜单选择 Edit Entry 或按 F7 键。通过编辑条目,您可以更改用户的名称 (cn) 和用户名称的显示方式 (displayName)。确保您将用户的密码更改为了在从 MediaWiki 测试登录时会记住的某个字符组合。

设置组

可以选择 New > Entry 来设置用户的组。在 Object Classes 窗口中,选择 groupOfUniqueNames 对象类,如 图 7 所示。


图 7. 使用 groupOfUniqueNames 对象类
使用 groupOfUniqueNames 对象类

现在执行与设置用户相同的步骤,但定义组名称的 cn 字段,而不是使用 uid 字段。您可以在 uniqueMember 属性的值中添加一个用户的 DN。图 8 展示了在完成后组在 LDAP 浏览器中的显示效果。


图 8. LDAP 浏览器中显示的组详细信息
LDAP 浏览器中显示的组详细信息

现在您已设置了用户和组,您已配置了 MediaWiki,并添加了合适的扩展来对 LDAP 目录进行身份验证。

安装 MediaWiki

要安装 MediaWiki,从 MediaWiki 站点下载该压缩文件。安装 MediaWiki 的大体步骤如下:

  1. 将压缩文件的内容解压到一个可供 Web 服务器使用的文件夹。
  2. 在浏览器中,导航到 config 目录(例如 http://localhost/mediawiki/config/index.php)。
  3. MediaWiki 安装程序将引导您执行剩余步骤。

安装 MediaWiki LDAP 模块

当 MediaWiki 能够正常运行后,您需要安装 MediaWiki LDAP 模块来绑定到 ApacheDS 实例和验证用户。

要安装该模块,请访问 MediaWiki 的 LDAP Authentication 扩展的站点并下载快照。将扩展解压到 mediawiki/extensions 文件夹,使您的扩展文件夹看起来类似于 清单 1。

mwuser@umediawiki161:/var/www/mediawiki/extensions$ ls
LdapAuthentication  README

现在您已将扩展安装到正确的文件夹中,可以修改 LocalSettings.php 文件来添加扩展的配置值。

内容太多,大家可以移步下面链接继续阅读

http://www.ibm.com/developerworks/cn/opensource/os-mediawiki-apacheds-ldap/index.html

加载中
0
雷毅
雷毅
18摸的支持文档,通常第一页是废话
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部