Mehr als eine Instanz pro Server betreiben

Hilfe zu OTRS Problemen aller Art
Post Reply
eliasp
Znuny newbie
Posts: 10
Joined: 11 Oct 2006, 01:01

Mehr als eine Instanz pro Server betreiben

Post by eliasp »

Hallo,

ich bin gerade dabei, den OTRS ebuild (2.1.7) für Gentoo komplett zu überarbeiten.
In diesem Zug wollte ich, wie für webapps üblich, OTRS auch Multi-Instanz Fähigkeiten verpassen.

Ich habe jetzt also 1+ Instanzen in /var/www/$VHOST/htdocs/$INSTANZ installiert, diese sind auch dementsprechend vorkonfiguriert:
  • Pro Instanz eine eigene SystemID in Kernel/Config.pm
  • Der jeweilige FQDN des VHosts ist in Kernel/Config.pm eingetragen
  • Pro Instanz ein eigener User/eine eigene Gruppe mit jeweils auch eigenen CronJobs etc, $HOME ist auf das jeweilige Instanzverzeichnis gesetzt
  • In den apache2-perl-startup.pl Files ist jeweils der Pfad der Instanz gesetzt
  • Es kommt mod_perl2-2.0.3-r1 und apache-2.0.58-r2 zum Einsatz
Instanz 1 ist eine bestehende produktiv-Instanz
Instanz 2 + 3 sind testweise installierte Zusatz-Instanzen.

Später soll es möglich sein, 4-5 Instanzen parallel zu betreiben, um ausführliche Tests zu betreiben, ohne das Produktivsystem zu "verunreinigen".

Rufe ich jetzt das Webinterface von Instanz 2 oder 3 auf, bekomme ich lediglich den Inhalt von Instanz 1 zu sehen.

In OTRS-1.3 war es wohl durch die Verwendung von mod_perl2 noch möglich, dieses Problem zu beheben:
http://doc.otrs.org/1.3/de/html/multi-h ... setup.html

Oftmals vorgeschlagene Workarounds zu diesem Problem sind:
  • Betreiben einer zweiten Instanz auf einem zweiten Apache, der auf einer anderen IP/einem anderen Port läuft
  • Betreiben einer zweiten Instanz auf einem zweiten Apache, welcher über mod_proxy auf der ersten Apache-Instanz angesprochen wird
  • Verwenden von mod_perl für Instanz1 und CGI für Instanz2
Diese Vorschläge sind aber alle nicht wirklich umsetzbar, wenn man ein sauber konfiguriertes System halten will:
  • Eine zweite Instanz auf einer anderen IP/einem anderen Port ist meine Ansicht nach aus folgenden Gründen keine praktikable Lösung:
    • Eine zweite IP ist nicht überall verfügbar
    • Ein zweiter Port verhindert, dass Kunden ohne Probleme auf das Webinterface zugreifen können. Die meisten Kunden haben lediglich Port 80 nach außen freigeschalten.
    • Das betreiben einer zweiten Apache-Instanz ist konfigurativer sinnloser Overhead und einer weitere potentielle Lücke im System. Man sollte nicht jede Konfigurationsänderung in vielfacher Form vornehmen müssen.
  • Gegen eine zweite Instanz, welche über mod_proxy angesprochen wird, spricht der gleiche Grund bzgl. Konfigurations-Overhead und Sicherheit
  • Gegen das Betreiben einer Instanz über mod_perl und einer Instanz über CGI spricht:
    • Keine einheitliche Konfiguration (alles mod_perl/alles CGI)
    • Geschwindigkeitseinbußen bei der CGI Instanz
    • Lediglich zwei Instanzen sind pro System möglich, aufwändige Testumgegungen bspw. erfordern es aber oftmals, 4-5 Systeme parallel betreiben zu können.
Kurz gesagt: Wenn man schon unterschiedliche SystemIDs definieren kann, muss man diese doch auch nutzen können! Nur wie?
Zudem stellt sich mir an diesem Punkt die Frage: Wie kann es sein, dass ein System auf VHOST-A ungestraft auf Daten von VHOST-B zugreifen kann? Das ist IMHO auch ein großes Sicherheitsproblem.

Hat hier irgendjemand einen Lösungsansatz für diesen Bug bzw. kennt Informationen der Devs zu diesem Problem?

Danke im Voraus!

Gruß, Elias P.
Post Reply