IES Konfiguration: Unterschied zwischen den Versionen
Sed (Diskussion | Beiträge) |
Sed (Diskussion | Beiträge) |
||
Zeile 158: | Zeile 158: | ||
In der IES-Konfiguration (XML-Encoded) sind das z.B. wie folgt aus: | In der IES-Konfiguration (XML-Encoded) sind das z.B. wie folgt aus: | ||
<source lang="xml"> | <source lang="xml"> | ||
− | <property name="systemIdentification" value="{label:"Testsystem",color:" | + | <property name="systemIdentification" value="{label:"Testsystem",color:"#fc9c34"}" /> |
</source> | </source> | ||
Version vom 14. Mai 2021, 09:28 Uhr
IES-Konfiguration
Der IES ist ein Java-Prozess, dessen Start-Parameter in der Datei /etc/sitepark/sitepark.conf
konfiguriert wird. Hier werden Angaben zum Speicherverbrauch o.ä. vorgenommen. Details hierzu finden Sie hier für Linux.
Der IES selber wird über eine zentrale XML-Datei gesteuert. Die Konfiguration erfolgt automatisch über die graphische Oberfläche des IESAdmin. Hier wird dennoch die Struktur der Datei kurz aufgeführt. Einige sehr spezielle Optionen lassen sich nur in dieser Datei anpassen. Der Aufruf von
iesadmin reload-config
bzw. der entsprechende Button im IESAdmin-Webinterface laden diese Datei neu ein.
Beispiel einer ies-server.xml
<?xml version="1.0" encoding="UTF-8"?>
<ies-server>
<!-- System-Bundles bilden typische Kombinationen von Modulen ab -->
<bundles>
<bundle>cms</bundle>
</bundles>
<!-- Globale Parameter -->
<settings>
<property name="dataDir" value="/srv/sitepark/data" />
<property name="sessionTimeout" value="120" />
<property name="maxRepositoryVersions" value="50" />
<property name="maxObjectCacheSize" value="10000" />
<property name="objectCacheLifetime" value="43200" />
<property name="maxLockTime" value="10" />
<property name="defaultLocale" value="de_DE" />
<property name="privateCryptKey" value="963249068513792696390639" />
<property name="availableLocales" value="cs,de,en,es,et,fr,hu,it,lt,lv,nl,pt,ro,sk,sl,cs_CZ,da_DK,de_AT,de_CH,de_DE,de_LU,el_GR,en_GB,en_IE,es_ES,fr_BE,fr_CH,fr_FR,fr_LU,hu_HU,it_CH,it_IT,ja_JP,nl_BE,nl_NL,pl_PL,pt_PT,ru_RU,sk_SK,sv_SE,tr_TR,zh_CN" />
<property name="bindbScaleSteps" value="40,100,500,h40" />
<property name="iesadmin.update.url" value="http://user:password@ies.sitepark.com/updater/" />
<property name="http.proxyHost" value="" />
<property name="http.proxyPort" value="" />
<property name="https.proxyHost" value="" />
<property name="https.proxyPort" value="" />
<property name="http.nonProxyHosts" value="localhost,127.0.0.1" />
</settings>
<!-- Zugriffe auf IESAdmin -->
<security>
<user login="manager" password="b29fa62a183463dd119bf22cde912b9f" roles="management" />
</security>
<!-- Konfiguration des Logging -->
<logging>
<appender name="IES" type="rolling-file" file="/srv/sitepark/ies.log" append="true" maxFileSize="100MB" maxBackups="1" />
<logger name="com.sitepark.ies" level="TRACE" appender="IES" />
<logger name="com.sitepark.ies.management.servlet" level="ERROR" appender="IES" />
<logger name="com.sitepark.imgfile" level="ERROR" appender="IES" />
<logger name="net.sf.jmimemagic" level="ERROR" appender="IES" />
</logging>
<!-- Datenbank- und Mandanten-Konfigurationen und Root-Zugänge der jeweiligen Datenbank-Server -->
<persistence>
<admin type="1" host="localhost" user="root" password="secret" />
<db id="1" name="testdb" type="1" host="localhost" port="3306" database="testdb" user="testdbuser" password="sdfg346hjk" is-ies-database="true" parameter="useUnicode=true,connectionCollation=utf8_general_ci,characterEncoding=UTF-8">
<client id="1" anchor="testclient" name="Testsystem" webapps="infosite," disabled="false">
<attributes />
<ref element="publisher" id="1" type="file" />
<ref element="publisher" id="2" type="file" />
<ref element="publisher" id="3" type="database" />
</client>
</db>
<db id="2" name="dbpublisher" type="1" host="localhost" port="3306" database="dbpublisher" user="dbpublisher" password="24dfh578s234" is-ies-database="false" parameter="useUnicode=true,connectionCollation=utf8_general_ci,characterEncoding=UTF-8" />
</persistence>
<!-- Konfiguration der IES Dienste -->
<services>
<service id="lock-scheduler" status="stop" />
<service id="publisher" />
<service id="link" />
<service id="ldap" />
<service id="email-validator" />
<service id="compiler" />
<service id="report" />
<service id="article-observer" />
<service id="counter" disabled="false" />
<service id="linktree" />
<service id="r" />
<service id="task" />
<service id="indexer">
<!-- Konfiguration von Indices werden innerhalb des Service abgelegt -->
<index id="1" anchor="testindex" client="100010100000000000-0" name="testindex" indexdir="/srv/sitepark/data/indexes/1-1/testindex">
<field name="sp_headline" default="" type="text" boost="2.0" store="true" />
</index>
</service>
<service id="ldap-import" />
<service id="observer" />
<service id="dependencies" disabled="false" />
</services>
<!-- Optionale Konfiguration einer LDAP Anbindung -->
<ldap />
<!-- Konfiguration der Publisher (jeder Publisher-Typ wird in einem separatem Bereich konfiguriert) -->
<publisher>
<file>
<file-publisher id="1" name="www.domain.loc" document-root="/var/www/domain.loc/www" url="http://www.domain.loc" locale="default" is-module="true" encoding="UTF-8" personalization-datasource="1" aliases="https://domain.loc
https://www.domain.loc
http://domain.loc" anchor="www">
<attributes />
</file-publisher>
<file-publisher id="2" name="preview.domain.loc" document-root="/var/www/domain.loc/preview" url="http://preview.domain.loc" encoding="UTF-8" is-module="false" locale="default" aliases="http://preview.domain.loc/irgendwo
http://preview.domain.loc:80
http://preview.domain.loc:80/irgendwo/">
<attributes />
</file-publisher>
</file>
<database>
<database-publisher id="3" name="DB" database="2">
<attributes />
</database-publisher>
</database>
</publisher>
<!-- Konfiguration der Module -->
<modules>
<module id="ies" disabled="false" />
<module id="infosite" disabled="false" />
</modules>
</ies-server>
Erweiterte Datenbank-Parameter
Für die Konfiguration von Datenbank-Verbindungen im IES können neben den Parametern die im IES-Admin konfiguriert werden können noch folgende, erweiterte Setzungen vorgenommen werden:
- max-pool-size="20"
- Konfiguration des Pools für parallelen Datenbank-Verbindungen
- Dieser Wert kann u.U. bei vielen Live-Zugriffen erhöht werden. Entsprechende Meldungen in den Log-Files würden dann darauf hinweisen. (Default: 20)
- blocking-timeout-millis="30000"
- Konfiguration der Dauer in Millisekunden, die der IES maximal auf eine Datenbank-Verbindungen des Pools wartet
- Auch dieser Wert muss i.d.R. nicht verändert werden. (Default: 30000)
- track-statements="false"
- Erweitertes Logging bei Datenbank-Problemen
- Dieser Wert wird aktuell noch nicht verwendet. (Default: false)
Diese müssen bei Bedarf direkt in der Konfiguration der jeweiligen Datenbankverbindung angegeben werden. Danach bleiben diese auch bei Änderungen im IESAdmin erhalten.
IES-Backupverzeichnis ($SITEPARK_BACKUP
)
Im Backupverzeichnis werden alle Daten zur Sicherung von Mandanten gespeichert. Dieses Verzeichnis sollten Sie regelmäßig über ein externes Backup sichern. Informationen zum Thema IES Backup finden Sie hier.
Über das Property backupDir
kann das Backupverzeichnis des IES geändert werden. Ist keine Konfiguration vorhanden, so wird der Ordner $SITEPARK_HOME/backup
angenommen. Stellen sicher, dass der IES wieder vollen Zugriff auf den Ordner erhält (chown -R ies.ies).
IES-Datenverzeichnis ($SITEPARK_DATA
)
Im Datenverzeichnis des IES werden alle Daten der Module und die BinDB
mit allen Medien gespeichert.
Über das Property dataDir
kann das Datenverzeichnis des IES geändert werden. Neben Sie ein Anpassung nur vor, wenn der IES gestoppt wurde. Verschieben Sie alle alten Daten entsprechend in das neue Verzeichnis und stellen sicher, dass der IES wieder vollen Zugriff erhält (chown -R ies.ies).
Zugriff auf den IES per Ilink, wenn dieser per htaccess geschützt ist
In diesem Fall muss der Browser via JavaScript entsprechende Header setzen. Dazu sind im Webserver folgende HEADER-Setzungen zu machen:
Header set Access-Control-Allow-Origin "https://www.website.de" Header set Access-Control-Allow-Methods "POST, GET, OPTIONS" Header set Access-Control-Allow-Credentials true
Und in der IES-Konfiguration ist ein manueller Eintrag notwendig:
<property name="host.withCredentials" value="true" />
Systeme unterscheiden (Test- oder Schulungssysteme)
Es besteht die Möglichkeit eine IES-Installation global mit einem in InfoSite 6 sichtbaren Label zu versehen um z.B. eine Testsystem mit identischen Daten für die Redakteure kenntlich zu machen. Folgende Setzungen sind möglich und können pro Mandant auch noch überschrieben werden:
- Label
- Farbe (bekannter Name (z.B. "white") oder Farbcode (z.B. "#FFFFFF")
In der IES-Konfiguration (XML-Encoded) sind das z.B. wie folgt aus:
<property name="systemIdentification" value="{label:"Testsystem",color:"#fc9c34"}" />
Um im Mandanten diese globale Einstellung zu überschreiben kann in IES-Admin bei den Attributen des Mandaten folgende Setzung vorgenommen werden:
systemIdentification={label:"Demosystem"}
oder
systemIdentification={label:"Schulungssystem", color="green"}
oder um die globale Setzung zurückzunehmen
systemIdentification={}
Session-Steuerung
Das System erlaubt die freie Konfiguration der Sitzungsdauer für Redakteure und WebAccounts. Die Sitzungsdauer für WebSessions und redaktionelle Arbeiten im CMS ist in Minuten anzugeben. Hier werden die Standard-Setzungen angezeigt (2 Stunden, 10 Tage):
<property name="sessionTimeout" value="120" />
<property name="webSessionTimeout" value="14400" />
Nach Ablauf dieser Zeiten werden die Sessions in der Datenbank entfernt. Darüber hinaus können die Setzungen der notwendigen Cookies konfiguriert werden (z.B. Gültigkeit nur für die aktuelle Browser-Session).
Passwort-Steuerung
Über verschiedene, optionale Attribute in der Konfiguration kann die Verwaltung von Passwörtern gesteuert werden.
<property name="password.expirationPeriod" value="90" />
<property name="password.minLength" value="4" />
<property name="password.regexp" value="^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$" />
<property name="password.algorithm" value="scrypt" />
<property name="password.bcrypt.params" value="{cost=10}" />
<property name="password.scrypt.params" value="{N=16384,r=8,p=1}" />
<property name="password.pbkdf2.params" value="{iterations=1000,keyLength=512}" />
Gültigkeitsdauer
Nach der hier angegebenen Anzahl von Tagen wird ein Nutzer, sofern bei diesem gesetzt wurde, dass das Passwort zeitlich limitiert ist, eine Meldung ausgegeben, die zur Neueingabe eines Passwortes auffordert. Neben der globalen Konfiguration kann diese Funktion auch über folgendes Attribut am Mandanten konfiguriert werden (default 90 Tage):
password.expirationPeriod
Minimale Passwort-Länge
Anzahl der Zeichen, die ein Passwort mind. lang sein soll.
password.minLength
Regulärer Ausdruck als Regel für Passwörter
Über einen regulären Ausdruck kann die Eingabe von beliebig komplizierten Passwörtern vorgegeben werden. Beachten Sie bitte, dass in den einzelnen Applikationen u.U. kein entsprechender Hinweis bzgl. der Syntax erscheint.
password.regexp
Beispiel:
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$ ^ # Beginn des Passwortes (?=.*[0-9]) # min. eine Zahl (?=.*[a-z]) # mind. ein kleingeschriebener Buchstabe (?=.*[A-Z]) # mind. ein großgeschriebener Buchstabe (?=.*[@#$%^&+=]) # mind. eins dieser Sonderzeichen "@#$%^&+=" (?=\S+$) # Leerzeichen sind nicht erlaubt .{8,} # mind. 8 Zeichen $ # Ende des Passwortes
Algorithmus zur Verschlüsselung
Hier kann der verwendete Algorithmus zur Laufzeit angepasst werden. Loggt sich ein Nutzer erfolgreich ein, so wird das Passwort automatisch mit den hier gemachten aktuellen Setzung neu generiert und in der Datenbank gespeichert (Default: PBKDF2: https://de.wikipedia.org/wiki/PBKDF2).
- PBKDF2
- scrypt
- bcrypt
- md5
- sha (1, 256, 384, 512)
- unixcrypt
password.algorithm
Steuerung des Algorithmus zur der Verschlüsselung
Je nach Algorithmus kann u.U. noch Einfluss auf die Generierung von Passwörtern genommen werden. Drei Algorithmen erlauben hier feinere Anpassungen und haben eigene Attribute zur Steurerung.
password.bcrypt.params Default: "{cost=10}"
password.scrypt.params Default: "{N=16384,r=8,p=1}", auf virtuellen Servern u.U. wie folgt zu reduzieren: "{N=1024, r=1, p=1}"
password.pbkdf2.params Default: "{iterations=1000,keyLength=512}"
sitepark.conf
IES_OPTS
Java Optionen die mit -D angegeben werden
Chunked transfer encoding für die Kommunikation vom IES z.b. zum IES-Webnode deaktivieren. Dies ist in der Regel nur dann notwendig, wenn die Kommunikation über einen Proxy läuft und dieser Chunked transfer encoding via POST nicht unterstütz (sehr alte Proxies)
com.sitepark.net.HttpClient.disableChunked=true
Deaktivieren des nice-Mode für ImageMagick. Die Bildberechnung läuft standardmäßig im nice-Level 19 (niedrigste Priorität) um bei z.B. Massenimporten mit Bildberechnung die redaktionelle Arbeit nicht zu behindern. Mit dem Setzen der Priorität von 0 kann der Nice-Moduls deaktiviert werden. Bei Angabe eines anderen Wertes wird dieser für den nice-Aufruf übernommen.
com.sitepark.imgfile.imagemagick.command.Command.priority=0
Mail-Server Konfiguration
Der Mail-Server wird anders als die IES-Konfigurationen global für den JBoss (in dem der IES läuft) konfiguriert. Wir empfehlen hier die Einstellungen mit einem lokalen Mail-Server zu belassen und eine entsprechende Weiterleitung des SMTP-Dienstes zu konfigurieren. Details hierzu finden Sie hier.
Möchten Sie dennoch, dass Emails des IES direkt an einen externen Mailserver gesendet werden, so ist dies über Anpassungen an folgender Konfigurationsdatei möglich:
$SITEPARK_HOME/jboss/server/default/deploy/mail-service.xml
Hier können Sie die gewünschten Parameter anpassen. I.d.R. ist lediglich der Wert für mail.smtp.host
zu ändern. Ein IES-Neustart ist bei Änderungen erforderlich.