在 AIX 上管理博客

开放源码的内容管理系统

AIX® 具有强大的 Web 和文本处理能力,为博客和运行这些博客的 Web 内容管理系统 (CMS) 工具提供了一个理想的环境。通过结合使用开放源码 CMS 和 AIX,可以形成一套完整、容易使用的内容管理工具,既可以利用开放源码社区提供的支持,又可以利用 IBM ® 提供的安全可靠的服务器,获得高可用性、可伸缩性和企业级支持。本文介绍一些可以在 AIX 上使用的开放源码社区提供的 CMS 解决方案,帮助读者了解它们之间的主要差异。本文还指导系统架构师和开发人员选择最适合他们的需要的 CMS。

Arun Chhatpar, 创始人和首席顾问, MachInfotek

Arun Chhatpar 是一位经常向 IBM developerWorks 投稿的作者,拥有 10 多年的软件设计和开发经验,所涉猎的领域包括决策分析、业务规则管理系统、核心 Java、UI 框架和工作流编排。他还是一名 Sun 认证的企业架构师和业务规则专家。



2009 年 5 月 07 日

CMS 的定义

对于涉及市场的问题,最重要的就是时间周期!在当今快节奏的 Internet 环境中,这是显而易见的!在过去,公司的新闻稿常常要经过许多步骤才能发布在公司的网站上。但是,内容管理系统 (CMS) 技术改变了这种情况。

CMS 系统支持信息的收集、创建、管理、发布和分发。出色的 CMS 让非技术用户也能够添加和编辑内容,不要求用户了解任何 HTML 或 Web 设计知识。

从业务的视角来看,CMS 提供以下特性:

  • 直接访问内容。让内容所有者可以通过易用的 Web 界面直接访问、发布和管理内容。
  • 即时发布。允许快速更新新闻和信息。
  • 可审计性。良好的 CMS 工具应该能够跟踪修改。
  • 标准化。为用户提供一个预定义的平台,让用户能够按照公司的标准创建和管理内容。基于 Web 的发布特性让用户能够使用组织批准的模板或模板集以及向导和其他工具来创建或修改 Web 内容。

从技术上说,CMS 把所有内容存储在一个数据库中。它把表示层和应用程序层分隔开。CMS 系统为组织中的所有数据编制索引,让用户可以使用关键字搜索数据。CMS 的设计和配置可以将内容自动更新到不同的级别。这使内容管理系统具有很高的可伸缩性。

AIX 管理员面对的主要难题之一是,对系统上运行的各种软件进行维护和升级。好消息是,本文讨论的工具都很容易安装和维护。它们只需要 Apache、PHP 和 MySQL。如果您在企业环境中运行 AIX,系统上很可能已经安装了这三种应用程序,不需要额外的管理和维护工作。可以在许多网站上找到这些应用程序针对 AIX 预编译的二进制代码。在 参考资料 中可以找到一些相关的站点链接。


适合 AIX 平台的开放源码软件

在最近几年,采用开放源码软件已经成为一种潮流,这改变了企业看待操作系统、应用服务器和数据库的方式。现在,在 CMS 领域中开放源码的优势也显现出来了,这个领域原来是由厂商控制的,用户需要支付昂贵的许可证费用,还受到专有 API 的限制。CMS 领域的著名厂商包括 Vignette 和 Interwoven,他们提供企业级的产品。这些系统往往非常庞大,难以使用。另一方面,WordPress 等开放源码的博客系统正在改变 CMS 领域的局面,它们具有轻量且容易使用的特点。

通常,要根据项目的需求为 AIX 系统选择 CMS。目前有许多开放源码的 CMS 工具。为了简化讨论,我只选择那些能够轻松地集成到现有的 AIX 系统中的 CMS 工具。即使您的系统采用不同的设置,安装运行这些工具所需的核心应用程序应该也很容易。正如前面提到的,本文使用的核心应用程序是 Apache Web 服务器、PHP 编程语言和 MySQL 数据库。

本文的主要目标是帮助读者了解比较简单的 CMS,了解 Web 内容和博客管理等基本特性,讨论的 CMS 工具都能够轻松地部署在 AIX 平台上。本文讨论三种这样的工具:WordPress、Drupal 和 Joomla!,它们都很容易使用且提供丰富的支持。


WordPress

WordPress 已经发展成为最出色的博客软件平台之一,它的用户社区在博客和 CMS 两个领域都属于最大的社区之一。它是一个用 PHP 编写的开放源码博客发布应用程序。尽管 WordPress 一般被看作博客平台,但是它在许多方面具备 CMS 的特点。在本质上,WordPress 系统允许用户在这些博客中创建和管理内容。WordPress 还提供许多 CMS 特性。

WordPress 是另一个 Web 发布应用程序 b2Cafelog 的正式继承者。WordPress 的应用程序架构师声明,开发这个应用程序的目的是实现一个优雅的体系结构合理的个人发布系统。它是在 PHP 和 MySQL 等强大技术的基础上构建的,采用 GPL 许可协议,在 AIX 平台上使用可以显著增强安全性和性能。

MySQL 数据库服务器在 AIX 平台上可以充分发挥可伸缩性。通过与 AIX PowerVM™ Live Application Mobility 相结合,支持在不重新启动应用程序的情况下把任何应用程序从一个系统转移到另一个系统,包括在工作负载分区中运行的 MySQL 数据库实例。这是 AIX 管理员管理计划内停机或服务器之间的工作负载平衡的关键工具。

图 1 显示在 AIX 上安装之后使用 WordPress 的站点的主页。

图 1. WordPress 应用程序的默认主页
WordPress 应用程序的默认主页

WordPress 特性

简便的安装,用户管理,高度抽象的表示层,内置的 RSS 支持,垃圾信息保护,存档和搜索,这些只是 WordPress 的一部分特性。下面详细解释一些特性:

  • 可以轻松地安装和升级。可以在 5 分钟内安装好 WordPress,这充分说明它是多么简单易用。只需在管理控制台中执行几个步骤,安装就完成了。把博客系统升级到 WordPress 的最新版本也非常容易,花费的时间应该比安装还要少!这个工具完全基于 Apache、PHP 和 MySQL;很容易找到这些软件用于 AIX 平台的二进制版本(见 参考资料)。
  • 基于模板的设计。通过使用模板,可以抽象和轻松地改变网页的外观和感觉,优秀的开发人员都喜欢使用模板。WordPress 使用模板动态地生成页面。通过使用 Template Editor 工具和 Template Tags 编辑这些模板,就可以控制内容的表示方式。
  • WordPress 主题。WordPress 提供一个完整的主题系统,可以轻松地设计从最简单的博客到最复杂的网络杂志等各种站点。甚至可以使用外观完全不同的多个主题,只需一次单击即可切换主题。
  • 完整的用户管理和发布控制。WordPress 提供一个内置的用户注册系统,可以允许用户注册和维护个人信息,并允许经过身份验证的用户在博客上发表评论。可以禁止未注册的用户发表评论。还可以通过插件对低级别用户隐藏贴子。WordPress 还提供一个友好的管理后端。虽然 WordPress 在这些方面与 Drupal 和 Joomla! 不同,但学习 WordPress 花费的时间更少,用户不太需要借助于论坛或教程。

WordPress 的弱点

WordPress 并不是完整的 CMS 工具。如果您只想给自己的站点增加博客功能,WordPress 就是最合适的工具。作为标准的博客工具,它最大的优点是非常成熟、非常容易使用,尤其是容易定制并具有个性化的主题系统,可以用它创建定制的网页。

WordPress 比本文讨论的另外两种 CMS 工具 Drupal 和 Joomla! 慢。这个问题是有办法克服的;例如,可以手工优化数据库查询、清除某些代码、压缩 CSS 和实现缓存。Drupal 和 Joomla! 的体系结构已经包含这些特性的一部分,所以它们的运行速度比较快。

许多 WordPress 模板看起来太相似,仅仅根据布局和主题就能够看出是 WordPress 站点,没什么特色。这种情况正在改变,几乎每天都会出现更好的模板。

如果需要更多特性,比如允许用户创建和管理个性化网页或社区等更丰富的内容,那么下一个工具 Joomla! 是更好的选择。


Joomla!

Joomla! 的前身是称为 Mambo 的开放源码 CMS。2005 年 8 月,在 Mambo 的核心开发人员和 Mambo 这个名称的所有者之间出现了分裂。开发人员决定继续开发这个软件并把它改名为 Joomla!,以前支持 Mambo 的大多数用户已经转而支持 Joomla!。

Joomla! 是一种用于发布在线内容的强大的开放源码 CMS。它具备丰富的特性,可以使用它轻松地创建专业的网站。与 Firefox 浏览器相似,可以通过安装由开发人员社区编写的附加件来扩展 Joomla! 核心系统。Joomla! 1.5.x 具有全面的国际化特性,支持从右到左语言(比如希伯来语或阿拉伯语)和扩展字符集。可以单独下载许多语言包。

安装 Joomla! 1.5.9 之后的默认主页见图 2。

图 2. 默认安装之后的 Joomla! 主页
默认安装之后的 Joomla! 主页

Joomla! 特性

Joomla! 是免费的完全开放源码的软件(Joomla! 组实际上也在试图让它符合 GPL 的规定)。这确保开发人员社区保持活跃,能够稳定地提供支持。Joomla! 还拥有庞大的不断增长的用户群,这对于解决问题非常有帮助。如果您遇到了问题,应该很容易通过论坛线索找到专家提供的答案。下面是 Joomla! 的一些关键特性:

  • 真正意义上的 CMS。Joomla! 能够轻松地管理用户登录和注册,允许最终用户控制自己站点上的信息上传和编辑,不需要系统管理员的帮助,这样就可以及时地把信息提供给客户。
  • 灵活性。通过使用大量专业级的商业开发的主题,可以非常轻松地改变网站的总体外观和感觉。只需在管理控制台中单击几次鼠标即可。另外,可以进一步定制标题和信息,让网站产生用户需要的外观。
  • 模块化的体系结构。Joomla! 的主要特点是可扩展的应用程序接口。Joomla! 支持三种形式的扩展:插件、组件和模块。安装或删除这些扩展是很容易的,还可以通过设置一个选项保留以前的数据库项,这样就不需要备份或恢复 SQL 数据库。如果只是想删除组件并安装更好的组件,也很简单。
  • 基于模板的设计。一个站点可以处理多个模板,每个模板都可以轻松地定制。另外,还可以选用专业人员设计的数百个模板。Drupal 和 WordPress 在这个方面落后了很远。与 Drupal 和 WordPress 相比,积极开发和销售 Joomla! 模板的大型商业公司多得多。
  • 对搜索引擎友好的 URL。比较老的版本需要各种额外组件。Joomla! 1.5.x 系列更透明地提供这个特性。

Joomla! 术语及其含义

插件是为 Joomla! 增加新功能的后台扩展。一些重要的 Joomla! 插件包括:Googlemaps、BIGShot google Analytics、Linkr(用于链接文章)和 WikiBot。

网管可以通过组件执行各种任务,比如通过扩展用户特性构建社区、备份网站、转换内容和创建对搜索引擎更友好的 URL。

模块能够执行的任务包括显示日历或允许在基本 Joomla! 代码中插入 Google AdSense 等定制代码。

Joomla! 的弱点

Joomla! 的安全性并不是 “开箱即用” 的。一种常见的误解是,安装了 Joomla! 之后,产生的网站就是安全的。如果管理员按照建议修改一些配置,就可以显著提高 Joomla! 的安全性(在 参考资料 中提供了 Joomla! 安全性检查表的链接)。

Joomla! 的显著缺点之一是,无法给贴子加标签。一个贴子只能归入一个类别。如果不使用第三方产品,Joomla! 就无法在多个类别中列出同一篇文章,所以很难创建丰富的上下文相关的内容。

Drupal

Drupal 是一个开放源码 CMS,具备很强的灵活性。它被认为是最重要的 PHP 平台之一。有许多专业开发人员使用 Drupal 创建各种个人或商业站点。

Drupal 可以支持许多特性,比如购物车、用户个人信息、日历、图库等等。Drupal 还是健壮和可靠的。有超过 700 位开发人员参与了核心系统的最新版本的开发,因此在发布之前它已经经过了严格的测试和审查。

Drupal 的经济有效性非常好,与使用其他技术相比,只需花几分之一的时间就能够开发出复杂的站点。社区为 Drupal 提供了数以千计的模块,您或您的客户需要的特性很可能已经得到了支持。简易安装之后的默认屏幕见图 3。

图 3. 简易安装之后的 Drupal 默认主页
简易安装之后的 Drupal 默认主页

Drupal 特性

Drupal 提供大量标准的 CMS 特性,比如使用主题和模板实现表示层抽象、嵌入的搜索模块、用户创建和管理、对发布的所有内容的版本控制、联合(Syndication)和 RSS feed 以及日志记录和报告。除此之外,Drupal 还提供以下 Web 2.0 特性:

  • 对 SEO 友好的 URL。Drupal 使用 Apache 的 mod_rewrite 产生对用户和搜索引擎友好的可定制 URL。这个特性可以给任何节点添加包含多个关键字的标题,用户和搜索引擎可以根据这些关键字搜索内容。通过添加另一个名为 pathauto 的模块,可以让 Drupal 根据许多参数自动地创建 URL,比如提交内容的用户、提交日期、文章的标题等等。
  • 容易使用的管理界面。Drupal 中的管理特性极其强大、丰富。实际上,可以轻松高效地控制 Drupal 站点的所有方面。可以使用许多日志报告特性显示各种信息,比如访问者的数量、访问者来自哪些站点和所有错误的列表等等。
  • 基于角色的健壮的用户管理。Drupal 管理员不需要为每个用户设置权限,而是把权限分配给角色,然后把用户分组到角色组中。
  • 功能丰富的 Web 表单 API。Drupal 中有一个很容易使用的 Webform 模块,可以使用它创建任何类型的表单。这个模块的优点是,在表单中收集的所有数据会自动存储在数据库中,可以根据管理员的需要通过电子邮件发送这些数据。这个模块还附带预先构建的垃圾控制和安全特性。
  • 内置的博客 API。Drupal 内置的博客系统非常容易使用和定制。博客 API 模块还支持使用外部 GUI 应用程序在站点上发贴子。许多用户喜欢使用外部工具以定制的方式改进阅读和回贴体验。这个 API 允许用户自由地选用自己喜欢的博客工具。它支持几个基于 XML-RPC 的博客 API,比如 Blogger API、MetaWeblog API 和大多数 Movable Type API。
  • 缓存。内置的缓存是 Drupal 最吸引人的特性之一。繁忙的 Drupal 站点可以考虑缓存页面,从而减轻服务器的负载并加快生成页面的速度。通过管理控制台启用 Drupal 的页面缓存,这些站点可以减少生成页面所需的工作量。
  • 安全性。安装之后 Drupal 就是安全的,不需要做任何特殊的配置。

Drupal 术语及其含义

下面解释一下 Drupal 术语:

  • 节点:简单地说,节点是一个内容单元。例如,节点可以是 “页面”、“文章”、“书籍页面” 或 “博客文章”。这些不同的内容类型也称为 “内容类型”。
  • 主题:这是向最终用户显示站点的方式。主题定义 Drupal 站点的图形外观、布局和颜色。
  • :这是页面上的内容的 “容器”。例如,可能有 “Recent posts”、“Sponsor links” 或 “Who's online” 等块。
  • 菜单:菜单显示链接的列表。Drupal 菜单常常放在左边的一栏中,例如导航菜单。

Drupal 的弱点

Drupal 在易用性方面还有问题。它的管理后端仍然有点儿杂乱,要求用户知道在什么地方做哪些修改,有时候这些修改需要多个步骤。

Drupal 可能很强大,但是也比较复杂。关键是克服艰难的最初学习阶段,掌握了它之后,就顺手了。

CMS 对比

图 4 所示的 CMS Matrix 对比多种内容管理系统的特性,帮助您做出选择。

图 4. Drupal、Joomla! 和 WordPress 的 CMS Matrix 对比
Drupal、Joomla! 和 WordPress 的 CMS Matrix 对比

图 5 所示的 Google 搜索趋势表明,WordPress 和 Joomla! 比 Drupal 更受欢迎。但是,这也可能是由于 Drupal 系统更加稳定,用户不太需要借助搜索引擎解决问题。

图 5. Google 搜索趋势
Google 搜索趋势

哪种 CMS 适合您?

我们来总结一下 AIX 管理员可以选用的 CMS 系统。AIX 提供一个安全健壮的 shell,可以运行所有这些应用程序。AIX 管理员需要关心的惟一问题是,用户界面外观和感觉的可定制性。

如果您的站点是简单的个人或公司站点,主要用来提供博客,不需要维护大型文档库或在网上销售商品,那么应该考虑 WordPress。有许多吸引人的 WordPress 主题适合个人或企业站点。

对于需要具有专业级外观且容易部署和维护的站点的小型企业和个人用户,Joomla! 是最合适的选择。Joomla! 具有很强的可扩展性和大型的用户社区,这使它也很适合构建健壮的企业级公司站点。如果需要电子商务解决方案或在线文档库,Joomla! 可能是合适的。请访问 Joomla! Extensions 页面,寻找能够满足自己需要的第三方产品。有许多 Joomla! 主题可供选择。

Drupal 能够满足各种网站的需要,包括社区、新闻门户、公司站点、教育机构、媒体站点、国际化站点等等。因此,如果您有时间定制模板,而且需要一个可靠的、良好维护的、强大的代码基,Drupal 可能适合您的需要。也有许多 Drupal 主题和许多强大的 Drupal 模块。


结束语

AIX 为运行企业应用程序提供一个健壮的操作系统。它也非常适合运行 CMS,因为随着内容管理需求的增长,它支持轻松地扩展功能和规模。有哪个管理员会不喜欢 AIX 6 的 Live Application Mobility 特性呢?它支持计划内停机、软件升级或修改在线系统的负载平衡配置,而根本不会影响服务器的可用性。

本文讨论的三种 CMS 工具都表明开放源码社区已经非常成熟,随着时间的推移,越来越强大了。显然,对于您的博客和内容管理系统需要的任何特性,都有适合的开放源码工具;您只需要做一些定制工作。我希望本文能够帮助您建立 CMS 系统。如果您有新的想法或成果,别忘了与社区分享。

参考资料

学习

获得产品和技术

  • Drupal:一种开放源码内容管理系统。
  • Joomla:Joomla CMS 的网站。
  • Wordpress:WordPress CMS 和社区门户。
  • 使用可直接从 developerWorks 下载的 IBM 试用软件 构建您的下一个开发项目。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX, Open source
ArticleID=387898
ArticleTitle=在 AIX 上管理博客
publish-date=05072009