设为首页 收藏本站
查看: 827|回复: 0

[经验分享] 按照官方教程整合Apache+Tomcat+OpenCms

[复制链接]

尚未签到

发表于 2017-1-5 07:49:05 | 显示全部楼层 |阅读模式
按照下面的文档做了配置,在自己机器上很简单就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.warROOT.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系统了.就象下面的截图一样:
  
DSC0000.jpg
  
DSC0001.jpg
  
DSC0002.jpg
  怎么样?要不您也来试试吧?
  

我的相关日志:

2008-04-03 | 按照官方教程整合Apache+Tomcat+OpenCms
2007-10-16 | Apache Tomcat Connection and Failover-Cluster
2007-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的时候如何去掉路径中的opencms
2007-12-14 | <cms:editable>标签的使用
2007-12-13 | <cms:contentshow>标签的使用
2007-12-12 | <cms:contentloop> 标签的使用
2007-12-11 | <cms:contentinfo>标签的使用
2007-12-10 | <cms:contentcheck>标签的使用

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-323953-1-1.html 上篇帖子: Apache Commons 一些工具包介绍【转载】 下篇帖子: Apache日志分割的3种方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表