计算机软件已经有了几十年的历史,随着社会的进步,这些年来开源软件得到了蓬勃的发展,从操作系统到数据库,从开发工具到商用软件,开源软件涉及了计算机应用的各个方面。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 只需要的很小内存和硬盘空间、有着良好的易用性和可用性,并且可以免费使用,因此深得广大社区开发人员的喜爱。
自从计算机诞生以来,数据与内容就是企业最重要的 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。参考网址:
- (WebSphere Application Server Community Edition)
你可以前往 IBM 中国 developerWorks 的 WebSphere Application Server Community Edition 专区获取最新的安装文件。笔者在撰写这篇文章的时候, 可供下载的最新版本为 2.1.1.4。参考网址:
- DB2 Express-C
你可以前往 IBM 中国 developerWorks DB2 Express-C 免费数据库专题获取最新的安装文件。笔者在撰写这篇文章的时候,可供下载的最新版本为 9.7.2。参考网址:
准备好了所有的文件之后,我们需要安装 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
完成了基本安装之后,我们需要在 DB2 Express-C 上创建数据库作为 OpenCms 的数据存储,这个数据库在接下来的 OpenCms 的安装部署中会用到。
你可以运行 IBM DB2 -> 一般管理工具 -> 控制中心,启动控制中心后,用鼠标右键点击“所有数据库”,选择创建标准数据库,就可以启动数据库创建向导。在向导中,指定数据库名称和数据库别名为 opencms,并将缓冲池和表空间的页大小设置为 8K,其他的选项可以使用缺省值,或者你偏好的选择。
图 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_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
为了能够正确的安装,配置与运行 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.war 整个目录复制到 WAS CE 的部署目录,形如 WASCE21\deploy。
然后,我们启动应用服务器,OpenCms 将被热部署到服务器。这时候,你可能会看到一些与 OpenCms 有关的警告信息,请忽略这些警告。
你可以登录到控制台,来验证 opencms.war 是否被正确部署。你可以点击菜单“Application Server Community Edition Administrative console”,或者直接在浏览器中输入:https://localhost:8443/console,就可以得到管理控制台的登录界面。
图 3. WAS CE 的管理控制台登录界面
输入账号密码,如本范例中使用的 system / manager,登录到管理控制台。
在 Applications 中,点击 “Web App WARs”,确认 OpenCms 被部署到服务器,并处于运行状态。
图 4. 验证 OpenCms 被部署到服务器
请注意:当你完成了部署工作之后,请将 opencms.war 移出 deploy 目录,以避免服务器再次启动时重复部署。
部署到服务器之后,应用并不能提供给你任何功能,你需要进行一系列的配置,才能使 OpenCms 正常工作。
OpenCms 的配置是通过 Web 完成的;你需要访问配置向导来开始配置。请在浏览器中输入 OpenCms 配置向导的地址:http://localhost:8080/opencms/setup/
首先,你将看到欢迎界面,在阅读并接受了使用协议之后,你可以点击“Continue”按钮进入下一步。
图 5. 配置向导欢迎页面
接下来,OpenCms 将检测你的系统信息。由于 OpenCms 并没有对所有 Servlet 容器进行测试,所以,有的时候,你可能会看到一个警告信息,提示你,你使用的 Servlet 容器没有被测试过,这取决于你使用的应用服务器的种类与版本。如果遇到了这个警告,你可以选择接受,然后点击“Continue”按钮进入下一步。
图 6. 系统信息验证页面
然后是数据库配置的界面,在我们的范例中,我们会选择 DB2 V9,并使用我们刚才创建数据库使用的数据库名,用户名和密码。你可以根据在前面的环境准备情况,选择使用其他数据库,如 MySQL。点击“Continue”按钮进入下一步。
图 7. 配置数据库
这时候,OpenCms 会根据你的设置,运行数据库脚本,建立一系列的数据表,这个过程根据你的系统环境情况,可能要几十秒到几分钟。如果脚本运行顺利,你将看到数据表成功创建的信息。点击“Continue”按钮进入下一步。
图 8. 数据库配置成功的信息提示
下一个界面允许你选择安装哪些模块,你可以使用建议选项,也可以点击点击“Individual module selection”进行个性化选择。完成选择后点击“Continue”按钮进入下一步。
图 9. 选择要安装的模块
下一个界面将进行一些系统信息配置,第一个字段是你的网卡 MAC 地址(注意,网卡 MAC 地址和 IP 地址是完全不同的两个概念),你可以不填这个字段。其他字段,你可以使用缺省值;如果你要创建一个以上 OpenCms 站点,请注意每个站点的系统信息配置要各不相同。完成后点击“Continue”按钮进入下一步。
图 10. OpenCms 系统信息配置
然后,OpenCms 会根据你以上各步所作设置,安装与配置各个模块,这个过程根据你的系统性能,可能要几十分钟甚至几小时。如果你遇到内存溢出的错误,请检查你是否按照本文开头的要求配置了 Java 环境变量,或者尝试进一步修改参数。如果脚本运行顺利,你将看到下图所示的模块安装成功的信息。点击“Continue”按钮进入下一步。
图 11. 安装与部署 OpenCms 模块
随后你就到了安装向导的最后步骤,阅读过这些信息之后,你就可以确认完成你的配置过程了。恭喜你,你已经完成了 OpenCms 的安装与部署!
图 12. 安装向导的结束页面
配置完成了,你一定迫不及待的要检验一下你的劳动成果吧!那就打开你的浏览器吧!
你可以访问 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 欢迎页面,演示页面和管理页面
作为一款专业的开源内容管理系统,OpenCms 有着完备的本地化支持设计,做到了代码与资源信息的分离。在 OpenCms 中,所有的界面,包括菜单,按钮,提示信息等,全都是动态的根据语言选项从资源文件中获得的。我们首先可以看到,缺省安装的 OpenCms 已经有了英语,德语,西班牙语的语言选项,通过简单的选择语言选项,你就可以得到德语和西班牙语的界面。具体操作方式为,无论你处于管理视图(View-- Administration)还是浏览视图(View--Explorer),都可以点击“Preferences”按钮,在“Startup settings”中的“Language”进行语言选择。下图展示了切换到西班牙语后的管理视图界面,你可以发现,与刚才看到的界面相比,界面布局没有变化,但是所有文字内容都变成了西班牙语。
图 14. 将语言设为西班牙语之后,你就得到了 OpenCms“西班牙语版”
内置的英语,西班牙语和德语也许并不能满足你的要求,希望得到中文版,对吧?
首先,你可以按照 OpenCms 的手册,制作一个属于你自己的汉化模块,根据自己对界面的理解与定义,构建中文的字符串资源并打包。关于本地化模块,你可以参考:http://www.opencms.org/en/download/localizations.html
其次,你也可以通过网络,搜索一些开源软件爱好者已经做好的中文的本地化模块,根据其手册直接安装(通常使用 View (Administration)Module Management)。
下图向你展示了本文实例安装完成后,用模块管理安装了中文资源模块后的界面:
图 15. 安装中文模块后,你就得到了 OpenCms“中文版”
本文通过清晰的描述,和必要的截图,指导你在 WebSphere Application Server Community Edition 上部署 OpenCms;通过使用一系列的社区软件搭建内容管理系统,向你展示了开源软件的强大力量。你可以通过这套系统,学习内容管理软件,提高自己的开发水平。本文列出了大量的相关参考资源,你可以通过访问这些资源来探索更加广阔的世界;本文仅仅是你取得更多知识的一个起点。
学习
-
WebSphere Application Server Community Edition 信息中心
-
访问 IBM developerWorks 上的 Open Source 专区:/
-
访问 IBM developerWorks 上的 WebSphere Application Server Community Edition 产品专题
-
访问 IBM developerWorks 上的 DB2 Express-C 产品专题
-
访问 OpenCms 官方网站
-
查看 OpenCms 构建的优秀站点
-
加入到 OpenCms 的邮件组
-
观看 OpenCms 演示
-
下载 OpenCms 最新版本
-
IBM developerWorks 中国 WebSphere 专区:为使用 WebSphere 产品的开发人员准备的技术信息和资料。这里提供产品下载、how-to 信息、支持资源以及免费技术库,包含 2000 多份技术文章、教程、最佳实践、IBM Redbook 和在线产品手册。
获得产品和技术
- 最受欢迎的 WebSphere 试用软件下载:下载关键 WebSphere 产品的免费试用版。
- IBM developerWorks 软件下载资源中心:IBM deveperWorks 最新的软件下载。
- IBM developerWorks 工具包:下载关键 WebSphere 最新的产品工具包。
讨论
-
参与 WAS CE 论坛
-
My developerWorks BPM 群组:为开发人员设立的 BPM 群组,了解业务流程管理解决方案的最新技术资源。
-
My developerWorks 中文社区
