Einführung / Konfiguration des FirstSpirit-Servers / Konfigurationsdateien (FirstSpirit-Server) / FirstSpirit-Server (fs-server.conf) / Server
Bereich: Server
Inhaltsverzeichnis |
###########################
# server
###########################
backup_files=50
cyclicReferenceSaveTime=60
backup_files
Anzahl der Backup-Versionen, die zu den internen Strukturdateien gespeichert werden. Dies betrifft ausschließlich die Verwaltungs- und Strukturdaten und nicht die Inhaltsdaten. Alle Inhaltsdaten werden separat versioniert. Eine Erhöhung des Wertes verbessert die Möglichkeiten zur Fehlerkorrektur, führt aber auch zu einer erhöhten Belegung des Plattenspeichers auf dem Rechner (Standardwert ist 50).
cyclicSaveTime
Gibt die Zeit in Sekunden an, nach der Änderungen, beispielsweise an der Historie, der Statistik, den Aufgaben oder an den Benutzereinstellungen gespeichert werden. Das zyklische Speichern wird nur dann ausgeführt, wenn die entsprechenden Daten geändert wurden (Standardwert ist 60 sec.).
JNLP_SERVLET_URL
Der hier definierte Wert wird für die Erzeugung der FirstSpirit-URLs benötigt, die als Verweise zum Starten des Clients innerhalb von E-Mails generiert werden. Beispiel:
JNLP_SERVLET_URL=${URL}/start/FIRSTspirit.jsp
DTO_LRU_SIZE
Der Parameter bestimmt die Größe des DTO-Caches für ein Projekt auf dem Server. Hier werden die zuletzt genutzten Baumobjekte eines Projekts gehalten. Der Wert definiert die Anzahl der Objekte die im Cache verwaltet werden (Standardwert 512 Store-Elemente).
CLIENTAPP_PATH
Der Parameter wird ausschließlich für den Ausrollprozess nativer Clientapplikationen benötigt (siehe Ausrollprozess für native Applikationen). Standardwert: FirstSpirit5\data\clientapp.
CLIENT_HOME_DIR
Pfadangabe zum Verzeichnis im Dateisystem des Arbeitsplatzrechners, in das Client-Applikationen, Log-Meldungen des ServerManager sowie des SiteArchitect u.a. abgelegt werden sollen (siehe Ausrollprozess (Arbeitsplatzrechner)). Dabei können absolute (z. B. CLIENT_HOME_DIR=C:/test) oder relative Pfadangaben verwendet werden. Für relative Pfadangaben kann das Zeichen ~ zu Beginn der Pfadangabe als Platzhalter verwendet werden, z. B. ~/myclientapps. ~ wird dann durch das betriebssystemspezifische, aktuelle User-Home-Verzeichnis ersetzt.
Wird der Parameter nicht angegeben, werden Client-Applikationen standardmäßig in ein Verzeichnis im betriebssystemspezifischen User-Home-Verzeichnis ausgerollt, z. B.
c:\users\username\.firstspirit_5.2R1904
Dabei wird für jedes FirstSpirit-Release ein eigenes Verzeichnis verwendet. Der Verzeichnisname enthält dabei die jeweilige FirstSpirit-Major-, -Minor- und -Release-Versionsnummer (.firstspirit_5.2R<Version>), z. B. ~\.firstspirit_5.2R1904
Standardwert:
CLIENT_HOME_DIR=~/.firstspirit_${FS_MAJOR}.${FS_MINOR}${FS_RELEASE}
Alte Versionen der FirstSpirit Home Verzeichnisse .firstspirit_* werden automatisiert aufgeräumt, sofern länger als 30 Tage keine Datei darin geändert wurde. |
CLIENT_HOME_DIR_WINDOWS
Pfadangabe zum Verzeichnis im Dateisystem, in das Client-Applikationen (und Log-Meldungen des ServerManager sowie des SiteArchitect) auf Arbeitsplatzrechnern mit Windows-Betriebssystem ausgerollt werden sollen. Beispiel:
CLIENT_HOME_DIR_WINDOWS=C:/.test
Wird nur CLIENT_HOME_DIR_WINDOWS angegeben, wird die Client-Applikation in das betriebssystemspezifische User-Home-Verzeichnis ausgerollt.
CLIENT_HOME_DIR_LINUX
Pfadangabe zum Verzeichnis im Dateisystem, in das Client-Applikationen (und Log-Meldungen des ServerManager sowie des SiteArchitect) auf Arbeitsplatzrechnern mit Linux-Betriebssystem ausgerollt werden sollen (vgl. Parameter CLIENT_HOME_DIR_WINDOWS).
CLIENT_HOME_DIR_MAC
Pfadangabe zum Verzeichnis im Dateisystem, in das Client-Applikationen (und Log-Meldungen des ServerManager sowie des SiteArchitect) auf Arbeitsplatzrechnern mit Macintosh-Betriebssystem ausgerollt werden sollen (vgl. Parameter CLIENT_HOME_DIR_WINDOWS).
workflow.task.cache / workflow.model.cache
Der hier definierte Typ gibt an, wie lange eine Aufgabe bzw. ein Arbeitsablaufmodell im Cache erhalten bleiben soll. Dabei wird unterschieden zwischen WEAK und SOFT. Wird WEAK angegeben, werden die Objekte direkt aus dem Cache gelöscht, sobald sie nicht mehr verwendet werden. Bei der Angabe von SOFT verbleiben die Objekte, abhängig von der verwendeten VM, solange im Cache, wie genügend Speicher vorhanden ist. (Bei einem großen Speicher ist der Typ WEAK zumeist von Vorteil.) Die LRU-Größe wird in KB mit einem Unterstrich abgetrennt an den Typ angehängt. (Standardwerte: workflow.task.cache=SOFT_1024 und
workflow.model.cache=SOFT_128.)
Queues für Aufträge konfigurieren
Das Ausführen von Aufträgen, z. B. Generierungen, Backups usw., kann zu einer hohen Last auf dem Server führen und so für Performanz-Probleme sorgen.
Backups: Standardmäßig werden maximal 4 Backup-Aufträge gleichzeitig ausgeführt. Dazu zählen Aufträge vom Typ Projektsicherung durchführen sowie Enterprise Backup-Aufträge.
Hinweis: Manuell gestartete Projekt-Exporte sind von dieser Einstellung nicht betroffen und werden sofort ausgeführt.
Generierungen: Standardmäßig werden maximal 10 Generierungs-Aufträge gleichzeitig ausgeführt.
Darüber hinaus werden andere Auftragstypen über die sogenannte Default Thread Queue ausgeführt. Dabei handelt es sich um eine allgemeine Ausführungs-Queue, die nicht auf Aufträge beschränkt ist. Die Anzahl der Aufträge, die in dieser Queue gleichzeitig ausgeführt werden dürfen, beträgt standardmäßig die Anzahl der Kerne * 6.
Mit den folgenden Parametern kann definiert werden, wie viele Aufträge gleichzeitig ausgeführt werden dürfen.
Dabei können jeweils eine eigene Queue für
- Backup-Aufträge (backupQueue)
- Generierungsaufträge (generateQueue)
- alle anderen Auftragstypen (defaultQueue)
konfiguriert werden.
- Die maxRunning-Parameter beschränken die gleichzeitige Ausführung des betreffenden Auftragstyps. Werden darüber hinaus gehende Aufträge gestartet, werden sie in eine Queue eingereiht und erst ausgeführt, wenn die Anzahl der laufenden Aufträge den maxRunning-Wert unterschreitet.
Wird maxRunning auf -1 gesetzt, wird der Wert der allgemeinen „Default Thread Queue“ verwendet. - Werden für die Parameter keine expliziten Werte angegeben („leer“), wird der Wert der allgemeinen „Default Thread Queue“ verwendet.
schedule.generateQueue.maxRunning: Gibt an, wie viele Generierungsaufträge gleichzeitig ausgeführt werden dürfen.
Standardwert ist 10.
schedule.generateQueue.queueCapacity: Gibt an, wie viele Generierungsaufträge maximal in die Queue aufgenommen werden können.
Standardwert ist leer.
schedule.backupQueue.maxRunning: Gibt an, wie viele Backup-Aufträge gleichzeitig ausgeführt werden dürfen.
Standardwert ist 4.
schedule.backupQueue.queueCapacity: Gibt an, wie viele Backup-Aufträge maximal in die Queue aufgenommen werden.
Standardwert ist 128.
schedule.defaultQueue.maxRunning: Gibt an, wie viele Aufträge dieser Queue gleichzeitig ausgeführt werden dürfen.
Standardwert ist -1.
schedule.defaultQueue.queueCapacity: Gibt an, wie viele Aufträge maximal in diese Queue aufgenommen werden.
Standardwert ist leer.
schedule.maxInactivityTimeout: Gibt an, innerhalb welchen Zeitraums ein Auftrag als „blockiert“ betrachtet und abgebrochen wird, wenn keine CPU-Zeit verbraucht wurde.
Standardwert (in Sekunden) ist 600, was 10 Minuten entspricht.
indexing.extendedDatasetKeys
Über diesen Parameter kann das Format des Suchindexes bei der Verwendung externer Datenbanken angepasst werden.
Ist indexing.extendedDatasetKeys=true gesetzt, wird das Format des Suchindexes so geändert, dass Datensätze aus verschiedenen Tabellen mit demselben Primary Key über die Suche gefunden werden können.
Standardwert ist indexing.extendedDatasetKeys=false. Mit dieser Einstellung wird bei der Verwendung externer Datenbanken nur einer dieser Datensätze gefunden.
Nach einer Änderung des Parameters muss der Suchindex für alle Projekte, die externe Datenbanken verwenden, neu berechnet werden (siehe Suchindex neu aufbauen). Ansonsten können bei Änderungen an Datensätzen weiterhin die alten Versionen gefunden werden. |
Weitere Informationen zur Suche und Indizierung in FirstSpirit-Projekten siehe Suche (→Online Dokumentation FirstSpirit).
generate.defaultMaxStackSize
Aus Sicherheitsgründen ist die Stack-Größe in FirstSpirit begrenzt. An manchen Stellen kann es zu einer „Endless loop“-Exception kommen, wenn durch Schachtelungen von Vorlagen diese Stack-Größe überstiegen wird. Siehe dazu auch Seite vorschaubezogen (→Online Dokumentation FirstSpirit).
Der Standardwert für die Stack-Größe ist 75.
Mit dem Parameter generate.defaultMaxStackSize kann der Standardwert serverweit angepasst werden.
indexing.relationshipPathLengthToFollow
Speziell in komplexen Datenstrukturen mit mehreren Tabellen kann ein Datensatz mit Datensätzen anderer Tabellen verknüpft sein. Eine solche Verknüpfung von Datensätzen über mehrere Tabellen hinweg kann auch als „Pfad“ bezeichnet werden.
Mithilfe dieses Parameters kann die Indizierung von referenzierten Datensätzen, die mittels FS_DATASET oder FS_INDEX (zur Datensatzauswahl per DatasetDataAccessPlugin) referenziert werden, so konfiguriert werden, dass die Pfadlänge berücksichtigt wird. So kann beispielsweise bestimmt werden, ob zu einem Ausgangs-Datensatz nur die Inhalte dieses Datensatzes oder auch Inhalte referenzierter Datensätze indiziert werden sollen. Sollen auch Inhalte referenzierter Datensätze mit indiziert werden, kann angegeben werden, bis zu welcher Pfadlänge sie berücksichtigt werden sollen. So bedeutet eine Pfadlänge „2“ beispielsweise, dass zusätzlich zu den Inhalten des Ausgangs-Datensatzes auch Inhalte von Datensätzen indiziert werden, die vom Ausgangs-Datensatz referenziert werden sowie Inhalte von Datensätzen, die von den referenzierten Datensätzen referenziert werden.
Standardmäßig werden im Falle der oben genannten Eingabekomponenten zu Datensätzen auch die Inhalte von direkt referenzierten Datensätzen indiziert (Pfadlänge „1“). Sollen bei einer Indizierung keine referenzierten Datensätze berücksichtigt werden, muss der Parameter auf den Wert „0“ gesetzt werden, z. B.
indexing.relationshipPathLengthToFollow=0
Andere Pfadlängen können durch Angabe der gewünschten Zahl angegeben werden.
Datensätze, die sich in derselben Tabelle befinden, werden nicht mit indiziert. |
Das hier dargestellte Indizierungsverhalten betrifft nur die oben genannten Eingabekomponenten. Zu anderen Eingabekomponenten, mit denen mittels CMS_INCLUDE_OPTIONS ebenfalls Datensätze referenziert werden können, werden keine Inhalte von weiter entfernten Datensätzen mit indiziert, sondern nur die ID des referenzierten Datensatzes, die Beschriftung (Tag LABELS) und der Werteschlüssel (Tag KEY) in den Index aufgenommen.
Das hier beschriebene Indizierungsverhalten gilt auch für referenzierte Datensätze in Seiten und Absätzen. Die Seite oder der Absatz, in der/dem sich die Eingabekomponente zur Datensatzreferenzierung befindet, stellt dabei die Pfadlänge „0“ dar. Mit indexing.relationshipPathLengthToFollow=0 würden also nur Inhalte der Seite bzw. des Absatzes indiziert. Um auch Inhalte des referenzierten Datensatzes mit zu indizieren, muss indexing.relationshipPathLengthToFollow auf den Wert „1“ gesetzt werden. |
Die Konfiguration gilt serverweit für alle Projekte.
Die Konfiguration über indexing.relationshipPathLengthToFollow kann projektspezifisch überschrieben werden, siehe Interface SearchIndexAgent (Package de.espirit.firstspirit.agency, FirstSpirit Access-API).
Auf Projekt-/Komponentenebene kann der Parameter indexTreatment verwendet werden, um die durch indexing.relationshipPathLengthToFollow definierte Pfadlänge über spezielle Tabellen hinweg manuell zu verlängern und damit quasi den Wert des Parameters indexing.relationshipPathLengthToFollow für bestimmte Eingabekomponenten zu erhöhen.
Inhalte, die aus Eingabekomponenten stammen, für die der Parameter searchRelevancy="none" gesetzt ist, werden nicht indiziert, unabhängig von der Konfiguration von indexing.relationshipPathLengthToFollow und / oder indexTreatment. |
webserver.conf-migration
Dieser Parameter wird automatisch gesetzt. Er wird vom FirstSpirit-Server verwaltet und darf nicht geändert oder gelöscht werden.
externalServerAdminGroup
Über diesen Parameter können einer oder mehreren externen Gruppen (z. B. aus LDAP) Server-Administrator-Rechte zugewiesen werden. Dazu muss der entsprechende Gruppenname angegeben werden. Alle Mitglieder dieser externen Gruppe erhalten in FirstSpirit dann Server-Administrator-Rechte.
Um mehr als eine externe Server-Administrator-Gruppe zu erstellen, wird eine eindeutige Erweiterung an den Key „externalServerAdminGroup“ angehängt, z. B.
externalServerAdminGroup.1=
externalServerAdminGroup.2=
Beispiel für eine LDAP-Definition von zwei externen Server-Administrator-Gruppen:
externalServerAdminGroup.1=CN=fs-crew,OU=FIRSTspirit,OU=Projekte,DC=e-spirit,DC=de
externalServerAdminGroup.2=CN=fs-dev,OU=FIRSTspirit,OU=Projekte,DC=e-spirit,DC=de
Diese Konfiguration überschreibt dabei Konfigurationen, die im ServerManager evtl. für betreffende Benutzer vorgenommen wurden (siehe Benutzer).
Die Eigenschaft „Server-Administrator“ wird bei externen Benutzern und Gruppenmitgliedern bei jedem Login gesetzt.
Zu weiteren Informationen siehe auch
- Informationen zu den unterschiedlichen Administratoren-Typen
- Server-Administrator-Rechte für interne Benutzer
- Anlegen externer Gruppen
devProjectAdminPermissions
Wird dieser Parameter auf true gesetzt,
devProjectAdminPermissions=true
können Projekt-Administratoren per API oder über die entsprechenden fs-cli Kommandos neue Projekte anlegen. Sie werden in dem neuen Projekt automatisch als Benutzer hinzugefügt und in die Gruppe „Administratoren“ aufgenommen, so dass sie es weiter konfigurieren können.
Hinweis: Projekt-Administratoren sind alle User, die auf einem bereits bestehenden Projekt des Servers Mitglieder einer entsprechenden Gruppe sind.
Der Parameter erlaubt es Projekt-Administratoren nicht, ein neues Projekt über den FirstSpirit ServerManager anzulegen. |
maxProjectCount
Über diesen Parameter ist es möglich, die maximale Anzahl an Projekten auf dem Server einzuschränken.
Hinweis: Die in der Lizenz vorgegebene Anzahl an Projekten kann hierbei nicht überschritten werden!
externalUserGroup
Ist dieser Parameter gesetzt, können sich nur externe User anmelden, die einer externen Gruppe angehören, die zu dem angegebenen Wert passt.
Der angegebene Wert muss ein Teilstring des kompletten Gruppennamens sein.
Beispiel:
externalUserGroup.1=CN=admin,OU=FIRSTspirit,OU=Projekte,DC=e-spirit,DC=de
Ist der externe Benutzer nicht in den erforderlichen Gruppen enthalten, um sich erfolgreich anzumelden, wird dies wie folgt im Log festgehalten:
WARN 22.07.2022 13:29:38.101 (de.espirit.firstspirit.server.sessionmanagement.SessionManagerImpl): login failed (authentication for 'xyz' successful but the the user is not a member of an allowed group)!
externalGroupFilter
Standardmäßig werden bei der Anmeldung eines Benutzers, der sich über einen externen Provider (z.B. LDAP, SAML Identity Provider) authentifiziert, die vollständigen Gruppeninformationen, die übermittelt werden, in FirstSpirit gespeichert.
Über diesen Parameter kann mithilfe eines regulären Ausdrucks definiert werden, welche Teilmenge der Gruppeninformationen von FirstSpirit übernommen werden sollen.
Beispiel:
externalGroupFilter=.*(csm_admin|FirstSpirit).*
localGroupManagementDisabled
Standardmäßig können Projekt-Administratoren (interne) Gruppen anlegen, bearbeiten und löschen (siehe dazu auch Seite Gruppen).
Um Projekt-Administratoren dieses Recht zu entziehen, kann folgender Parameter gesetzt werden:
localGroupManagementDisabled=true
In diesem Fall können interne Gruppen nur noch von Server-Administratoren modifiziert werden.
Für Projekt-Administratoren wird das entsprechende Kontextmenü im Bereich Gruppen ausgeblendet, Im Log wird eine java.lang.SecurityException festgehalten.
Externe Gruppen sind von dieser Einschränkung nicht betroffen und können weiterhin von Projekt-Administratoren modifiziert werden, auch wenn der Parameter auf true gesetzt ist.
externalLauncherGroup
Ab FirstSpirit 2021-02 werden SiteArchitect und ServerManager automatisch für alle Benutzer über den FirstSpirit Launcher gestartet. Die Möglichkeit, die FirstSpirit-Desktop-Anwendungen über Java Web Start zu starten entfällt. Bei Verwendung des Parameters externalLauncherGroup, wird beim Start des FirstSpirit-Servers die folgende Meldung im Log ausgebenen:
WARN(...): External launcher groups are configured. This is deprecated since the launcher is always active for all users (...)
Der Parameter sollte aus der Konfiguration entfernt werden.
Bis FirstSpirit 2021-02: Über diesen Parameter können für eine oder mehrere externe Gruppen (z. B. aus LDAP) die Verbindungseinstellungen für den Start des SiteArchitect und ServerManager von Java Web Start (Standard) auf den FirstSpirit Launcher (siehe FirstSpirit Launcher ) umgestellt werden. Dazu muss der entsprechende Gruppenname angegeben werden. Alle Mitglieder dieser externen Gruppe starten die Anwendungen anschließend über den FirstSpirit Launcher. Der Parameter sollte gesetzt werden, wenn die Verteilung des FirstSpirit Launcher zentral über eine Gruppenrichtlinie erfolgt (siehe „Einleitung (→Installationsanleitung)“). Ist der Parameter externalLauncherGroup nicht gesetzt, steht unabhängig davon jedem Benutzer auf der Startseite der Download des Launchers zur Verfügung. Über die Verbindungseinstellungen der Startseite kann die Verwendung des Launchers lokal aktivieren werden. (Option FirstSpirit Launcher verwenden).