Agorum und Open-xchange parallel betreiben

german

#1

Hallo allerseits,

ich versuche mich seit einiger Zeit an UCS, stosse aber immer wieder auf das gleiche Problem:
UCS installiert (alles funktioniert), Open-xchange installiert (alles funktioniert), Agorum installiert (Open-xchange funktioniert, agorum nicht; nach dem reboot funktioniert nur agorum aber Open-xchange nicht!).
Mit funktionieren meine ich, das die Login Webseite der entsprechenden Applikation funktioniert!

Halte ich beide Dienste (agorum und Open-xchange) an und starte einen, dann funktioniert dieser, starte ich den zweiten, dann funktioniert zwar der erste, aber der zweite nicht!
Im Logfile kann ich dann nur den Fehler sehen “proxy error: 502”.

Ich habe UCS (aktuell) für VMware ESXi heruntergeladen und installiert (habe es auch auf einer physischen Maschine probiert), ich habe es mit einer, später auch mit zwei und drei Netzwerkkarten probiert. Leider alles ohne Erfolg? Was habe ich übersehen?

Kann man beides parallel betreiben?

Beste Grüße
Scholle


#2

Hallo,

ohne es konkret getestet zu haben:

Sowohl Open-Xchange als auch Agorum benötigen Java. Der beschriebene Fehler sieht für mich nach einer klassischen Portkollision aus. Die zuerst gestartete Applikation wirft Java hoch, diese Umgebung belegt bestimmte TCP-Port. Die zweite Anwendung versucht auch, ihre Java-Umgebung zu starten und kann nicht alle benötigten Ports belegen.

Das wird man sicher auch in den Applikationslogs sehen.

Testen kann man das ganz gut. Applikation 1 starten,

# netstat -tulpen |grep java
# ps -ef | grep java

Applikation 1 stoppen, Applikation 2 starten, und Befehle wiederholen und mit der ersten Ausgabe vergleichen.

Viele Grüße,
Dirk Ahrnke

EDIT: codeblock justiert


#3

Besten Dank für den Hinweis auf die Ports.
Die Ausgabe der commands hat dann auch den schuldigen port gefunden.
Agorum und Open-Xchange verwenden den port 8009!

Folgende Konfigurationsfiles sind betroffen:
apache2/sites-available/ox:RewriteRule (.*) localhost:8009/servlet/dav$1 [P]
apache2/sites-available/agorumcore:ProxyPass /roiwebui ajp://127.0.0.1:8009/roiwebui
apache2/sites-available/agorumcore:ProxyPass /webdav ajp://127.0.0.1:8009/webdav
apache2/sites-available/agorumcore:ProxyPass /cmis ajp://127.0.0.1:8009/cmis
apache2/sites-available/agorumcore:ProxyPass /api ajp://127.0.0.1:8009/api
apache2/sites-available/agorumcore:ProxyPass /api-docs ajp://127.0.0.1:8009/api-docs
apache2/sites-available/agorumcore:ProxyPass /dynawebservices ajp://127.0.0.1:8009/dynawebservices
apache2/conf.d/proxy_http.conf: BalancerMember localhost:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=OX1
apache2/conf.d/proxy_http.conf: BalancerMember localhost:8009 timeout=1800 smax=0 ttl=60 retry=60 loadfactor=50 route=OX1

Ich war irrtümlich davon ausgegangen, dass das AppCenter die Applikationen anpasst, aber hier scheint nun Handarbeit angesagt zu sein.
Ich hoffe, dass Sie noch einen kleinen, aber durchaus hilfreich Tip haben.
Kann ich z.B. die RewriteRule von Open-xchange einfach auf einen anderen Port umleiten?

Beste Grüße


#4

Hallo,

die Konsequenz dieses Threads wird mit Sicherheit zunächst sein dass Agorum und Open-Xchange für das Appcenter als “ConflictedApps” deklariert werden.

Es ist zwar denkbar, die Ports bei Open-Xchange manuell, teilweise sogar via UCR zu ändern, aber das ist erstens mühselig und zweitens wahrscheinlich nicht von Dauer.

Im Moment müsste man die beiden Applikationen auf separaten Hosts betreiben.
Langfristig sollte sich das über Docker lösen lassen. Daran wird nach meiner Kenntnis gearbeitet.

Viele Grüße,
Dirk Ahrnke


#5

Hallo,

danke für die Antwort!
Diejenigen die es wie ich für TESTZWECKE ausprobieren möchten:
Ich habe die Ports von Open-xchange auf 8809 umgebogen.
service open-xchange stop
service apache2 stop
folgende Einträge von 8009 auf 8809 ändern:
proxy_http.conf: BalancerMember localhost:8809 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=OX1
proxy_http.conf: BalancerMember localhost:8809 timeout=1800 smax=0 ttl=60 retry=60 loadfactor=50 route=OX1
apache2/sites-available/ox:RewriteRule (.*) localhost:8809/servlet/dav$1 [P]
server.properties:com.openexchange.connector.networkListenerPort=8809

service apache2 start
service open-xchange start

Vielleicht weiss ja jemand, wie man diese beiden Dienste einfach nur auf unterschiedlichen Netzwerkkarten (im gleichen Subnetz) laufen lassen kann. Was ich persönlich noch am “schönsten” und “saubersten” fände.

Beste Grüße