【转】OpenCms7.5.0整合Apache和Tomcat(去掉两个opencms)

 

OpenCms7.5.0整合Apache和Tomcat(去掉两个opencms)

作者【袁海明】 时间【2009-11-19】 浏览【1,751】

一、整合前的准备工作

1、版本说明:

  Apache服务器 2.2.13 (2.x的稳定版本,1.3版的不可以)

  Tomcat 6.0.18 (支持CoyoteConnector版本的就可以)

  OpenCms 7.5 (OpenCms7.x版本都可以)

2、网站域名:www.opencms.org.cn

  在Hosts文件(C:\WINDOWS\system32\drivers\et\Hosts)中添加 127.0.0.1   www.opencms.org.cn,这样在本机就可以使用www.opencms.org.cn域名了;

3、本文用到的一些名词符号:

  ${TOMCAT_HOME} 代表 Tomcat 的安装路径,如:D:/tomcat-6.0.18,注意此路径中的 / 而不是 \

  ${DOMAIN_NAME}  代表域名,如 www.opencms.org.cn,不包括 http://

  ${APACHE_HOME}  代表Apache安装路径,如:D:/Apache

4、Apache和Tomcat 的安装

  建议安装zip版,方便移植,重做系统后也不会受到影响。

  说明一点,本文方法适用于Apache和Tomcat安装在同一台机器上。

二、OpenCms 安装、配置

1、删除${TOMCAT_HOME}/webapp/目录下的ROOT文件夹,重命名opencms.war为ROOT.war,启动Tomcat;

2、进入http://${DOMAIN_NAME}:8080/setup,进行OpenCms安装,安装结束后,打开http://${DOMAIN_NAME}:8080/opencms/system/login,可以登陆OpenCms,安装成功;

3、关闭Tomcat,打开${TOMCAT_HOME}/webapps/ROOT/WEB-INF/config/opencms-importexport.xml文件,删除所有出现${SERVLET_NAME}的地方,替换文件中的8080端口为8081;

4、打开${TOMCAT_HOME}/webapps/ROOT/WEB-INF/config/opencms-system.xml文件,编辑<sites>节点内容如下:

<sites>
  <workplace-server>http://${DOMAIN_NAME}<workplace-server>
  <default-uri>/sites/default/</default-uri>
  <site server=" http://${DOMAIN_NAME}" uri="/sites/default/"/>
</sites>

 注意:在如上配置完成后,OpenCms暂时不能够正常运行,直到Tomcat和Apache配置完成后。

 

三、Tomcat配置

1、首先备份${TOMCAT_HOME}/conf/server.xml文件;

2、修改${TOMCAT_HOME}/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="${DOMAIN_NAME}" proxyPort="80"
useBodyEncodingForURI="true" enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" />
<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>

替换${DOMAIN_NAME}为实际的域名。

  注意:8080端口的“standard” standalone connector已经删除,其它所有和OpenCms无关的Tomcat选项都已经删除,如果你有其它的web应用程序,那么就要再配置server.xml文件,与上述的配置信息合并到一起。

 

四、Apache配置

1、打开${APACHE_HOME}/conf/httpd.conf文件,启用如下模块,去掉前面的注释#

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so

如果是较高版本的Apache,不要忘记同时去掉如下内容的注释,启用虚拟主机配置文件:

Include conf/extra/httpd-vhosts.conf

2、增加虚拟主机配置,如下:

<VirtualHost *:80>
<Directory "${TOMCAT_HOME}/webapps/ROOT/">
Order allow,deny
Allow from all
</Directory>
ServerName ${DOMAIN_NAME}
ServerAdmin  [email protected]
DocumentRoot "${TOMCAT_HOME}/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://${DOMAIN_NAME}/
ProxyPass /resources/ !
ProxyPass /export/ !
ProxyPass /  http://localhost:8081/opencms/
ProxyPassReverse /  http://localhost:8081/opencms/
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/export/(.*) [NC]
RewriteCond "%{DOCUMENT_ROOT}%{REQUEST_FILENAME}" !-f
RewriteCond "%{DOCUMENT_ROOT}%{REQUEST_FILENAME}/index_export.html" !-f
RewriteRule .* http://127.0.0.1:8081/handle404?exporturi=%{REQUEST_URI}&%{QUERY_STRING} [P]
</VirtualHost>

  替换${TOMCAT_HOME}和${DOMAIN_NAME}分别为实际的Tomcat安装路径和域名。

  经过如上步骤后,就可以通过http://${DOMAIN_NAME}直接访问网站了,管理登陆地址为:http://${DOMAIN_NAME}/system/login

 

【版权声明】:凡署名“袁海明”的文章皆为本人原创,交流和联系平台是OpenCms中文网(www.opencms.org.cn),敬请注意。本声明亦为文章内容的一部分,不得擅自修改。如若转载本人作品,必须保留作者、链接及本声明!谢谢合作!

你可能感兴趣的:(apache,tomcat,xml,Web,配置管理)