[opencms-dev] Funktionierende Lösung für "Integrating OpenCms, Tomcat and the Apache webserver with mod_proxy" und "Multiple Sites"

Bernd Wolfsegger bw at code-create.com
Wed Mar 9 12:36:26 CET 2005


Hallo,

ich hatte ja schon in meiner letzten Mail geschrieben, dass es Probleme mit den Formulardaten bei dem in der Lösung benutzten Redirect gibt.
Es gibt aber auch noch zahlreiche andere Probleme mit dieser Lösung.
So werden z.B. Ressourcen (images etc. ) nicht mehr ins Filesystem geschrieben, so dass sie natürlich nicht mehr gefunden werden bei einem Zugriff auf die Site von außerhalb des Systems.
Weil ja ProxyPass /export ! etc. eingestellt ist ...
(Well und diese Zugriffe können ja ruhig über den Proxy gehen, weil ja soweit ich das verstanden habe, diese Resourcen automatich vom OpenCms System ebend dann ins Filesystem kopiert werden und von dort aus geserved und nicht mehr aus der Datenbank...)

Eine funktionierende Lösung ist die Folgende (mit Tomcat 5.0.19-13, Apache 2.0.49-27.18.3, MySql 4.0.18-32.9) auf SuSE Linux 9.1:
Das OpenCms System wird völlig normal installiert.
Die /opencms/opencms bleiben also erhalten, allerdings könnte da etwas von der OpenCms Seite eingestellt werden, dass die generierten Urls dies nicht mehr enthalten, weil es funktioniert auch ohne in der folgenden Konfiguration:

www.mysite.com ist eine Site.
opencms.mysite.com ist der OpenCms Worspace.

server.xml:
        <!-- Define one connector for opencms.mysite.com -->
        <Connector port="8081" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
            proxyName="opencms.mysite.com" proxyPort="80"
            enableLookups="true" redirectPort="8443"
            acceptCount="100" debug="0" connectionTimeout="20000"
            disableUploadTimeout="true" />
 
        <!-- Define one connector for www.mysite.com -->
        <Connector port="8082" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
            proxyName="www.mysite.com" proxyPort="80"
            enableLookups="true" redirectPort="8443"
            acceptCount="100" debug="0" connectionTimeout="20000"
            disableUploadTimeout="true" />



Virtualhost directiven in der Apache Konfiguration:
<VirtualHost 192.168.0.100:80>
    ServerName opencms.mysite.com
    ServerAdmin bw at mysite.com
    DocumentRoot "/srv/www/tomcat/developer/webapps/"
    ErrorLog /var/log/apache2/opencms/error_log
  # Log only non-redirect requests in "normal" log file
  SetEnvIf Request_URI "\/opencms\/*" redirect
	CustomLog /var/log/apache2/opencms/access_log common env=!redirect
	CustomLog /var/log/apache2/opencms/referer_log referer env=!redirect
	CustomLog /var/log/apache2/opencms/agent_log agent env=!redirect
    

	<Directory "/srv/www/tomcat/developer/webapps/">

    	AllowOverride All
	Order allow,deny
    	Allow from all

	</Directory>

    ProxyPass         /opencms/export/        http://localhost:8081/opencms/export/
    ProxyPassReverse  /opencms/export/        http://localhost:8081/opencms/export/
    ProxyPass         /opencms/resources/     http://localhost:8081/opencms/resources/
    ProxyPassReverse  /opencms/resources/     http://localhost:8081/opencms/resources/
    ProxyPass         /opencms/opencms/       http://localhost:8081/opencms/opencms/
    ProxyPassReverse  /opencms/opencms/       http://localhost:8081/opencms/opencms/
    ProxyPass         /opencms/           		http://localhost:8081/opencms/opencms/
    ProxyPassReverse  /opencms/            		http://localhost:8081/opencms/opencms/
    ProxyPass         /           				    http://localhost:8081/opencms/opencms/
    ProxyPassReverse  /            				    http://localhost:8081/opencms/opencms/

    
</VirtualHost>

<VirtualHost 192.168.0.100:80>
    ServerName www.mysite.com
    ServerAdmin bw at mysite.com
    DocumentRoot "/srv/www/tomcat/developer/webapps/"
    ErrorLog /var/log/apache2/opencms/www_error_log
  # Log only non-redirect requests in "normal" log file
  SetEnvIf Request_URI "\/opencms\/*" redirect
	CustomLog /var/log/apache2/opencms/www_access_log common env=!redirect
	CustomLog /var/log/apache2/opencms/www_referer_log referer env=!redirect
	CustomLog /var/log/apache2/opencms/www_agent_log agent env=!redirect
    

	<Directory "/srv/www/tomcat/developer/webapps/">

    	AllowOverride All
	Order allow,deny
    	Allow from all

	</Directory>

    ProxyPass         /opencms/export/       http://localhost:8082/opencms/export/
    ProxyPassReverse  /opencms/export/       http://localhost:8082/opencms/export/
    ProxyPass         /opencms/resources/       http://localhost:8082/opencms/resources/
    ProxyPassReverse  /opencms/resources/       http://localhost:8082/opencms/resources/
    ProxyPass         /opencms/opencms/       http://localhost:8082/opencms/opencms/
    ProxyPassReverse  /opencms/opencms/       http://localhost:8082/opencms/opencms/
    ProxyPass         /opencms/           		http://localhost:8082/opencms/opencms/
    ProxyPassReverse  /opencms/            		http://localhost:8082/opencms/opencms/
    ProxyPass         /           				    http://localhost:8082/opencms/opencms/
    ProxyPassReverse  /            				    http://localhost:8082/opencms/opencms/

</VirtualHost>



opencms-system.xml:
        <sites>
            <workplace-server>http://opencms.mysite.com</workplace-server>
            <default-uri>/sites/default/</default-uri>
            <site server="http://opencms.mysite.com" uri="/sites/default/"/>
            <site server="http://www.mysite.com" uri="/sites/mysite/"/>
        </sites>



opencms_importexport.xml:
		<rendersettings>
			<rfs-prefix>${CONTEXT_NAME}/export</rfs-prefix>
			<vfs-prefix>${CONTEXT_NAME}${SERVLET_NAME}</vfs-prefix>
			<userelativelinks>false</userelativelinks>			
			<exporturl>http://opencms.mysite.com${CONTEXT_NAME}/handle404</exporturl>
			<plainoptimization>true</plainoptimization>
			<testresource uri="/system/shared/page.dtd"/>
			<resourcestorender>
				<regex>/sites/.*</regex>
				<regex>/system/galleries/.*</regex>
				<regex>/system/modules/.*/resources/.*</regex>
			</resourcestorender>
		</rendersettings>




Mit freundlichen Grüßen, Bernd Wolfsegger

-- 

   Code Create

 { information technology }  &  /^ architecture ^\



[  Bernd Wolfsegger

[  Sun Certified Programmer for Java(TM) 2 Platform
[  Dipl.-Ing. Architekt


[  bw at mysite.de
[  http://www.mysite.de/

[  bw at mysite.com
[  http://www.mysite.com/


[  Office in Germany
[  Lohmeyerstrasse 13
[  10587 Berlin
[  +49 (0)30 26555788

[  Office in Kenya
[  Nairobi
[  +254 (0)720 481053



More information about the opencms-dev mailing list