一、整合前的准备工作
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文件内容为如下:
<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、增加虚拟主机配置,如下:
<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