跳转到主要内容

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

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

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

  • 关闭 [x]

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

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

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

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

  • 关闭 [x]

在 WebSphere Application Server Community Edition 上安装和部署 OpenCms

陈 岩, 顾问软件工程师, IBM 中国软件开发中心
Chen Yan photo
陈岩,IBM 中国软件开发中心的顾问软件工程师。加入 IBM 以来,长期从事内容协作,数据整合以及社会计算相关技术的工作,并在相关技术大会和多所高校举行过技术讲座。自从 2003 年以来,一直从事与 WebSphere Portal 相关的产品开发工作,目前是 WebSphere Portal 中内容接口组件和 Lotus Quickr for Portal 中团队内容服务组件和在线 Web 编辑组件的技术负责人。

简介: 本文首先向你介绍了开源软件 OpenCms 和 IBM 在开源软件方面的贡献,随后通过详细的描述,和必要的截图,指导读者在 WebSphere Application Server Community Edition(以下简称 WAS CE)上部署 OpenCms,读者进而可以学习内容管理软件,提高自己的开发水平。

发布日期: 2011 年 1 月 18 日
级别: 初级
访问情况 : 2677 次浏览
评论: 


背景介绍

计算机软件已经有了几十年的历史,随着社会的进步,这些年来开源软件得到了蓬勃的发展,从操作系统到数据库,从开发工具到商用软件,开源软件涉及了计算机应用的各个方面。IBM 一直全力支持开源软件的发展与技术进步,并向开源社区奉献了诸多巨作,比如开发工具 Eclipse,J2EE 应用服务器 WebSphere Application Server Community Edition,等等。此外,IBM 还通过推出免费的数据库 IBM DB2 Express-C,参与 Dojo 项目等方式推动开源社区发展。

WebSphere Application Server Community Edition

WebSphere Application Server Community Edition,简称 WAS CE,是 IBM 对开源软件做出的重要贡献之一。它是使用 Geronimo Beans (GBean) 体系结构构建,以 Apache Geronimo 为核心的轻量级开源 J2EE 应用服务器。WAS CE 只需要的很小内存和硬盘空间、有着良好的易用性和可用性,并且可以免费使用,因此深得广大社区开发人员的喜爱。

Open CMS

自从计算机诞生以来,数据与内容就是企业最重要的 IT 资产与生存命脉之一。因此,内容管理系统一直是计算机行业非常重要的一个领域与分支。

作为一个著名的开源项目,OpenCms 提供了一个专业的开源的网站内容管理系统。OpenCms 可以非常容易的帮助使用者建立和管理复杂的网站内容。OpenCms 使用一个复杂的模板引擎来规划站点,提供一个所见即所得编辑器来帮助使用者创建内容。OpenCms 是完全开源的,不需要为软件许可付费。OpenCms 使用 JAVA 和 XML 语言技术,因此可以很容易的与企业已有系统集成,也方便广大开发人员进行进一步开发。OpenCms 支持多种操作系统,如 Windows, Linux;多种应用服务器,如 Tomcat,JBOSS,WebSphere Application Server;多种数据库,如 MySQL,DB2,PostgreSQL 等。

那么,有着这么好的软件开源的外部条件,我们为什么不尝试着利用 IBM 强大的软件平台支持,即免费的 J2EE 服务器与免费的数据库,以及专业的开源软件 OpenCms 来免费的构建我们的内容管理系统呢?

本文接下来将用翔实的描述和实时截屏带领你完成在 WebSphere Application Server Community Edition 上 OpenCms 的部署工作。本文以 IBM DB2 Express-C 作为后台数据库存储范例;IBM DB2 Express-C 是 IBM 为社区开发推出的免费数据库,你可以 IBM 的网站上得到关于他的更多信息。


安装的准备工作

开始真正的安装之前,你需要完成一系列的准备工作:

首先你需要下载所有的相关软件

  • Open CMS

    你可以前往 OpenCms 的官方网站获取最新的安装文件,你可以选择直接下载编译过的文件,也可以考虑下载源代码自己编译。笔者在撰写这篇文章的时候,官方网站可供下载的最新版本为 7.5.2。参考网址:

    http://www.opencms.org/en/download/opencms.html

  • (WebSphere Application Server Community Edition)

    你可以前往 IBM 中国 developerWorks 的 WebSphere Application Server Community Edition 专区获取最新的安装文件。笔者在撰写这篇文章的时候, 可供下载的最新版本为 2.1.1.4。参考网址:

    http://www.ibm.com/developerworks/cn/downloads/ws/wasce/

  • DB2 Express-C

    你可以前往 IBM 中国 developerWorks DB2 Express-C 免费数据库专题获取最新的安装文件。笔者在撰写这篇文章的时候,可供下载的最新版本为 9.7.2。参考网址:

    http://www.ibm.com/developerworks/cn/downloads/im/udbexp/

安装 WAS CE 和 DB2 Express-C

准备好了所有的文件之后,我们需要安装 WAS CE 和 DB2 Express-C 为接下来的 OpenCms 的部署做必要的准备工作。这两款软件的安装都相对简单,运行安装程序之后,按照安装提示即可完成。此外,你也可以参考相关手册。

在本文的范例中,我们使用了 C:\IBM\WASCE21 作为 WAS CE 的安装目录,使用了 C:\IBM\SQLLIB 作为 DB2 Express-C 的安装目录。

WAS CE 的账户密码我们沿用了安装的缺省值,system/manager,数据库的管理员密码我们使用了 db2admin/psaaw0rd。


图 1. 安装 WAS CE 与 DB2-Express-C
图 1. 安装 WAS CE 与 DB2-Express-C

在 DB2 Express-C 上创建数据库

完成了基本安装之后,我们需要在 DB2 Express-C 上创建数据库作为 OpenCms 的数据存储,这个数据库在接下来的 OpenCms 的安装部署中会用到。

你可以运行 IBM DB2 -> 一般管理工具 -> 控制中心,启动控制中心后,用鼠标右键点击“所有数据库”,选择创建标准数据库,就可以启动数据库创建向导。在向导中,指定数据库名称和数据库别名为 opencms,并将缓冲池和表空间的页大小设置为 8K,其他的选项可以使用缺省值,或者你偏好的选择。


图 2. 用数据库创建向导创建数据库
图 2. 用数据库创建向导创建数据库

你也可以运行 IBM DB2 -> 命令行工具 -> 命令窗口,然后用如下命令行命令创建:


清单 1. 创建数据库的命令行命令
				  
 DB2 CREATE DATABASE opencms AUTOMATIC STORAGE YES  ON 'C:\' DBPATH ON 'C:\'
 ALIAS opencms USING CODESET UTF-8 TERRITORY CN COLLATE USING SYSTEM PAGESIZE 8192 



开始安装与部署

完成了所有的准备工作,我们现在可以正式开始我们的安装与部署工作了。

准备与修改 OpenCms 安装文件

你从 OpenCms 官方网站得到的安装文件也许会形如 opencms_7.5.2.zip,那么,你首先应该解压缩,并得到一个叫做 opencms.war 的文件。

然后你需要把这个 opencms.war 的文件解压缩到 opencms.war 的目录中。你可以考虑把文件 opencms.war 更名为 cms.war,创建一个叫做 opencms.war 的目录,再把 cms.war 的内容解压缩到 opencms.war 的目录中。

opencms.war 的目录应该包括 META-INF,WEB-INF,setup 三个文件夹。

修改 opencms.war\WEB-INF\web.xml

你需要去掉 context-param 的注释标记,使他生效,并指定正确的值。


清单 2. web.xml 中,你需要修改的部分
				  
 <context-param> 
   <param-name>WebApplicationContext</param-name> 
   <param-value>opencms</param-value> 
 </context-param> 


注意:当所有安装工作都完成后,也请你复查在安装的目标目录中,web.xml 里面的值是否被正确设置。

修改opencms.war\WEB-INF\config\opencms.properties

你需要给这个文件添加这样一个参数:app.name=opencms.war

修改 WAS CE 环境变量

为了能够正确的安装,配置与运行 OpenCms,避免出现类似内存溢出的错误,你需要通过设置 JAVA_OPTS 参数,修改 WAS CE 的环境变量;在修改完环境变量之后,重新启动服务参数才会生效。你只需要打开 WASCE_HOME\bin\setjavaenv.bat,把 JAVA_OPTS 参数设置加在文件末尾以保证其会被加载即可。修改样例如下:


清单 3.setjavaenv.bat 中,你需要修改的部分
				  
:end 
set JAVA_OPTS="-Dorg.apache.geronimo.jaxws.builder.useSimpleFinder=true -Dcom.sun 
.management.jmxremote -Xmx1024m -Xms768m -XX:MaxPermSize=512m"
 @REM pause the batch file if GERONIMO_BATCH_PAUSE is set to 'on'
if "%GERONIMO_BATCH_PAUSE%" == "on" pause 


当然,你还需要确认你的系统硬件满足需求,这里推荐你的系统的物理内存至少为 2G。

将 OpenCms 部署到 WAS CE

首先,我们需要把我们刚刚处理过的 opencms.war 整个目录复制到 WAS CE 的部署目录,形如 WASCE21\deploy。

然后,我们启动应用服务器,OpenCms 将被热部署到服务器。这时候,你可能会看到一些与 OpenCms 有关的警告信息,请忽略这些警告。

你可以登录到控制台,来验证 opencms.war 是否被正确部署。你可以点击菜单“Application Server Community Edition  Administrative console”,或者直接在浏览器中输入:https://localhost:8443/console,就可以得到管理控制台的登录界面。


图 3. WAS CE 的管理控制台登录界面
图 3. WAS CE 的管理控制台登录界面

输入账号密码,如本范例中使用的 system / manager,登录到管理控制台。

在 Applications 中,点击 “Web App WARs”,确认 OpenCms 被部署到服务器,并处于运行状态。


图 4. 验证 OpenCms 被部署到服务器
图 4. 验证 OpenCms 被部署到服务器

请注意:当你完成了部署工作之后,请将 opencms.war 移出 deploy 目录,以避免服务器再次启动时重复部署。

配置 OpenCms

部署到服务器之后,应用并不能提供给你任何功能,你需要进行一系列的配置,才能使 OpenCms 正常工作。

OpenCms 的配置是通过 Web 完成的;你需要访问配置向导来开始配置。请在浏览器中输入 OpenCms 配置向导的地址:http://localhost:8080/opencms/setup/

首先,你将看到欢迎界面,在阅读并接受了使用协议之后,你可以点击“Continue”按钮进入下一步。


图 5. 配置向导欢迎页面
图 5. 配置向导欢迎页面

接下来,OpenCms 将检测你的系统信息。由于 OpenCms 并没有对所有 Servlet 容器进行测试,所以,有的时候,你可能会看到一个警告信息,提示你,你使用的 Servlet 容器没有被测试过,这取决于你使用的应用服务器的种类与版本。如果遇到了这个警告,你可以选择接受,然后点击“Continue”按钮进入下一步。


图 6. 系统信息验证页面
图 6. 系统信息验证页面

然后是数据库配置的界面,在我们的范例中,我们会选择 DB2 V9,并使用我们刚才创建数据库使用的数据库名,用户名和密码。你可以根据在前面的环境准备情况,选择使用其他数据库,如 MySQL。点击“Continue”按钮进入下一步。


图 7. 配置数据库
图 7. 配置数据库

这时候,OpenCms 会根据你的设置,运行数据库脚本,建立一系列的数据表,这个过程根据你的系统环境情况,可能要几十秒到几分钟。如果脚本运行顺利,你将看到数据表成功创建的信息。点击“Continue”按钮进入下一步。


图 8. 数据库配置成功的信息提示
图 8. 数据库配置成功的信息提示

下一个界面允许你选择安装哪些模块,你可以使用建议选项,也可以点击点击“Individual module selection”进行个性化选择。完成选择后点击“Continue”按钮进入下一步。


图 9. 选择要安装的模块
图 9. 选择要安装的模块

下一个界面将进行一些系统信息配置,第一个字段是你的网卡 MAC 地址(注意,网卡 MAC 地址和 IP 地址是完全不同的两个概念),你可以不填这个字段。其他字段,你可以使用缺省值;如果你要创建一个以上 OpenCms 站点,请注意每个站点的系统信息配置要各不相同。完成后点击“Continue”按钮进入下一步。


图 10. OpenCms 系统信息配置
图 10. OpenCms 系统信息配置

然后,OpenCms 会根据你以上各步所作设置,安装与配置各个模块,这个过程根据你的系统性能,可能要几十分钟甚至几小时。如果你遇到内存溢出的错误,请检查你是否按照本文开头的要求配置了 Java 环境变量,或者尝试进一步修改参数。如果脚本运行顺利,你将看到下图所示的模块安装成功的信息。点击“Continue”按钮进入下一步。


图 11. 安装与部署 OpenCms 模块
图 11. 安装与部署 OpenCms 模块

随后你就到了安装向导的最后步骤,阅读过这些信息之后,你就可以确认完成你的配置过程了。恭喜你,你已经完成了 OpenCms 的安装与部署!


图 12. 安装向导的结束页面
图 12. 安装向导的结束页面

验证 OpenCms 的部署和配置结果

配置完成了,你一定迫不及待的要检验一下你的劳动成果吧!那就打开你的浏览器吧!

你可以访问 OpenCms 的欢迎页面:

http://localhost:8080/opencms/opencms/index.jsp

你还可以访问安装到本地的演示站点:

http://localhost:8080/opencms/opencms/demo_en/intro.html

另外你还可以访问站点管理控制台,体验 OpenCms 强大而易用的内容发布与管理功能:

http://localhost:8080/opencms/opencms/system/login/

OpenCms 7.5.2 安装之后缺省的管理员账号为 Admin,密码为 admin。

下图是笔者安装成功后,访问 OpenCms 缺省页面看到的内容,随着版本的不断更新,你看到的,也许会有所不同。


图 13. 缺省的 OpenCms 欢迎页面,演示页面和管理页面
图 13. 缺省的 OpenCms 欢迎页面,演示页面和管理页面

OpenCms 的本地化特性

作为一款专业的开源内容管理系统,OpenCms 有着完备的本地化支持设计,做到了代码与资源信息的分离。在 OpenCms 中,所有的界面,包括菜单,按钮,提示信息等,全都是动态的根据语言选项从资源文件中获得的。我们首先可以看到,缺省安装的 OpenCms 已经有了英语,德语,西班牙语的语言选项,通过简单的选择语言选项,你就可以得到德语和西班牙语的界面。具体操作方式为,无论你处于管理视图(View-- Administration)还是浏览视图(View--Explorer),都可以点击“Preferences”按钮,在“Startup settings”中的“Language”进行语言选择。下图展示了切换到西班牙语后的管理视图界面,你可以发现,与刚才看到的界面相比,界面布局没有变化,但是所有文字内容都变成了西班牙语。


图 14. 将语言设为西班牙语之后,你就得到了 OpenCms“西班牙语版”
图 14. 将语言设为西班牙语之后,你就得到了 OpenCms“西班牙语版”

内置的英语,西班牙语和德语也许并不能满足你的要求,希望得到中文版,对吧?

首先,你可以按照 OpenCms 的手册,制作一个属于你自己的汉化模块,根据自己对界面的理解与定义,构建中文的字符串资源并打包。关于本地化模块,你可以参考:http://www.opencms.org/en/download/localizations.html

其次,你也可以通过网络,搜索一些开源软件爱好者已经做好的中文的本地化模块,根据其手册直接安装(通常使用 View (Administration)Module Management)。

下图向你展示了本文实例安装完成后,用模块管理安装了中文资源模块后的界面:


图 15. 安装中文模块后,你就得到了 OpenCms“中文版”
图 15. 安装中文模块后,你就得到了 OpenCms“中文版”

总结

本文通过清晰的描述,和必要的截图,指导你在 WebSphere Application Server Community Edition 上部署 OpenCms;通过使用一系列的社区软件搭建内容管理系统,向你展示了开源软件的强大力量。你可以通过这套系统,学习内容管理软件,提高自己的开发水平。本文列出了大量的相关参考资源,你可以通过访问这些资源来探索更加广阔的世界;本文仅仅是你取得更多知识的一个起点。


参考资料

学习

获得产品和技术

讨论

关于作者

Chen Yan photo

陈岩,IBM 中国软件开发中心的顾问软件工程师。加入 IBM 以来,长期从事内容协作,数据整合以及社会计算相关技术的工作,并在相关技术大会和多所高校举行过技术讲座。自从 2003 年以来,一直从事与 WebSphere Portal 相关的产品开发工作,目前是 WebSphere Portal 中内容接口组件和 Lotus Quickr for Portal 中团队内容服务组件和在线 Web 编辑组件的技术负责人。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


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


忘记密码?
更改您的密码

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

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

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

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

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


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

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere, Open source
ArticleID=618401
ArticleTitle=在 WebSphere Application Server Community Edition 上安装和部署 OpenCms
publish-date=01182011
author1-email=cheny@cn.ibm.com
author1-email-cc=

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。