Das HostCreator-Plugin | |
---|---|
Überblick über das HostCreator-Plugin | |
Von:
Thorsten Kamann <thorsten.kamann@planetes.de> Peter Roßbach <pr@objektpark.de> |
|
Der HostCreator sorgt für die dynamische Übernahme neuer virtueller Hosts in einen bestehenden Service. |
Inhalt:
|
In einer Hosting-Umgebung - und auch in einer Entwicklungsumgebung - ist eine der
häufigsten Aufgaben das Erstellen eines neuen Hosts mit seinen Standard-Anwendungen.
Bisher war dieses nur mit einer Menge von Mausklicks oder schlimmer noch mit
einem Restart des kompletten Servers verbunden.
Der Alptraum eines jeden Hosters: Der Server für verschiedene Kunden ist eine
Zeit nicht erreichbar.
Es gibt Lösungen, die auf Ant basieren, aber nicht besonders intuitiv sind und auch
Lösungen, die die server.xml direkt verändern und somit einen kompletten
Neustart erfordern. Nur via JMX wäre ein dynamischer Eingriff möglich, aber das
Interface ist nicht ausreichend für alle erforderlichen Aktionen.
Um diese Nachteile zu vermeiden gibt es für die Centaurus-Platform den
HostCreator.
Der HostCreator ist als Plugin verfügbar. Nach der Installation ist der HostCreator als
Listener verfügbar und überwacht die Services (Engines)-Verzeichnisse
der Centaurus-Platform, die sich im Verzeichnis ${centaurus.base}/conf
befinden.
Erscheint dort eine ${hostname}.xml, dann wird diese verarbeitet
und der Host, die enthaltenen Kontexte und sämtliche zusätzlich definierte
Konfigurationen installiert.
Dazu muss der Server natürlich nicht neu gestartet
werden.
Damit Sie nicht alles von Hand machen müssen beinhaltet der HostCreator natürlich
ein Client-Programm. Dieses können Sie sowohl auf einer Konsole wie auch in einer
grafischen Umgebung benutzen.
Dazu rufen Sie folgendes Script auf: ${centaurus.base}/scripts/hostcreator/hostcreator.[sh|bat]
Klicken Sie auf das Bild für die Vollansicht
Wenn Sie auf einer Konsole arbeiten müssen Sie dem Programmaufruf noch die
entsprechenden Parameter mitgeben:
service | Der Name des Services, in dem der Host installiert werden soll (default: Centaurus-Public) |
---|---|
host | Der Name des Hosts. Dies muss ein gültiger Hostname sein. |
appbase | Das Verzeichnis, in dem die Webanwendungen installiert werden sollen. |
alias | Sie können eine durch Komma getrennte Liste mit Alias-Namen übergeben. Unter diesen Aliasnamen ist der Host dann zusätzlich erreichbar. |
logins | Wenn Sie den Standard-Realm benutzen, den wir in dem mitgelieferten
Template voreingestellt haben, können Sie mit diesem Parameter eine
Komma getrennte Liste mit Loginnamen übergeben. Das Format eines Logins
sieht so aus: Benutzername:Passwort Mit diesem Login können Sie sich dann in die Manageranwendung einloggen. |
template | Geben Sie hier den Namen des Templates aus dem Verzeichnis ${centaurus.base}/templates/hostcreator ein (default: host.xml). |
console | Mit diesem Parameter können Sie den Konsolen-Modus erzwingen. Dies ist sinnvoll, wenn Sie auf einem Server sind, der keine grafische Umgebung bietet oder Sie den Hostcreator in Ihre bestehende Umgebung (z.B. Cron-Jobs) integrieren möchten. |
remove | Entfernt den angegebenen Host. |
Natürlich kommt es vor, dass man einen Host wieder entfernen möchte. Dies können Sie auch mit dem
HostCreator machen. Beide Modi (GUI und Konsole) unterstützen dies. Sobald Sie im GUI-Modus den Namen
des Hosts in das dafür vorgesehene Eingabefeld eingegeben haben, erscheint eine
Entfernen-Schlaftfläche.
Im Konsolenmodus geben Sie einfach den Namen des Host, des Service (optional) und den Parameter
-remove mit.
Der Generator erzeugt dann im Verzeichnis ${centaurus.base}/conf/{SERVICE_NAME} eine
leere Datei (0 Byte) mit dem Namen {HOST_NAME}.xml.remove. Der HostCreator reagiert darauf
und entfernt den Host. Natürlich wird ein Backup erzeugt. Damit Sie die Konfiguration komplett wiederherstellen wird
der gesamte Inhalt des Verzeichnisses ${centaurus.base}/conf gesichert.
Sie finden das Backup in ${centaurus.base}/backup/conf{TIMESTAMP}.zip.
./hostcreator.sh -console -host host1.localhost -appbase /home/www/web3/webapps -alias www.host1.de -logins web3:hgsf65t
In diesem Beispiel installieren Sie den Host host1.localhost mit dem Verzeichnis /home/www/web3/webapps. Der HostCreator wird im Konsolenmodus ausgeführt.
hostcreator.bat -host host1.localhost -appbase /home/www/web3/webapps -alias www.host1.de -logins web3:hgsf65t
Dies ist das gleiche Beispiel wie oben, nur dass der HostCreator auf Windows im GUI-Modus ausgeführt wird.
./hostcreator.sh -console -host host1.localhost -remove
In diesem Beipiel entfernen Sie den Host host1.localhost.