用 Apache Geronimo 创建并部署 blog 和 wiki 模块

blog 和 wiki 正给互联网带来一场风暴。这些分享想法并和朋友们合作的新方式已经被各种各样的社会团体(从少数几个好朋友组成的小圈子到大公司)证明是值得密切关注的。 这些技术兴起的一个原因是,不论对于终端用户还是管理员来说,它们都很简单。管理员们发现 Apache Geronimo 是创建新 blog 和 wiki 应用程序的一个健壮且安全的平台。您也会发现可以使用 Geronimo 和其他开放源码组件创建 blog 和 wiki 应用程序。

blog 和 wiki 技术概述

从 20 世纪 90 年代末起(那时 Web 的繁荣正达到某个饱和点),一些用户开始编辑他们最喜欢的网站清单,这些网站符合一定的兴趣或主题。许多包含在用户清单上的条目都被加了评论,并标注了日期。这样的清单很快被称为 weblog 或 blog(博客),维护这样的 blog 的人被称为 blogger。后来,blog 开始变成文章的集合,通常以时间倒序的形式呈现,并与一个特定的主题相关。Wikipedia 对 blog 的定义如下:

早 期的 weblog 仅仅是普通网站的手动更新组件。然而用于简化网络文章(以所谓时序性风格发表)生成及维护的工具的发展使得发表的过程在规模上更为庞大、技术含量更低并更 加流行。最终导致了这种在线发布的类型,由此产生了今天的 blog。例如,使用一些基于浏览器的软件是当今 “blog” 的一种典型表现。可以通过专门的 blog 主机服务来托管 blog,blog 也能通过使用 blog 软件在一般的网络主机服务上运行。像其他媒体一样,blog 通常关注某一特定的主题,诸如食品、政治或本地新闻。一些 blog 以在线日记的形式存在。

在 blog 开始出现的同一段时间里,Ward Cunningham 发明了一项技术,这项技术允许任何人通过简单的编辑为 Web 页面做贡献。他将这项技术命名为 Wiki Wiki Web(来源于夏威夷语单词 wiki ,意为迅速),后来这个名字被缩略到只有 wiki 。使用 wiki 的一项显著优势是用户可以当场向 Web 页面贡献内容。另外,因为编辑起来很简单,因而贡献内容时不需要任何特殊的软件。可以在 Wikipedia Web 的百科全书上找到更多关于 wiki 技术的信息,该网站本身就是使用 wiki 技术实现的。(参见 参考资料 上的链接)。

协作性应用程序

这 就是 Web 2.0 的全部,尽管该术语出现才几乎一年的时间,但现在好像只有烹饪杂志还没有加入到讨论 Web 2.0 未来出路的行列中。自从出现了里程碑式的文章 “What Is Web 2.0: Design Patterns and Business Models for the Next Generation of Software”(此文由 Tim O'Reilly 在 2005 年 9 月所写,参见 参考资料 中的链接),对 Web 2.0 这一由该文创造的术语的赞同或反对之声一直没有间断。尽管如此,大多数人都认同了 Web 业已改变并进入了一个新的发展阶段,这是带其步入下一个逻辑高度的阶段。在 O'Reilly 的文章中,他阐释了任何 Web 2.0 公司必须具备的核心元素:

  • 提供低成本高收益的可扩展的服务,而非打包的软件
  • 控制惟一且难于重建的数据源,该数据源会随着使用人数的增多而变得更加丰富
  • 相信用户可以成为协助开发者
  • 利用集中的智慧
  • 通过客户自助服务来克服服务的缺点
  • 超出单一设备水平的软件
  • 轻量级的用户界面、开发模型 业务模型

在本质上,这些元素为真正的 Web 2.0 风格的应用程序定义了标准。按照这些对一个给定的应用程序进行测试,会让您对 Web 2.0 在 Web 的整个发展进程内处于何种位置有个很好的认识。

然而,Web 2.0 应用程序的一个最有趣的方面是,它要求开发者和参与者达到相当高的协作程度,这样才能实现好的结果。协作对于 Web 2.0 的发展来说 一个重要的组成部分,这个观点被许多现代企业认同。blog 和 wiki 都是 Web 2.0 技术,它们允许用户针对一个特定主题或想法进行协作。blog 允许很方便地对一个主题进行评论,并大大提高了决策制定的效率;wiki 则提供了一个便利的机制,允许用户基于自己的专长和观点对内容进行实际的改变。

本文指导您在 Apache Geronimo 应用服务器上部署自己的 blog 和 wiki 组件。

准备好部署 blog 和 wiki 组件

要在 Geronimo 上部署 blog 和 wiki 组件,首先需要安装 Geronimo 应用服务器。可以从 Geronimo 网站(参见 参考资料 上的链接)上获取 Geronimo 的安装包,并按照安装指南进行安装,安装指南也可以在 Geronimo 网站上获取。请注意 Geronimo 1.0(用于为本文做准备)并不是在 Java™ 1.5 上运行,而是在 Java 1.4(参见 参考资料 上的下载链接)上运行。

同样,本文中使用的一些组件需要安装 MySQL 数据库(参见 参考资料 中的链接来下载安装包)。编写本文用的是 MySQL 5.0.16。该产品的默认设置就可以满足我们的要求。

除了 Geronimo 应用服务器和 MySQL 数据库服务器,还需要实际的 blog 或 wiki 组件。在本文中,将使用 XWiki 实现 wiki 功能,同时使用 blojsom 作为 blog 模块。

安装并部署 wiki 组件(XWiki)

要在 Geronimo 应用服务器上安装 XWiki 组件,需要下载一个样例 XWiki 数据库并将文件 xwiki-db-xxx.zip 解压到一个临时位置。档案中包含的 SQL 文件中包含了脚本,这些脚本用于创建并填充所有需要的数据库表。然而,需要自己创建数据库。能够通过打开 MySQL 命令提示(mysql -uusername -ppassword)并输入下列命令来创建这个数据库:

create database xwiki;
use xwiki;

现在,需要给用户 xwiki 授予足够的权限从而使其能操作数据库,通过输入下列代码来实现:

grant all privileges on xwiki.* to xwiki@localhost identified by 'xwiki';

此时,已经创建了数据库,正确的权限被授予 xwiki 系统用户,所以能够从目录(将 SQL 文件解压到的位置)中通过输入下列命令来导入样例数据库:

mysql -u xwiki -pxwiki xwiki < xwiki.sql

创 建好数据库,就可以安装包含 XWiki 模块的 Web ARchive(WAR)文件了。需要在 Geronimo Administrative Console(缺省的位置是 http://localhost:8080/console)中完成这一任务,并用管理员证书(缺省是 system/manager)登录。在成功登录到 Geronimo Administrative Console 后,进入到 Applications 分类下的 Deploy New 菜单,并按照 Geronimo 标准部署步骤部署 xwiki.war。图 1 展示了部署页面的外观。

图 1. 部署屏幕

安装了应用程序后,它就会显示在 Web App WARs 清单中,如 图 2 所示。

图 2. Web App WARs 清单

注意:不 幸的是,同 XWiki 包一起提供的 Hibernate 库的版本和 Geronimo 应用服务器所包含的同一个库的版本相冲突,因而需要在配置中进行小小的更改。要改变 xwiki 的配置,需要进入 /config-store/ 下包含部署好的 xwiki.war 包的目录。能够通过打开存储于 /config-store/ 根目录下的 index.properties 文件,并在其中找到与 XWiki 模块相对应的条目来确定该目录。访问 index.properties 文件中引用的目录并打开 ../war/WEB-INF/hibernate.cfg.xml 来编辑它。定位到属性元素的末尾并将下列属性添加到清单中:

org.hibernate.hql.classic.ClassicQueryTranslatorFactory

这样就解决了库的问题。

现在,可以定位到刚部署好的 wiki 主页(http://127.0.0.1:8080/xwiki/bin/view/Main/WebHome)并好好享受了。图 3 显示了该页面的外观。

图 3. 刚部署好的 wiki

安装并部署 blog 组件(blojsom)

将 blojsom blog 模块安装并部署到 Geronimo 应用服务器中甚至比配置 XWiki 还要简单。如前所述,所需做的仅仅是打开 Geronimo Administrative Console 并进入 Deploy New 菜单。部署 blojsom.war 模块,方法同已经部署的 xwiki.war 类似。图 4 显示了控制台屏幕的外观。

图 4. 部署 blojsom WAR 模块

安装了这个模块后,将浏览器转到 http://localhost:8080/blojsom/blog/default/,就能够访问刚部署好的应用程序了。

能够按照 wiki 和 blog 模块各自主页上的管理说明进一步配置这两个模块。

部署 XWiki 的注意事项
在部署 XWiki 模块时发现的惟一问题是不同版本的 Hibernate 库间的冲突,这已经通过更新配置成功地解决了。

结束语

本文探讨了如何将 wiki 和 blog 模块部署到 Geronimo 应用服务器上。这说明在 Java 2 平台企业版本(J2EE)兼容的应用服务器上运行 blog 或 wiki 应用程序不会存在大的问题。

总的来讲,Apache Geronimo 应用服务器是满足开发需求的一个功能强大的选择,它为小型组织或企业运行协作型应用程序提供了一个坚实的平台。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374079/viewspace-130297/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/374079/viewspace-130297/

[转载]用 Apache Geronimo 创建并部署 blog 和 wiki 模块相关推荐

  1. [转载]权衡 Apache Geronimo EJB 事务选项,第 3 部分: 综合所有事务

    权衡 Apache Geronimo EJB 事务选项,第 3 部分: 综合所有事务 Jonathan Sagorin 在 由三部分组成的系列文章 的最后一部分中对 Enterprise Java™B ...

  2. [转载]使用 XMLBeans 在 Apache Geronimo 中部署 SOA 应用程序

    使用 XMLBeans 在 Apache Geronimo 中部署 SOA 应用程序 对 XMLBeans 好奇吗?这种高级易用的 XML-Java 绑定技术允许您像访问任何 Java™ 对象或 Ja ...

  3. 使用Apache Tomcat Maven插件部署运行 Web 项目

    2019独角兽企业重金招聘Python工程师标准>>> 什么是Apache Tomcat Maven Plugin? Maven Plugin 是Apache Tomcat 提供的一 ...

  4. Apache安装及jboss部署说明文档1

    编写者: 周怀进 创建时间: 2005-11-02 审核人: 审核时间: 文档状态: 草稿 ý 受控 自由共享 文档编号: 版本号: 2006-01-12 面向人员: JBOSS服务器使用者 序 文 ...

  5. Apache安装及jboss部署说明文档

    Apache安装及jboss部署说明文档 本文为转载 http://oss.org.cn/man/newsoft/jboss.htm#_Toc124845774, 文章内容的准确性有待进一步实验 1 ...

  6. 持续集成与持续部署宝典Part 4:创建持续部署流水线

    2019独角兽企业重金招聘Python工程师标准>>> 随着Docker项目及其相关生态系统逐渐成熟,容器已经开始被更多企业用在了更大规模的项目中.因此,我们需要一套连贯的工作流程和 ...

  7. Apache Geronimo Remote Code Execute Vulnerability

    简介: Apache Geronimo 是 Apache 软件基金会的开放源码J2EE服务器,它集成了众多先进技术和设计理念. 这些技术和理念大多源自独立的项目,配置和部署模型也各不相同. Geron ...

  8. JAD项目创建与部署测试

    项目创建与部署测试 版 本:1.0.1                                         拟制人: hechuan 1       前言 JAD旨在为程序员提供一个高效的 ...

  9. 使用 Application Developer V7 来创建和部署 JSR 168 协作 portlet

    使用 Application Developer V7 来创建和部署 JSR 168 协作 portlet 发表于07-09-20 16:01 | 阅读 180 | 评分 (暂无) 协作 portle ...

  10. 最新EOS合约教程,从系统到环境,从创建到部署,从前端到后台,Dapp开发

    最新EOS合约教程,从系统到环境,从创建到部署,从前端到后台,Dapp开发 前言 环境 重点声明: 1,安装虚拟机也好, 双系统也好, 把Linux装了 2, 安装EOSIO开发环境, 使用js4eo ...

最新文章

  1. oracle 中update多个字段
  2. springcloud 并发_SpringCloud-Zuul高并发请求下的限流处理
  3. python udp编程_在Python下进行UDP网络编程的教程
  4. 最佳字符串对齐的Java实现
  5. 【LeetCode笔记】剑指 Offer 31. 栈的压入、弹出序列 (Java、栈)
  6. 寄宿于CS程序的WCF服务
  7. mysql-5.5.38_MySQL-5.5.38通用二进制安装
  8. 大数据分析如何保证数据质量
  9. Cisco实例1—构建高可用性DM×××网络2—方案设计
  10. 凯辉基金与法投行完成对资管软件公司NeoXam的投资 加速企业国际化发展布局
  11. Deep Mind用AlphaZero开发国际象棋新规则-3!
  12. jQuery制作手风琴图片切换效果
  13. CS1526号错误是什么
  14. halcon 将数据保存到excel_halcon保存数据到excel表格-怎样把图像里面的数据提取到excel表格里面去?...
  15. 那个牛逼的斯坦福大学
  16. CREO:CREO软件之零件【渲染】之对三维零件实现渲染图文教程之详细攻略
  17. 从勾股定理看机器学习
  18. 爽!一个注解,搞定 SpringBoot 操作日志
  19. 常用限流方案的设计和实现
  20. Honest Coach

热门文章

  1. 巨头们的盈利之道:药店的这个营销方法,其他行业也适用!
  2. 光波传输的角谱理论【理论,实例及matlab代码】
  3. 浙江大学求是科学班计算机,浙江大学“汉语言文学(求是科学班)”2020年招生简章...
  4. 人工智能 4.不确定性推理方法
  5. xboxone硬盘坏的表现_详解硬盘常见的故障及解决方法
  6. 我是一名自由职业白帽黑客
  7. 关于Java的点点滴滴(1)——Static关键字
  8. 【锋迷商城】01数据库设计
  9. 新手入门吉他买什么好?十年吉他老司机教你如何远离烧火棍,附上靠谱吉他品牌推荐!
  10. 如何用EasyRecovery恢复U盘内损坏的数据