按照下面的文档做了配置,在自己机器上很简单就OK了.先写出来,还有 配置方法.
实现环境:
XP+Apache2.2.8+Tomcat5.5+OpenCms7.0.4+Mysql4.1
[
王毅原创,转载注明]
使用 Apache 的 mod_proxy 模块来去除站点url中的两个"/opencms/opencms"
以下内容介绍如何集成 Apache httpd, Apache Tomcat 和 OpenCms 7 来实现如下效果:
- 所有静态资源 (e.g. images or binaries) 直接由 Apache 服务器处理响应
- OpenCms
中的动态内容通过
Tomcat 处理响应
- 可以去掉OpenCms站点 url 中通常出现的 /opencms/opencms/
前缀
以下配置在下面环境中测试通过:
- Apache httpd 2.0.54 (基本上大部分稳定版本的Apache httpd 2.0 以及2.2[譬如最新的2.2.8]都可以正常工作, 1.3
及其更低的版本就不行了)
- Apache Tomcat 5.5.7 (其他支持 CoyoteConnector
连接器的都应该可以正常运行)
- OpenCms 7(最新7.0.4完全没有问题)
请注意: 安装之前确定所用的域名可以在机器上正确解析.否则可能配置不成功.
本文档假设安装环境如下:
- OpenCms 服务器域名为
www.wangyi.com
- Tomcat的安装目录为
D:\Tomcat5.5
- Tomcat 和 Apache 安装在一个硬件机器上
请注意: 请在自己测试的时候将域名和安装目录做正确替换.
请注意: 本文不涉及OpenCms的静态导出设置,需要请参考另外的文档.
步骤 1: 安装OpenCms
在 D:\Tomcat5.5\webapps\ 目录下以 ROOT
安装OpenCms. .
重要: 确保Tomcat下没有名为 opencms/ 的项目.
- 删除或者重命名 Tomcat 默认 web 应用 ROOT/.
- 修改 opencms.war
为 ROOT.war
- 重启 Tomcat
,然后开始基本安装.
譬如在这里可以在浏览器输入 http://www.wangyi.com:8080/setup
来进行安装.
这一步完成以后,可以正确安装并能登录OpenCms系统. 但是你会发现一些图片或者CSS等静态资源可能丢失.不要紧, 可以在下一步中解决这个问题.
步骤 2: 配置 OpenCms
在
D:\Tomcat5.5\webapps\ROOT\WEB-INF\config\opencms-importexport.xml
配制文件中,找到 staticexport/rendersettings/..prefix
节点,并除去其中的 ${SERVLET_NAME}
变量. 经过编辑,内容应该如下:
<rendersettings>
<rfs-prefix>${CONTEXT_NAME}/export</rfs-prefix>
<vfs-prefix>${CONTEXT_NAME}</vfs-prefix>
<userelativelinks>false</userelativelinks>
<exporturl>http://127.0.0.1:8080${CONTEXT_NAME}/handle404</exporturl>
...
</rendersettings>
在
D:\Tomcat5.5\webapps\ROOT\WEB-INF\config\opencms-system.xml 配制文件中, 找到 system/sites
节点并配置站点如下:
<sites>
<workplace-server>http://www.wangyi.com<workplace-server>
<default-uri>/sites/default/</default-uri>
<site server="http://www.wangyi.com" uri="/sites/default/"/>
</sites>
在 OpenCms 配置中要做的就只有这两部分了,其他的需要交给Apache和Tomcat了.
注意: 尽管作出了上述修改, 但是经过配置 Tomcat 和 Apache 以后,整个站点才能正确运行.
指定 Aliases
当然,如果又多个域名指向一个站点,可以添加 alias
节点. 注意的是,每个域名只能是唯一的指向一个站点. 譬如,如果我要让域名 www.lixiaoyan.com 以及
www.myopencms.cn
也指向这个站点,那么只要这几个域名都可以正确解析,就都可以访问同一个站点:
<site server="http://www.wangyi.com" uri="/sites/mysite/">
<alias server="http://www.lixiaoyan.com"/>
<alias server="http://www.myopencms.cn"/>
</site>
步骤 3: 配置 Tomcat
打开
D:\Tomcat5.5\conf\ 目录下的文件 server.xml .
建议修改之前做备份.
修改之后,内容应该如下:
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<Service name="Tomcat-Standalone">
<!-- Define a connector for the "public visible" server name -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8081" minProcessors="5" maxProcessors="75"
proxyName="www.wangyi.com" proxyPort="80"
useBodyEncodingForURI="true" enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" URIEncoding="utf-8" />
<Engine name="Standalone" defaultHost="localhost" debug="0">
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
<!-- You can change "unpackWARs" and "autoDeploy" to false after the installation is finished -->
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
</Host>
</Engine>
</Service>
</Server>
你可以修改你的 server.xml
时候,把这段代码复制过去,把
www.wangyi.com 修改为你的站点名称.
以上就是 Tomcat 做的全部配置.
这里需要注意的地方有三处:
1.建议设置 useBodyEncodingForURI
为utf-8. 否则, 页面传参使用默认 ISO-8859-1 编码,可能会导致某些时候乱码.
2.Service的name 属性的值变成了"Tomcat-Standalone"
3.8080端口的 Connector 增加了 className="org.apache.coyote.tomcat4.CoyoteConnector"属性.
注意: You must first finish the
Apache configuration described in the next step to check if Tomcat and OpenCms
work correctly.
步骤 4:
配置 Apache
在我的Apache配置目录
D:\Apache2\conf\
下找到
httpd.conf
(当然也可能是其他配置文件,关键是配置你这个OpenCms站点的文件).
同样,修改之前建议备份.
首先,确认以下三个模块被加载.
LoadModule alias_module modules/mod_alias.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
然后配置 <VirtualHost>
. 在这个例子中增加如下 <VirtualHost>
节点:
<VirtualHost *:80>
<Directory "D:\Tomcat5.5\webapps\ROOT\">
Order allow,deny
Allow from all
</Directory>
ServerName www.wangyi.com
ServerAdmin webmaster@alkacon.com
DocumentRoot "D:\Tomcat5.5\webapps\ROOT\"
ErrorLog logs\error.log
# Log only non-redirect requests in "normal" log file
SetEnvIf Request_URI "\/opencms\/*" redirect
CustomLog logs/localhost-access.log common env=!redirect
ProxyPass /opencms/ !
RedirectPermanent /opencms/ http://www.wangyi.com/
ProxyPass /resources/ !
ProxyPass /export/ !
ProxyPass / http://localhost:8081/opencms/
ProxyPassReverse / http://localhost:8081/opencms/
</VirtualHost>
同样,你用的时候也要正确修改域名和 DocumentRoot !
启动 Tomcat 和 Apache 就可以登录OpenCms系统了.就象下面的截图一样:
怎么样?要不您也来试试吧?
我的相关日志:
2008-04-03 |
按照官方教程整合Apache+Tomcat+OpenCms2007-10-16 |
Apache Tomcat Connection and Failover-Cluster2007-03-23 |
[转]OpenCms for MySql 安装图解2007-03-23 |
[转][图文]OpenCms VFS plugin for Eclipse 安装与使用2008-03-21 |
OpenCms的官方在线演示站点2008-03-21 |
<cms:contentload>标签的使用2008-03-18 |
来自 Alkacon Software GmbH 的邮件2008-02-05 |
在OpenSuse下安装OpenCms的时候如何去掉路径中的opencms2007-12-14 |
<cms:editable>标签的使用2007-12-13 |
<cms:contentshow>标签的使用2007-12-12 |
<cms:contentloop> 标签的使用2007-12-11 |
<cms:contentinfo>标签的使用2007-12-10 |
<cms:contentcheck>标签的使用
分享到:
相关推荐
- 根据OpenCMS的官方文档,进行数据库连接、配置文件修改等相关步骤,以完成系统安装。 总结:本环境集成了Java开发环境和Apache Tomcat服务器,适合进行Java Web应用的开发和测试。通过配置JDK和Tomcat,我们可以...
opencms用户指南+源码 opencms用户指南+源码 opencms用户指南+源码
OpenCMS 是一个开源的内容管理系统(CMS),主要由Java语言开发,专为构建企业级网站提供了一个强大而灵活的平台。其Java API 提供了丰富的功能,使得开发者可以通过编程方式与OpenCMS系统进行交互,实现内容的创建...
2. **安装与配置**:详细讲解如何在本地或服务器上安装OpenCMS,包括系统需求、环境配置(如JDK、Tomcat)、数据库连接设置(如MySQL)以及安装过程中的常见问题解决。 3. **工作台界面**:介绍OpenCMS的工作台界面...
在OpenCms中,这通常通过配置Apache Tomcat服务器或者使用内建的URL重写机制实现。Apache Tomcat是一个流行的Java应用服务器,用于运行基于Java Servlet和JavaServer Pages(JSP)的应用。 要实现"除去两个opencms...
2. **安装和配置**:介绍如何在本地或服务器环境中安装OpenCms 7,并配置相关的依赖,如Java环境、Tomcat服务器和数据库连接。 3. **模板系统**:详细阐述OpenCms的模板语言(XML-based VTL,Velocity Template ...
### OpenCMS内容管理系统入门教程知识点总结 #### 一、OpenCMS概述 - **定义与特点**: - OpenCMS是一个专业级别的开源网站内容管理系统,基于Java语言开发。 - 它可以帮助用户轻松建立和管理复杂的网站,即使不...
OpenCms提供了强大的功能集,包括内容管理、工作流、版本控制等,非常适合企业和组织用来构建和维护其官方网站或内部平台。 对于初次接触OpenCms的用户来说,可能会遇到一些困惑,比如如何开始使用、如何创建自己的...
本教程将详细讲解如何安装并配置OpenCms,包括与之配套的Tomcat应用服务器和MySQL数据库。 首先,我们需要了解Tomcat。Tomcat是Apache软件基金会的Java Servlet和JavaServer Pages(JSP)容器,它是开源且免费的。...
opencms中文教程 手册 指南 汉化
OpenCms可以非常好的运行在一个完全的开源环境中(例如:Linux、Apache、Tomcat、MySQL). 当然,也可以很好的运行于商业环境下(例如:Windows NT、IIS、BEA Weblogic、Oracle DB)。 功能特色: OpenCms是真正...
OpenCms可以非常好的运行在一个完全的开源环境中(例如:Linux、Apache、Tomcat、MySQL). 当然,也可以很好的运行于商业环境下(例如:Windows NT、IIS、BEA Weblogic、Oracle DB)。 功能特色: OpenCms是真正...
它依赖于Apache Tomcat作为应用服务器,使用MySQL或Oracle等数据库存储内容。 2. **安装与配置**:手册会指导用户如何下载OpenCms源码或二进制包,配置运行环境,包括JDK、应用服务器、数据库连接等,然后进行安装...
这份PDF文档很可能是OPENCMS的官方教程的一部分,它可能包含了更详细的信息,如安装过程中的注意事项、常见问题解决方案,以及OPENCMS的基本操作和管理。仔细阅读这份文档能帮助你更好地理解和使用OPENCMS。 在安装...
- **war文件放置**:将 `opencms.war` 文件放置在Tomcat的webapps目录下,启动Tomcat后,会在webapps目录下自动生成一个名为 `opencms` 的目录,其中包含 `META-INF`、`setup` 和 `WEB-INF` 三个子目录。 - **汉化...
opencms中文教程 手册 指南 汉化 part2
《OpenCms开发指南》:深入理解与定制OpenCms OpenCms是一款开源的内容管理系统,旨在为企业级网站提供高效、灵活的管理解决方案。由Alkacon Software开发,OpenCms支持多语言、多站点管理和内容版本控制等功能,是...
### OpenCMS:构建网站的新选择 #### 一、OpenCMS简介与特性 OpenCMS是一款功能强大的开源内容管理系统(Content Management System, CMS),它主要用于构建、管理和维护企业级网站。该系统支持多语言、多用户和多...