Karaf

Karaf ist eine der zentralen Systemkomponenten für das BPC. Es handelt sich um eine Open Source Software der Apache Software Foundation

Die Dokumentation der Software finden Sie hier.

Im Rahmen der BPC-Installation wird eine bereits vorkonfigurierte Variante von Apache Karaf bereitgestellt.

Konfiguration

Zielbild der Karaf-Konfiguration

Die Karaf-Konfiguration liegt standardmäßig im Verzeichnis <BPC-INSTALL-DIR>/karaf/etc.

Bei einem Karaf-Update kann dieses Verzeichnis durch neue Standardkonfigurationen ersetzt oder erweitert werden. Daher wird empfohlen, kundenspezifische Anpassungen möglichst nicht direkt in den Karaf-etc-Dateien vorzunehmen, sondern über die zentrale Konfigurationsdatei bpc.env.sh bzw. bpc.env.cmd zu setzen.

Über Umgebungsvariablen können gezielt einzelne Werte aus Karaf-Konfigurationsdateien überschrieben werden. Dadurch bleiben Anpassungen updatefreundlicher und müssen bei einem Karaf-Update nicht manuell in neue etc-Dateien übertragen werden.

Für Konfigurationen, die nicht sinnvoll über einzelne Umgebungsvariablen gesetzt werden können, kann es sinnvoll sein, Dateien außerhalb der Karaf-Installation abzulegen und aus der zentralen Konfigurationsdatei zu referenzieren. Ein Beispiel dafür ist die Anpassung der jetty.xml.

Weitere Informationen finden Sie unter Werte von etc-Dateien überschreiben und jetty.xml anpassen.

Der Karaf Service Wrapper berücksichtigt die zentrale bpc.env-Datei nicht. Für den Betrieb als Betriebssystem-Service wird daher die Einrichtung über Services empfohlen.

Arbeitsspeicher (RAM)

Die Höhe des Karaf zugewiesenen Arbeitsspeichers wird über die Umgebungsvariable EXTRA_JAVA_OPTS gesetzt. Diese Umgebungsvariable wird auch bei Verwendung der zentralen Konfiguration über bpc.env.sh genutzt.

Für OpenSearch wird dagegen die Umgebungsvariable OPENSEARCH_JAVA_OPTS verwendet.

Bitte auch die Arbeitsspeicher-Beispiele für die zur Verfügung stehende Hardware unter Systemanforderungen beachten.

Konsole

Über die Karaf-Konsole können einfach der aktuelle Zustand des Systems abgefragt sowie Konfigurationen ausgelesen und angepasst werden.
Siehe auch Apache Karaf Documentation - Using the Console.

Für besonders häufig genutzte Karaf-Konsolen-Kommandos steht ein Karaf-Konsolen-Befehle Cheat Sheet zur Verfügung.

Zugriff

Der Zugriff auf die Konsole ist lokal und auch remote möglich. Die Authentifizierung findet über die Karaf-Benutzerliste statt.
Die vordefinierte Rolle admin kann sich anmelden, aber erst in Kombination mit weiteren Rollen können umfassende administrative Aufgaben ausgeführt werden. Diese Rollen sind zur vordefinierten Gruppe g:admingroup zusammengefasst.
Detaillierte Informationen finden Sie unter Apache Karaf Documentation - Security.

Karaf Client

Im Karaf-Verzeichnis befindet sich unter bin/client (bzw. bin/client.bat für Windows) ein Client für die Konsole. Dieser ermöglicht lokal als auch remote Zugriff auf die Konsole.

SSH

Die Karaf-Konsole ist auch direkt via SSH-Protokoll verfügbar. Dafür steht, falls nicht anders konfiguriert (siehe Zentrale Konfigurationsdatei), der Port 8101 zur Verfügung.

Externer Zugriff via SSH

Standardmäßig wird der SSH-Zugriff auf den Host localhost eingeschränkt. Falls es erforderlich ist, Karaf auch über externe Verbindungen zugänglich zu machen, kann dies durch Anpassen der Einstellung org.apache.karaf.shell.sshHost erfolgen. Der Wert 0.0.0.0 erlaubt Verbindungen von allen IP-Adressen.

Die Änderung kann entweder über die Konfigurationsdatei <BPC-INSTALL-DIR>/karaf/etc/org.apache.karaf.shell.cfg, die Karaf-Konsole oder die zentrale Konfigurationsdatei vorgenommen werden.

Wir empfehlen, die zentrale Konfigurationsdatei zu verwenden. Aktivieren Sie dazu einfach die standardmäßig auskommentierte Zeile:

  • Unix-Systeme

  • Windows-Systeme

bpc.env.sh
export ORG_APACHE_KARAF_SHELL_SSHHOST=0.0.0.0
bpc.env.cmd
SET ORG_APACHE_KARAF_SHELL_SSHHOST=0.0.0.0

Wenn auch der SSH-Port angepasst werden soll, nutzen Sie ebenfalls die zentrale Konfigurationsdatei. Ein Beispiel finden Sie unter Setzen des SSH Ports.

Nutzen Sie für eine optimale Sicherheit stets die restriktivsten Einstellungen, die Ihren Arbeitsablauf ermöglichen.

Zugriff mit Private/Public-Key Verfahren

Befolgen Sie die folgenden Schritte:

  1. Erstellung des Schlüsselpaares:
    Führen Sie den folgenden Befehl aus, um ein neues Schlüsselpaar zu erstellen. Alternativ können Sie auch ein bereits bestehendes Schlüsselpaar verwenden.
    ssh-keygen -t rsa -f karaf.id_rsa

  2. Public Key in keys.properties einfügen.
    Die Datei keys.properties im <BPC-INSTALL-DIR>/karaf/etc-Verzeichnis ermöglicht die Zuordnung eines SSH-Schlüssels zu einem Benutzer. Die Benutzer-Schlüssel-Paare werden in folgendem Format definiert: user=key,role

keys.properties Datei mit SSH-Public-Key
virtimo=<SSH-Public-Key>,_g_:admingroup
_g_\:admingroup = group,admin,manager,viewer,systembundles,ssh

Wird die Syntax der Datei nicht eingehalten, so ist eine Authentifizierung nicht möglich und es kann keine Verbindung hergestellt werden.
Stellen Sie sicher, dass im SSH-Public-Key keine Leerzeichen enthalten sind.

Der SSH-Zugang erfordert die Rolle ssh. Stellen Sie sicher, dass der verwendete Benutzer diese Rolle direkt oder über eine Gruppe erhält.

  1. Verbindung per SSH herstellen:
    ssh -p 8101 -i ~/karaf.id_rsa virtimo@localhost

Zugriff mit Username/Passwort

Alternativ zum Public/Private Key-Verfahren kann auch eine Authentifizierung über Username und Passwort erfolgen. Dazu wird die Datei users.properties im <BPC-INSTALL-DIR>/karaf/etc-Verzeichnis verwendet.

Befolgen Sie die folgenden Schritte:

  1. Benutzer und Passwort in users.properties hinzufügen: Siehe Verwendung von users.properties für Karaf Zugriff.

  2. Verbindung per SSH herstellen:
    ssh -p 8101 -i ~/karaf.id_rsa karaf@localhost

Detaillierte Informationen finden Sie unter Apache Karaf Documentation - Security.

BPC-spezifische Kommandos


Keywords: