最近,邮件的帮助系统准备放在自己的服务器上
为了便于产品人员更新发布页面
所以需要一个简单的CMS系统,然后上网搜了一堆
最后还是瞄准了OpenCMS,开始以为安装和配置应该很简单的
但真正操作后,才发现,这个玩意还真挺复杂的......
记录一下安装配置的过程:

1.OpenCMS是和Tomcat绑定的,开始想把它弄到Resin上,结果发现部署后有问题(也许是还没找到配置的方法吧)
  无奈,就改到Tomcat上了
2.安装过程还是比较简单的,但就是太慢了。安装后,它默认的url会是/opencms/opencms/system/login,如果想把它们给去掉,
  安装时,最好把opencms.war修改成ROOT.war,这样就会去掉第一个/opencms了
3.去掉第2个OpenCMS,参考文档:
  http://localhost/alkacon-documentation/howto_apache_httpd/mod_proxy.html
   修改Apache2的虚机配置:
  ProxyPass         /opencms/                 !    
   RedirectPermanent /opencms/                 http://${DOMAIN_NAME}/        
   ProxyPass         /resources/               !    
   ProxyPass         /export/                  !        
   ProxyPass         /                         http://localhost:8081/opencms/    
   ProxyPassReverse  /                      http://localhost:8081/opencms/
   修改Tomcat的配置:
  <Connector port="8081" protocol="HTTP/1.1"  connectionTimeout="20000"
               redirectPort="8443" useBodyEncodingForURI="true" proxyName="192.168.41.236" proxy Port="80" />
   修改opencms-system.xml
  <workplace-server>http://192.168.41.236</workplace-server>
   <default-uri>/sites/default/</default-uri>
   <site server="http://192.168.41.236" uri="/sites/default/"/>
4.配置多个站点,这个相对来说比较简单,在apache2中增加相应的虚机,同时修改Tomcat的service.xml和opencms-system.xml
5.发布站点时自动export静态文件,需要修改opencms-importexport.xml中的staticexporthandler为CmsAfterPublishStaticExportHandler,这样可以自动导出,使用它默认的handler,似乎是有问题
6.关于和前端的反向代理的配合问题,由于前端都是用mail.test.sohu.com/help来反向代理到OpenCMS的服务器上,这样就有2个问题:
  1)export的路径问题,OpenCMS默认是/export/的,但是我们的站点必须得是/help开头的,需要修改opencms-importexport.xml
        增加如下的规则:
          <rfs-rule>
                    <name>mailhelp</name>
                    <description>This is the rfs-rule for mysite</description>
                    <source>/sites/mailhelp/.*</source>
                    <rfs-prefix>/help/export</rfs-prefix>
                    <exportpath>export</exportpath>
                    <related-system-res>
                        <regex>/system/modules/com.sohu.mail.help/.*</regex>
                        <regex>/system/galleries/pics/mail_pic/.*</regex>
                    </related-system-res>
                </rfs-rule>
    2)页面之间的链接问题:这个问题最是郁闷了,直接用相对路径应该就可以了,比如href="test.html",但发现OpenCMS的html编辑器会自动把它转变成href="/test.html",这样,过前端的反向代理就有问题了,无奈,只能在链接时,手工加上href="/help/test.html",但这样就又碰到了一个问题,预览时会出404。上网Google了几把,没找到解决方案,只能用apache2的Rewrite了,增加一个规则,这样预览就正确了,总觉得这么解决很别扭.....
     RewriteEngine on
        RewriteRule /help/(.*) http://192.168.41.236/$1