PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache, Tomcat, Rails in Unterverzeichnisse



devent
09.10.10, 16:44
Hallo,
ich brauche Hilfe um einen Apache2 einzurichten. Ich will Tomcat6 und Redmine/Rails von einer Domain aus anbieten können, aber in verschiedene Unterverzeichnisse.

Ich habe bereits Tomcat6/Archiva und Redmine/Rails eingerichtet. Meine Apache Konfiguration kann entweder Archiva oder Redmine aus /archiva oder /redmine anbieten, aber nicht beides gleichzeitig.

Für Tomcat6/Archiva benutze ich mod_jk und für Redmine/Rails ein Mongrel Cluster. Server ist Ubuntu 10.04.

Wenn ich die Konfiguration für Redmine/Rails auskommentiere, komme ich auf $domain/archiva auf die Archiva Seite. Wenn ich die Konfiguration für Redmine/Rails aktiviert lasse, dann komme ich zwar auf $domain/redmine, aber nicht mehr auf $domain/archiva.

Auf $domain/archiva wird eine Seite angezeigt mit dem Satz: "NOT FOUND".

Die Domain ist nicht online, ist nur Lokal auf meinem Rechner in VirtualBox.

Unten ist die Konfiguration für die Domain. Man muss doch einrichten können, dass man Archiva auf $domain/archiva und Redmine auf $domain/redmine anbieten kann?

Ich hätte gedacht, dass man ProxyPass/RewriteEngine so einrichten kann, dass nur $domain/redmine an den Mongrel Cluster weitergereicht wird. Aber wie es aussieht, werden alle Seiten an den Cluster weitergereicht und ich bekommt die "NOT FOUND" Seite zu sehen.



<VirtualHost 192.168.0.201:443>
DocumentRoot /var/www/globalscalingsoftware-projects.com/web

ServerName globalscalingsoftware-projects.com
ServerAlias www.globalscalingsoftware-projects.com
ServerAdmin webmaster@globalscalingsoftware-projects.com

ErrorLog /var/log/ispconfig/httpd/globalscalingsoftware-projects.com/error.log

SSLEngine on
SSLCertificateFile /var/www/clients/client1/web2/ssl/globalscalingsoftware-projects.com.crt
SSLCertificateKeyFile /var/www/clients/client1/web2/ssl/globalscalingsoftware-projects.com.key.inse\
cure

<Directory /var/www/globalscalingsoftware-projects.com/web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
<Files ~ '.php[s3-6]{0,1}$'>
Order allow,deny
Deny from all
Allow from none
</Files>
</Directory>
<Directory /var/www/clients/client1/web2/web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
<Files ~ '.php[s3-6]{0,1}$'>
Order allow,deny
Deny from all
Allow from none
</Files>
</Directory>
# add support for apache mpm_itk
<IfModule mpm_itk_module>
AssignUserId web2 client1
</IfModule>

JkMount /* ajp13_worker



#Alias /redmine /var/www/globalscalingsoftware-projects.com/web/public

RequestHeader set X_FORWARDED_PROTO 'https'

<Proxy balancer://redmine_cluster>
BalancerMember http://127.0.0.1:8000
BalancerMember http://127.0.0.1:8001
#BalancerMember http://127.0.0.1:8001
#BalancerMember http://127.0.0.1:8002
</Proxy>

RewriteEngine On
# Redirect all non-static requests to thin
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://redmine_cluster%{REQUEST_URI} [P,QSA,L]

ProxyPass /redmine balancer://redmine_cluster/
ProxyPassReverse /redmine balancer://redmine_cluster/
ProxyPreserveHost on

</VirtualHost>

devent
09.10.10, 16:53
Anscheinend habe ich das mit ein wenig experimentieren gelöst.

Ich habe die Rewrite Rules geändert in:

RewriteEngine On
# Redirect all non-static requests to thin
RewriteCond /redmine/%{REQUEST_FILENAME} !-f
RewriteRule ^/redmine(.*)$ balancer://redmine_cluster%{REQUEST_URI} [P,QSA,L]


Ist das die korrekte Lösung oder gibt es was besseres?
Nun kann ich Archiva von $domain/archiva und Redmine von $domain/redmine anbieten.