https://wiki.sitepark.com/api.php?action=feedcontributions&user=Sed&feedformat=atomSiteparkWiki - Benutzerbeiträge [de]2024-03-29T14:45:08ZBenutzerbeiträgeMediaWiki 1.35.1https://wiki.sitepark.com/index.php?title=Systemvoraussetzungen&diff=10697Systemvoraussetzungen2024-03-27T14:44:14Z<p>Sed: /* Linux */</p>
<hr />
<div>Systemvoraussetzungen für Neuinstallationen und den Betrieb des [[IES]].<br />
<br />
<div class="note"><br />
Da sich die als Voraussetzungen genannten Komponenten kontinuierlich weiterentwickeln und wir dieses Wiki nicht im gleichen Takt anpassen können, möchten wir Sie bitten vor einer Installation stets Kontakt mit uns aufzunehmen um die konkreten Anforderungen abzustimmen. Dies macht auch im Bezug auf die Skalierung der Systeme Sinn. Gerne beraten wir Sie hierzu.<br />
support@sitepark.com<br />
</div><br />
<br />
==Betriebssysteme==<br />
Wir unterstützen nur 64bit-Linux-Systeme.<br />
<br />
===Linux===<br />
<div class="note"><br />
Grundsätzlich sollten immer die neuesten Versionen eines Betriebssystem für Neuinstallationen eingesetzt werden; wir behalten uns vor, bestimmte Updates von Softwareversionen (z.B. PHP) abhängig zu machen.<br />
</div><br />
Es werden aktuell nur noch folgende Distributionen unterstützt:<br />
* Ubuntu Server in den aktuellen LTS-Versionen (z.Z. 22.04) '''[empfohlen]'''<br />
* Debian (ab Version 10)<br />
* Suse (nur in Abstimmung)<br />
* Redhat/CentOS (nur in Abstimmung)<br />
<br />
Zukünftige Entwicklungen können es notwendig machen, dass Zugriff auf Online-Repositories der Linux-Distributionen besteht, um neueste oder benötige Pakete nachträglich installieren zu können; Sitepark achtet darauf, dass in den Standard-Repositories der Distributionen jeweils Pakete vorhanden sind, die die Lauffähigkeit der Software sicher stellen. Dennoch sind gerade im Bereich PHP mittelfristig Updates zu erwarten, die Alternativen erfordern. Weiterentwicklungen und Sicherheitsupdates sowie Abhängigkeiten von Open-Source-Bibliotheken erfordern hier häufig aktuelle Versionen. <br />
<br />
====Abhängigkeiten====<br />
* MySQL 8.0+ oder MariaDB 10.3+<br />
* Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>)<br />
* ImageMagick (http://www.imagemagick.org/)<br />
* MediaInfo (https://mediaarea.net/de/MediaInfo)<br />
* rsvg-convert (https://de.wikipedia.org/wiki/Librsvg)<br />
* curl, grep, egrep, netstat, ps, tail, useradd, groupadd, chown, sum, awk, head, nm, bc, sudo<br />
* supervisor<br />
Die hier genannten Abhängigkeiten sind durch die aufgeführten Distributionen erfüllbar und werden teilweise bereits automatisch installiert.<br />
<br />
(''Hinweis:'' Je nach Linux-Distribution sind einzelne Tools zum Beispiel in Paketen wie <code>net-tools</code>, <code>coreutils</code>, <code>binutils</code>, <code>passwd</code> und anderen organisiert.)<br />
<br />
Für Websites auf Basis der <code>Sitekit</code>-Technologie gelten weitern folgende Voraussetzungen:<br />
* Locales in allen gewünschten Sprachen der Websites (gerne installieren wir hier direkt alle Sprachen um der Redaktion freie Hand zu lassen)<br />
* mind. PHP 7.4+, PHP 8.x (siehe auch [[Installationsanleitung PHP]]), Empfehlung: PHP-FPM<br />
<br />
(''Hinweis:'' Gerade die verwendete PHP-Version wird regelmäßig auf aktuelle Major-Versionen aktualisiert werden müssen. Ein Betrieb wie früher, bei dem eine PHP-Version über Jahre verwendet werden konnte ist aufgrund der vielen Abhängigkeiten zu Opensource-Bibliotheken nicht mehr möglich. Hier muss man dem Update-Pfaden folgen.)<br />
<br />
==Hardware==<br />
Die Leistungsstärke der Hardware ist in Abhängigkeit zum zu realisierenden Projekt individuell unterschiedlich. Die hier angegebenen Anforderungen und Empfehlungen sind als Richtwerte zu verstehen.<br />
<br />
Relevante Kenngrößen sind die CPU-Leistungsfähigkeit, die RAM-Größe, die Zugriffsgeschwindigkeit auf die Speichergeräte (Festplatten) und die Netzwerkanbindung.<br />
<br />
Der IES hält während des Betriebs im optimalen Fall alle von ihm verwaltetet Daten im Arbeitsspeicher, ebenso sollte die MySQL-Datenbank komplett dort liegen. Auslagerungen auf die Festplatte bremsen das System unnötig aus. Der IES schreibt datenbankunabhängige echte Webseiten auf die Festplatte. Diese Dateien werden vom Webserver ausgeliefert; dabei findet kein Datenbankzugriff mehr statt. Ein schnelles Schreiben der Daten für den Webserver (Festplatten-Schreib-Geschwindigkeit) ist ebenso notwendig wie ein schnelles Lesen der Daten für die Auslieferung. Wenn das Dateisystem für den die Seiten ausliefernden Webserver über das Netzwerk verfügbar gemacht wird, ist die Netzwerkgeschwindigkeit ebenfalls für ein performantes Gesamtsystem sehr wichtig.<br />
<div class="note"><br />
Die Anforderungen können sich während des Betriebs des IES je nach Anwendungsszenario und Veränderungen in der Datenmenge oder Nutzermenge verändern. Mehr Daten benötigen mehr Speicherplatz (RAM und Festplatte), höhere Nutzungsfrequenzen benötigen schnellere bzw. breitere Netzwerk-Anbindungen und CPU-Leistungsfähigkeit. Wir empfehlen den Betrieb in einer virtuellen Umgebung, damit Sie flexibel auf Änderungen der Anforderungen reagieren können.<br />
</div><br />
<br />
===Architektur===<br />
Wir empfehlen ausdrücklich die Trennung von CMS-System und Webserver. Diese können dabei in verschiedenen Netzwerk-Zonen liegen und arbeiten weitestgehend autonom voneinander. Dies ist eine Kern-Funktion des IES und schützt dadurch die Daten noch besser vor Angriffen.<br />
Das CMS schreibt idealerweise die Daten in lokale DocumentRoots, die dann per <code>rsync</code> auf die Webserver (Cluster möglich) übertragen werden. Details hierzu erfragen Sie gerne bei uns.<br />
<br />
===Minimal-Anforderung===<br />
Prozessor P4 1GHZ 64bit, 2 GB Hauptspeicher PLUS die 1,2-fache Menge der Größe der MySQL-Datenbank, 18 GB HDD, Netzwerk<br />
<br />
===Empfehlung===<br />
Mehrprozessorsystem (z.B. QuadCore) ~3GHz 64Bit, >=8 GB RAM die 2-fache Menge der Größe der MySQL-Datenbank, RAID-10-System mit 100 GB SSD, Gbit-Netzwerk<br />
<br />
Die Schreib- und Lesezugriffe auf die Festplatte sollten für ein performantes Arbeiten folgende Werte (im Durchschnitt) nicht unterschreiten: <strong>Lesen 300MB/sek, Schreiben 120MB/sek</strong>.<br />
<br />
==Java==<br />
===JDK - Java Development Kit===<br />
Wird von System mit geliefert und aktuell gehalten.<br />
<br />
==Webserver==<br />
===Apache 2===<br />
Weitere Informationen finden Sie unter http://www.apache.org<br />
Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>).<br />
<br />
Empfohlene Module für die Integration des IES in den Apache:<br />
mod_proxy<br />
mod_proxy_balancer<br />
mod_proxy_http<br />
mod_rewrite<br />
mod_ssl<br />
mod_headers <br />
<br />
Informationen zur Konfiguration finden Sie unter [[Integration des IES in den Apache]].<br />
<br />
Für die Auslieferung von Webseiten wird PHP benötigt; der Webserver benötigt dann verschiedene PHP-Erweiterungen [[Installationsanleitung PHP]].<br />
<br />
==Datenbank==<br />
===MySQL / MariaDB===<br />
Weitere Informationen finden Sie unter<br />
* http://www.mysql.com<br />
* http://mariadb.org<br />
<br />
Engine: InnoDB<br />
MySQL in der Version >= 8.0.1+<br />
MariaDB in der Version >= 10.3+<br />
<br />
Zur Konfiguration finden Sie unter [[Hinweise zu MySQL]] wichtige Informationen.<br />
<br />
==Mailserver==<br />
Wird ein MailPublisher verwendet empfehlen wir aus unterschiedlichen Gründen die Installation eines lokalen Mailservers (Sendmail, Postfix, QMail, etc.) auch wenn in dem entsprechendem Netzwerk ein separater Mailserver konfiguriert wurde.<br />
<br />
Gründe für den Einsatz eines lokalen Mailservers:<br />
# Die Publikation von Artikeln über den Mail-Publisher ist wesentlich schneller, da keine Netzwerk-Kommunikation notwendig ist. Gerade beim Versand von Newslettern an sehr viele Adressaten ist hier ein signifikanter Performanzvorteil zu erkennen.<br />
# Bei Problemen im lokalen Netzwerk bzw. der temp. Überlastung des Mailservers werden keine E-Mails verschickt. Ein späterer Versand würde nicht erfolgen, da der IES nicht ''spooled''. Dies ist Aufgabe eines Mailservers und würde durch einen lokalen Mailserver auf ideale Weise erfüllt.<br />
<br />
Die Konfiguration des lokalen Mailservers sollte daher bereits bei der Installation des IES erfolgen. Der IES ist grundsätzlich für die lokale E-Mail-Auslieferung konfiguriert.<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 100]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Systemvoraussetzungen&diff=10696Systemvoraussetzungen2024-03-27T14:44:01Z<p>Sed: /* Linux */</p>
<hr />
<div>Systemvoraussetzungen für Neuinstallationen und den Betrieb des [[IES]].<br />
<br />
<div class="note"><br />
Da sich die als Voraussetzungen genannten Komponenten kontinuierlich weiterentwickeln und wir dieses Wiki nicht im gleichen Takt anpassen können, möchten wir Sie bitten vor einer Installation stets Kontakt mit uns aufzunehmen um die konkreten Anforderungen abzustimmen. Dies macht auch im Bezug auf die Skalierung der Systeme Sinn. Gerne beraten wir Sie hierzu.<br />
support@sitepark.com<br />
</div><br />
<br />
==Betriebssysteme==<br />
Wir unterstützen nur 64bit-Linux-Systeme.<br />
<br />
===Linux===<br />
<div class="note"><br />
Grundsätzlich sollten immer die neuesten Versionen eines Betriebssystem für Neuinstallationen eingesetzt werden; wir behalten uns vor, bestimmte Updates von Softwareversionen (z.B. PHP) abhängig zu machen.<br />
</div><br />
Es werden aktuell nur noch folgende Distributionen unterstützt:<br />
* Ubuntu Server in den aktuellen LTS-Versionen (z.Z. 22.04) '''[empfohlen]'''<br />
* Debian (ab Version 10)<br />
* Suse (nur in Abstimmung)<br />
* Redhat (nur in Abstimmung)<br />
<br />
Zukünftige Entwicklungen können es notwendig machen, dass Zugriff auf Online-Repositories der Linux-Distributionen besteht, um neueste oder benötige Pakete nachträglich installieren zu können; Sitepark achtet darauf, dass in den Standard-Repositories der Distributionen jeweils Pakete vorhanden sind, die die Lauffähigkeit der Software sicher stellen. Dennoch sind gerade im Bereich PHP mittelfristig Updates zu erwarten, die Alternativen erfordern. Weiterentwicklungen und Sicherheitsupdates sowie Abhängigkeiten von Open-Source-Bibliotheken erfordern hier häufig aktuelle Versionen. <br />
<br />
====Abhängigkeiten====<br />
* MySQL 8.0+ oder MariaDB 10.3+<br />
* Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>)<br />
* ImageMagick (http://www.imagemagick.org/)<br />
* MediaInfo (https://mediaarea.net/de/MediaInfo)<br />
* rsvg-convert (https://de.wikipedia.org/wiki/Librsvg)<br />
* curl, grep, egrep, netstat, ps, tail, useradd, groupadd, chown, sum, awk, head, nm, bc, sudo<br />
* supervisor<br />
Die hier genannten Abhängigkeiten sind durch die aufgeführten Distributionen erfüllbar und werden teilweise bereits automatisch installiert.<br />
<br />
(''Hinweis:'' Je nach Linux-Distribution sind einzelne Tools zum Beispiel in Paketen wie <code>net-tools</code>, <code>coreutils</code>, <code>binutils</code>, <code>passwd</code> und anderen organisiert.)<br />
<br />
Für Websites auf Basis der <code>Sitekit</code>-Technologie gelten weitern folgende Voraussetzungen:<br />
* Locales in allen gewünschten Sprachen der Websites (gerne installieren wir hier direkt alle Sprachen um der Redaktion freie Hand zu lassen)<br />
* mind. PHP 7.4+, PHP 8.x (siehe auch [[Installationsanleitung PHP]]), Empfehlung: PHP-FPM<br />
<br />
(''Hinweis:'' Gerade die verwendete PHP-Version wird regelmäßig auf aktuelle Major-Versionen aktualisiert werden müssen. Ein Betrieb wie früher, bei dem eine PHP-Version über Jahre verwendet werden konnte ist aufgrund der vielen Abhängigkeiten zu Opensource-Bibliotheken nicht mehr möglich. Hier muss man dem Update-Pfaden folgen.)<br />
<br />
==Hardware==<br />
Die Leistungsstärke der Hardware ist in Abhängigkeit zum zu realisierenden Projekt individuell unterschiedlich. Die hier angegebenen Anforderungen und Empfehlungen sind als Richtwerte zu verstehen.<br />
<br />
Relevante Kenngrößen sind die CPU-Leistungsfähigkeit, die RAM-Größe, die Zugriffsgeschwindigkeit auf die Speichergeräte (Festplatten) und die Netzwerkanbindung.<br />
<br />
Der IES hält während des Betriebs im optimalen Fall alle von ihm verwaltetet Daten im Arbeitsspeicher, ebenso sollte die MySQL-Datenbank komplett dort liegen. Auslagerungen auf die Festplatte bremsen das System unnötig aus. Der IES schreibt datenbankunabhängige echte Webseiten auf die Festplatte. Diese Dateien werden vom Webserver ausgeliefert; dabei findet kein Datenbankzugriff mehr statt. Ein schnelles Schreiben der Daten für den Webserver (Festplatten-Schreib-Geschwindigkeit) ist ebenso notwendig wie ein schnelles Lesen der Daten für die Auslieferung. Wenn das Dateisystem für den die Seiten ausliefernden Webserver über das Netzwerk verfügbar gemacht wird, ist die Netzwerkgeschwindigkeit ebenfalls für ein performantes Gesamtsystem sehr wichtig.<br />
<div class="note"><br />
Die Anforderungen können sich während des Betriebs des IES je nach Anwendungsszenario und Veränderungen in der Datenmenge oder Nutzermenge verändern. Mehr Daten benötigen mehr Speicherplatz (RAM und Festplatte), höhere Nutzungsfrequenzen benötigen schnellere bzw. breitere Netzwerk-Anbindungen und CPU-Leistungsfähigkeit. Wir empfehlen den Betrieb in einer virtuellen Umgebung, damit Sie flexibel auf Änderungen der Anforderungen reagieren können.<br />
</div><br />
<br />
===Architektur===<br />
Wir empfehlen ausdrücklich die Trennung von CMS-System und Webserver. Diese können dabei in verschiedenen Netzwerk-Zonen liegen und arbeiten weitestgehend autonom voneinander. Dies ist eine Kern-Funktion des IES und schützt dadurch die Daten noch besser vor Angriffen.<br />
Das CMS schreibt idealerweise die Daten in lokale DocumentRoots, die dann per <code>rsync</code> auf die Webserver (Cluster möglich) übertragen werden. Details hierzu erfragen Sie gerne bei uns.<br />
<br />
===Minimal-Anforderung===<br />
Prozessor P4 1GHZ 64bit, 2 GB Hauptspeicher PLUS die 1,2-fache Menge der Größe der MySQL-Datenbank, 18 GB HDD, Netzwerk<br />
<br />
===Empfehlung===<br />
Mehrprozessorsystem (z.B. QuadCore) ~3GHz 64Bit, >=8 GB RAM die 2-fache Menge der Größe der MySQL-Datenbank, RAID-10-System mit 100 GB SSD, Gbit-Netzwerk<br />
<br />
Die Schreib- und Lesezugriffe auf die Festplatte sollten für ein performantes Arbeiten folgende Werte (im Durchschnitt) nicht unterschreiten: <strong>Lesen 300MB/sek, Schreiben 120MB/sek</strong>.<br />
<br />
==Java==<br />
===JDK - Java Development Kit===<br />
Wird von System mit geliefert und aktuell gehalten.<br />
<br />
==Webserver==<br />
===Apache 2===<br />
Weitere Informationen finden Sie unter http://www.apache.org<br />
Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>).<br />
<br />
Empfohlene Module für die Integration des IES in den Apache:<br />
mod_proxy<br />
mod_proxy_balancer<br />
mod_proxy_http<br />
mod_rewrite<br />
mod_ssl<br />
mod_headers <br />
<br />
Informationen zur Konfiguration finden Sie unter [[Integration des IES in den Apache]].<br />
<br />
Für die Auslieferung von Webseiten wird PHP benötigt; der Webserver benötigt dann verschiedene PHP-Erweiterungen [[Installationsanleitung PHP]].<br />
<br />
==Datenbank==<br />
===MySQL / MariaDB===<br />
Weitere Informationen finden Sie unter<br />
* http://www.mysql.com<br />
* http://mariadb.org<br />
<br />
Engine: InnoDB<br />
MySQL in der Version >= 8.0.1+<br />
MariaDB in der Version >= 10.3+<br />
<br />
Zur Konfiguration finden Sie unter [[Hinweise zu MySQL]] wichtige Informationen.<br />
<br />
==Mailserver==<br />
Wird ein MailPublisher verwendet empfehlen wir aus unterschiedlichen Gründen die Installation eines lokalen Mailservers (Sendmail, Postfix, QMail, etc.) auch wenn in dem entsprechendem Netzwerk ein separater Mailserver konfiguriert wurde.<br />
<br />
Gründe für den Einsatz eines lokalen Mailservers:<br />
# Die Publikation von Artikeln über den Mail-Publisher ist wesentlich schneller, da keine Netzwerk-Kommunikation notwendig ist. Gerade beim Versand von Newslettern an sehr viele Adressaten ist hier ein signifikanter Performanzvorteil zu erkennen.<br />
# Bei Problemen im lokalen Netzwerk bzw. der temp. Überlastung des Mailservers werden keine E-Mails verschickt. Ein späterer Versand würde nicht erfolgen, da der IES nicht ''spooled''. Dies ist Aufgabe eines Mailservers und würde durch einen lokalen Mailserver auf ideale Weise erfüllt.<br />
<br />
Die Konfiguration des lokalen Mailservers sollte daher bereits bei der Installation des IES erfolgen. Der IES ist grundsätzlich für die lokale E-Mail-Auslieferung konfiguriert.<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 100]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Installationsanleitung_InfoSite_6&diff=10675Installationsanleitung InfoSite 62023-10-26T09:55:27Z<p>Sed: /* Konfiguration der Publisher */</p>
<hr />
<div><div class="note"><br />
Bitte sprechen Sie uns vor der Inbetriebnahme von InfoSite 6 an. Wir teilen Ihnen dann die idealen Konfigurationen für Ihr System mit.<br />
</div><br />
<br />
===Allgemein===<br />
Bei der Installation / dem Update eines IES für InfoSite 6 sind folgende initiale Arbeiten auszuführen bzw. folgende Punkte zu beachten:<br />
<br />
*InfoSite sollte dringend mit SSL betrieben werden. Es ist darauf zu achten, dass ein echtes, valides Zertifikat verwendet wird, da sonst z.B. das Caching von Bildern im Chrome-Browser nicht funktioniert.<br />
*Der Volltext-Index für die ältere Mandanten muss initial einmal neu aufgebaut werden (im IES-Admin über "Dienste")<br />
*Der Apache sollte ausreichend Child-Prozesse erzeugen können. Pro Redakteur, der in InfoSite 6 arbeitet, wird neben den regulären Requests noch ein sog. Long-Polling-Request auf den Server gemacht. Dadurch wird je ein Child-Prozess des Apache gebunden. <br />
<br />
===Konfiguration===<br />
====Konfiguration des Mandanten====<br />
=====In InfoSite=====<br />
*Legen Sie in InfoSite einen neue Artikelpool mit folgendem Anker an<br />
!{ies.infp.infosite}<br />
:Dieser dient zukünftig als ''Root''-Pool für alle in Artikel, die in InfoSite bearbeitet werden können. CityGov-Artikel beispielsweise liegen in :einem Pool parallel zu diesem.<br />
<br />
:Verschieben Sie daher alle Artikelpools in diesen neuen Pool ("Artikel", "IES", "Administration", etc.).<br />
<br />
*Optionale Pool-Eigenschaften können in einem Template mit dem folgenden Anker implementiert werden:<br />
!{infosite6.informationPoolProperties}<br />
<br />
=====Allgemein (modulübergreifend)=====<br />
*Konfiguration des E-Mail-Versands für InfoSite Redakteure (z.B. beim Qualitätsmanagement oder bei Aufgaben):<br />
email.defaultSender=no-reply@sitepark.com<br />
*Konfiguration der Sitemaps in den Attributen des Mandanten über z.B. folgende JSON-Daten:<br />
Bis Version < 6.5.1<br />
<source lang="text"><br />
sitemaps=[<br />
{<br />
text:'Homepage',<br />
title:'sp_title',<br />
linkfield:'sp_parent',<br />
obj:'infe.g12.homepage'<br />
},{<br />
text:'Intranet',<br />
title:'sp_title',<br />
linkfield:'sp_parent_intranet',<br />
obj:'infe.g12.intranet'<br />
}<br />
]<br />
</source><br />
<br />
Ab Version >= 6.5.1<br />
<br />
<source lang="text"><br />
sitemaps=[<br />
{<br />
text:'Homepage',<br />
title:'sp_title',<br />
link:'**.sp_parent',<br />
obj:'infe.g12.homepage'<br />
},{<br />
text:'Intranet',<br />
title:'sp_title',<br />
link:'**.sp_parent_intranet',<br />
obj:'infe.g12.intranet'<br />
}<br />
]<br />
</source><br />
<br />
Bei Sitekit-Installationen ist der Link als "sp_parent_navigation" zu konfigurieren:<br />
<source lang="text"><br />
sitemaps=[{text:'Homepage',title:'sp_title',link:'**.sp_parent_navigation',obj:'website.home'}]<br />
</source><br />
<br />
:Die Konfiguration muss jedoch ''inline'' erfolgend, da die Attribute nicht JSON, sondern Properties erwarten:<br />
<source lang="text"><br />
sitemaps=[{text:'Homepage',title:'sp_title',link:'**.sp_parent',obj:'infe.g12.homepage'},{text:'Intranet',title:'sp_title',link:'**.sp_parent_intranet',obj:'infe.g12.intranet'}]<br />
</source><br />
<br />
*Optionale Weiterleitung auf eine i!-Link-Einstiegsseite (ehem. ilink-login.html)<br />
<source lang="text"><br />
ilinkRedirect=/ilink-login.html<br />
</source><br />
<br />
=====InfoSite 6=====<br />
*'''Synchrones Laden einzelner Bearbeitungs-Steps eines Artikels aktivieren:'''<br /> Grundsätzlich werden in InfoSite 6 alle Steps eines Artikels direkt, asynchron geladen und dargestellt. Werden nun aber Templates verwendet, bei denen einzelne Steps und Eingaben aufeinander aufbauen, so müssen die einzelnen Steps synchron, analog zu InfoSite 5, erst beim Aufruf geladen werden. Es ist möglich eine kommaseparierte Liste von Template-Ankern anzugeben um das synchrone Laden auf einzelne Templates zu beschränken. Wird diese Option auf "true" gestellt werden alle Template synchron geladen. Default ist "false":<source lang="text">infosite6.synchronousSteps=true</source><br />
Ergänzend hierzu kann ab der Version 6.3 auch eine Listen von Template-Ankern angegeben werden (Artikel-Templates, nicht einzelne Steps), die synchron geladen werden sollen.<br />
<br />
*'''Anzeige von Standard-Medieneingabefeldern verhinden:'''<br/> Ab der Version 6.3 liefert InfoSite 6 ein Standard Medientemplate mit, mit dessen Hilfe Medieneigenschaften wie z.B. Alternativtext oder Copyright-Informationen gepflegt werden können. Diese Felder haben Feste Feldnamen und stehen ggf. im Konflikt zu bereits vorhandenen Eingabefeldern an Medientemplates. Daher lassen sich diese Eingabefelder über diese Option deaktivieren. Default ist "false": <source lang="text">infosite6.disableDefaultMediaBasedata=false</source><br />
<br />
*'''Artikel-Pools, die initial geöffnet werden sollen:'''<br /><br />
<source lang="text">infosite6.expanded=['infp.g12.editorial','infp.g12.media']</source><br />
in Sitekit:<br />
<source lang="text">infosite6.expanded=['internet','website']</source><br />
<br />
*'''Initiale Zielsprache (ehem. GUISecondLanguage):'''<br /><source lang="text">infosite6.defaultLanguage=default</source><br />
<br />
*'''Debug-Option für Administratoren aktivieren:'''<br /> Debugging wird nun im Nutzerprofil gespeichert. Um den Debug-Modus zu aktivieren muss ein Aufruf auf InfoSite6 mit dem Parameter ''debug=true'' erfolgen:<source lang="text">.../ies/infosite6/index.jsp?debug=true</source>Nach diesem Aufruf wird die Debug-Option persistent im Nutzerprofil gespeichert. Um den Debug-Modus wieder zu deaktivieren muss ein Aufruf auf InfoSite6 mit dem Parameter ''debug=false'' erfolgen: <source lang="text">.../ies/infosite6/index.jsp?debug=false</source><br />
<br />
*'''Zielgruppen für Benachrichtigungen:'''<br />In InfoSite 6 besteht die Möglichkeit Nachrichten an Nutzer oder Nutzergruppen zu senden. Für den Redakteur stehen alle Nutzer und Nutzergruppen ab einem konfigurierten Einstiegspool zur Verfügung. Für den Workflow an Artikeln können eigene Nutzergruppen definiert werden. Alle Nutzer dieser Gruppen werden über eine weiteren Einstiegspool dem Redakteur angezeigt:<br />
:<source lang="text">infosite6.userGroupMessaging=Anker des gewünschten Pools</source> (ab InfoSite 6.11: Liste über [] möglich, default: ies.usrp.editorial)<br />
:<source lang="text">infosite6.userGroupWorkflow=Anker des gewünschten Pools</source> (ab InfoSite 6.11: Liste über [] möglich, default: ies.usrp.workflow)<br />
<br />
*'''Abweichender Feldname für den Seitentitel (default: sp_title):'''<br /><source lang="text">infosite6.titleField=sp_title</source><br />
<br />
*'''Einstiegs-Pool für Redakteure (default: gui.informations):'''<br /><source lang="text">infosite6.defaultEditorRoot=ies.infp.infosite</source><br />
<br />
*'''Trennung der Aktionen "Speichern" und "Publizieren" global für alle Redakteure:'''<br /><source lang="text">infosite6.specificPublication=true</source><br />
Diese Setzung kann pro Nutzer individuell unter "Einstellungen" in InfoSite 6 eingestellt werden.<br />
<br />
*'''Template-Bearbeitung direkt im Admin-Menü anzeigen lassen:'''<br /><source lang="text">infosite6.showTemplatesInMenu=true</source><br />
<br />
*'''Erhöhung der Anzahl der angezeigten History-Einträge:'''<br /><source lang="text">infosite6.historyEntries=30</source><br />
<br />
====Konfiguration der Publisher====<br />
Publisher, deren Status in den Listen dargestellt werden sollen, müssen durch folgendes Attribut in der Konfiguration gesetzt werden:<br />
<source lang="text"><br />
infosite6.showInGrid=true<br />
</source><br />
<br />
Wenn der CMS Host für einen Publisher nicht identisch mit dem generellen CMS-Host ist, dann der abweichende Host im Publisher konfiguriert werden.<br />
<source lang="text"><br />
cmsHost=alternativ.cmshost.de<br />
</source><br />
<br />
Für die Suche über Solr wird der Crawler durch den IES-Webnode auf dem Webserver gestartet. Als Basis-URL wird die im Publisher konfigurierte URL verwendet. Diese sollte aus Performance-Gründen über einen Host-Eintrag auf dem Webserver auf 127.0.0.1 gesetzt werden.<br />
<br />
Wenn auf dem Web-Server selber kein SSL konfiguriert ist, muss dies dem Publisher noch bekannt gemacht werden.<br />
<source lang="text"><br />
internalProtocol=http<br />
</source><br />
<br />
Wenn für den WebIndex (Solr-Index) keine Default-Werte vom IES gesetzt werden sollen, kann diese Option verwendet werden<br />
<source lang="text"><br />
webIndexDefaults=false<br />
</source><br />
<br />
Wenn für den WebIndex (Solr-Index) die Default-Werte vom IES in dem Schema 1.0 gesetzt werden sollen, kann diese Option verwendet werden<br />
<source lang="text"><br />
webIndexSchema=1.0<br />
</source><br />
<br />
Bei Publishern, die über eine Synchronisation auf einen entfernten Server geschrieben werden, sollte für eine Live-Vorschau eine entsprechende Staging-Domain (auf dem CMS-System) eingerichtet werden. Diese ist dann am Publisher wie folgt bekannt zu machen:<br />
<source lang="text"><br />
previewURL=http://staging.myhost.com<br />
</source><br />
<br />
Wenn ein Publisher per `rsync` (bzw. `lsyncd`) angebunden ist, kann je nach Takt der Übertragung die Live-Vorschau verzögert werden:<br />
<source lang="text"><br />
previewDelay=3<br />
</source><br />
<br />
====Optionale Konfiguration====<br />
Weiterhin sind folgende optionale Setzungen über die Attribute einzelner Module (Eigenschaften des Moduls) möglich.<br />
<br />
=====IES-API=====<br />
Warnung bei unsicherer Verbindung (kein SSL) deaktivieren (Davon sollte i.d.R. kein Gebrauch gemacht werden, da bei allen Requests stets die IES-Session übertragen wird):<br />
<source lang="text"><br />
ignoreSSL=true<br />
</source><br />
<br />
=====InfoSite 6=====<br />
Debug-Modus global aktivieren. In diesem Fall werden für alle Nutzer Sourcen geladen, die bessere Fehleranalysen erlauben:<br />
<source lang="text"><br />
debugSources=true<br />
</source><br />
<br />
Autocomplete für das Login-Formular deaktivieren (Ab Version 6.5.10)<br />
<source lang="text"><br />
loginAutocomplete=false<br />
</source><br />
<br />
=====Logging=====<br />
Im IES-Admin sollte ein serverseitiger JavaScript-Logger für Fehlermeldungen aktiviert werden. Hierzu geben Sie bitte folgende Parameter an:<br />
Name: "JavaScript.IES.Infosite6"<br />
LogLevel: "TRACE"<br />
<br />
===Weitere Hinweise===<br />
In Templates kann wie folgt abgefragt werden, ob diese innerhalb von InfoSite 6 ausgeführt werden:<br />
<source lang="text"><br />
<sp:if name="system.status.session.current.moduleId" eq="infosite6">infosite6</sp:if><br />
</source><br />
<br />
===Favoriten===<br />
Über globale Favoriten können in InfoSite 6 unterschiedliche Suchabfragen definiert werden, über die Redakteure beliebige Untermengen von Artikeln finden können.<br />
Typische Suchabfragen sind folgende:<br />
* "Wiedervorlage"<br />
* "Qualität des Inhaltes prüfen"<br />
* "Technische Defizite"<br />
<br />
Für die folgenden Suchabfragen werden entsprechende Eingabe-Templates von Sitepark vorausgesetzt. Um "Globale Suchen" anzulegen, gehen Sie bitte wie folgt vor:<br />
#Führen Sie eine API-Suche in InfoSite 6 aus<br />
#Speichern Sie diese Abfrage als Favorit (Stern in der Menüleiste)<br />
#Wechseln Sie zu den eigenen Suchen (im Reiter Favoriten)<br />
#Über das Context-Menü können Sie das Label der Abfragen anpassen<br />
#Über das Context-Menü können Sie die Suchabfrage für alle Mitarbeiter sichtbar machen (Hinweis: Jeder Mitarbeiter sieht nur die Artikel, auf die er entsprechende Rechte hat)<br />
<br />
====Wiedervorlage====<br />
SELECT id, name, {select} WHERE sp_resubmission < date() SORT name ASC,{sort} {dir} LIMIT {start}, {limit}<br />
<br />
====Qualität des Inhaltes prüfen====<br />
SELECT id, name, {select} WHERE sp_validateQualityOfContent = true SORT name ASC,{sort} {dir} LIMIT {start}, {limit}<br />
<br />
====Technische Defizite====<br />
SELECT id, name, {select} WHERE sp_technicalProblems = true SORT name ASC,{sort} {dir} LIMIT {start}, {limit}<br />
<br />
<noinclude><br />
[[Kategorie:InfoSite6]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=InfoSite_5_-_Anpassungen&diff=10666InfoSite 5 - Anpassungen2023-08-24T11:44:45Z<p>Sed: /* monitoring.search.output.csv.user */</p>
<hr />
<div>__TOC__<br />
==Beschreibung==<br />
InfoSite5 bietet unterschiedliche Möglichkeiten das Verhalten für Redakteure zu beeinflussen. Hier wird auf häufig verwendete Anpassungen eingegangen und entsprechende Beispiele präsentiert.<br />
<br />
==Ansicht der Publikationsbereiche==<br />
Publikationsbereiche können Redakteuren über Rollen differenziert zugewiesen werden. Manchmal ist es jedoch auch notwendig ''technisch'' den Zugriff zwar zu erlauben, aber den Publikationsbereich dennoch auszublenden. Das kann Verwendung finden, wenn z.B. ein bestimmter Publikationsbereich in einem Artikelpool gar nicht verwendet werden kann/darf.<br />
<br />
Auch die Sortierung der Publikationsbereiche kann durch den Administrator beeinflusst werden.<br />
<br />
InfoSite erzeugt zur Darstellung aller Publikationsbereiche eine Collection über alle Publisher, auf die der aktuelle Redakteur Rechte hat. Für diese Collection gibt es im IES-2 die Möglichkeit ein eigenes Template ausführen zulassen, in dem die Liste manipuliert werden kann.<br />
Dazu legt man in der Template-Verwaltung ein Template mit den folgenden Ankern an:<br />
gui.module.publicationstatefilter<br />
Es wird eine Collection mit dem Namen <code>_publicationstates</code> übergeben und erwartet.<br />
<br />
Das Template könnte, um die beiden unterschiedlichen Objekttypen korrekt zu verarbeiten folgende Struktur haben:<br />
<source lang="xml"><br />
<%-- Publikationsbereiche nach Namen sortieren --%><br />
<sp:sort name="_publicationstates" collection="_publicationstates" keys="name"/><br />
<sp:filter name="_publicationstates" collection="_publicationstates" attribute="id.attributes.hideInInfosite5GUI" filter="true" invert="true"/><br />
</source><br />
In diesem Fall werden die Publisher nach Name sortiert und alle Publisher, die in der Konfiguration ein Attribute <code>hideInInfosite5GUI</code> mit dem Wert <code>true</code> haben, werden ausgenommen. Natürlich kann hier eine beliebige Logik implementiert werden.<br />
<br />
<br />
==Ansicht der ArtikelListen in dem Popup von spt:link ==<br />
Die Liste der Elemente, die im Dialog des <code>spt:link</code> Tags auf der rechten Seite angezeigt werden, kann über einen Slot nachträglich gefiltert werden. Das Slot Template muss den Anker:<br />
<code>gui.module.linkListFilter</code> <br />
besitzen. Es kann sowohl innerhalb des aktuellen Mandanten als auch innerhalb eines Moduls angelegt sein, welches den Tag verwendet. Sollte der Infositer-5 Tag innerhalb eines anderen Moduls verwendet werden, muss vor dem Aufruf des Tags die Variable <code>spt_module</code> mit der Id des jeweiligen Moduls gesetzt werden.<br />
<br />
Innerhalb des Slot-Templates kann auf die Artikelliste <code>elementList</code> zugegriffen werden, um diese zu verändern oder Artikel heraus zu filtern. <br />
<br />
Es gibt zusätzlich die Möglichkeit, die heraus gefilterten Artikel unterhalb der regulären Liste ausgeben zu lassen. Dazu müssen die Artikel lediglich in die Liste <code>rejectedEementList</code> gesichert werden.<br />
<br />
Beispiel:<br />
<source lang="xml"><br />
<%-- filtert alle Elemente heraus, auf die mit dem Namen 'sp_link' vom Typ systemlink verknüpft wird. --%><br />
<sp:filter name="rejectedElementList" collection="elementList" <br />
attribute="referrerLinks('sp_link.systemlink')" filter="" invert="true" /><br />
<sp:sort name="rejectedElementList" collection="outFilteredList" keys="name"/><br />
<sp:filter name="elementList" collection="elementList" <br />
attribute="referrerLinks('sp_link.systemlink')" filter="" invert="false" /><br />
</source><br />
<br />
<br />
==Optionale Attribute für InfoSite==<br />
Im IES-Admin können sowohl für einen Publisher, als auch einen Mandanten optionale Attribute definiert werden. Diese stehen in dem Feld ''Attribute'' jeweils in einer eigenen Zeile und haben folgende Syntax: <code>name=value</code><br />
<br />
===Publisher===<br />
{| class="prettytable sortable"<br />
|- class="hintergrundfarbe1"<br />
! Name || Wert<br />
|-<br />
| <code>hideInInfosite5GUI</code><br />
| <code>true</code> oder <code>false</code><br />
|-<br />
| <code>sp_vv_mode</code><br />
| Ausgabekanal im Zusammenhang mit CityGov3<br />
|}<br />
<br />
===Mandant===<br />
{| class="prettytable sortable"<br />
|- class="hintergrundfarbe1"<br />
! Name || Wert<br />
|-<br />
| <code>ignoreWorklistNotification</code><br />
| <code>true</code> oder <code>false</code><br />
|-<br />
| <code>cmsURL</code><br />
| Optionale Konfiguration der URL vom CMS (z.B. bei https benötigt)<br />
|}<br />
<br />
<br />
<br />
==Anker für partielle Anpassungen von InfoSite5==<br />
In den InfoSite5-Templates mit den folgenden Ankern können ebenfalls auf die beschriebene Weise Templates eingebunden werden. Diese können dann Code von InfoSite5 ergänzen oder verändern. Die eigenen Templates müssen dann den hier angegebenen Anker haben. Einzelne ''Slots'' unterstützen auch Anpassungen für Mehrmandanten-Systeme. Hierfür werden die Anpassungen nur im sog. Master-Client vorgenommen. Alle anderen Mandanten werden in der Konfiguration wie folgt erweitert:<br />
<br />
Bei den Setzungen des Mandanten wird der Anker des Master-Client in der Variable <code>system.server.settings.masterClient</code> konfiguriert. Lokale Anpassungen sind jedoch immer höher priorisiert.<br />
<br />
<div class="note">Achtung: In einer neuen InfoSite-Version werden diese Anker u.U. nicht mehr unterstützt. Bitte halten Sie bei Anpassungen stets Rücksprache mit dem Support</div><br />
<br />
{| class="prettytable sortable"<br />
|- class="hintergrundfarbe1"<br />
! Anker des Templates || Anker für den Slot || Unterstützung eines ''Master-Client''<br />
|-<br />
| <code>gui.container.infosite.media</code><br />
| <code>standard.container.media</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.media.registration</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.media.release</code><br />
| <code>gui.release.addon</code><br />
<code>gui.release.state.addon</code><br />
| X<br />
|-<br />
| <code>gui.container.infosite.standard</code><br />
| <code>standard.container.keywords</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.all</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.media</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.page</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.pageAndMedia</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.pageAndResource</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.pageAutoName</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.release</code><br />
| <code>gui.release.addon</code><br />
<code>gui.release.state.addon</code><br />
| X<br />
|-<br />
| <code>gui.container.infosite.standard.resource</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.layout.list.container</code><br />
| <code>gui.module.workflow.message</code><br />
|X<br />
|-<br />
| <code>gui.layout.one.container</code><br />
| <code>gui.module.workflow.message</code><br />
|X<br />
|-<br />
| <code>gui.layout.tree.container</code><br />
| <code>gui.module.workflow.message</code><br />
|X<br />
|-<br />
| <code>gui.login.xml</code><br />
| <code>login.xml</code><br />
|<br />
|-<br />
| <code>gui.manager</code><br />
| <code>gui.configuration.infosite5</code><br />
|<br />
|-<br />
| <code>gui.module.administration.sessions</code><br />
| <code>module.administration.sessions.filter</code><br />
|<br />
|-<br />
| <code>gui.module.information.list</code><br />
| <code>gui.elementfilter</code><br />
<code>module.information.list.output</code><br />
|X<br />
|-<br />
| <code>gui.module.information.toolbar</code><br />
| <code>configuration.language</code><br />
|<br />
|-<br />
| <code>gui.module.informationpool.properties</code><br />
| <code>gui.informationpool.properties</code><br />
|<br />
|-<br />
| <code>gui.module.monitoring.search.output</code><br />
| <code>monitoring.search.output.<nowiki>[csv|xml].[user|template|role|information]</nowiki></code><br />
|<br />
|-<br />
| <code>gui.module.path</code><br />
| <code>gui.elementfilter</code><br />
|<br />
|-<br />
| <code>gui.module.user.properties</code><br />
| <code>gui.user.template.slot.base</code><br />
<code>gui.user.properties.locales</code><br><br />
<code>gui.user.template</code><br />
|<br />
|-<br />
| <code>gui.module.userpool.properties</code><br />
| <code>gui.userpool.properties</code><br />
|<br />
|-<br />
| <code>gui.module.welcome</code><br />
| <code>gui.module.welcome.message</code><br />
<code>gui.module.welcome.publisher</code><br />
|<br />
|-<br />
| <code>gui.module.welcome.message</code><br />
| <code>gui.module.welcome.message.extended</code><br />
|<br />
|-<br />
| <code>gui.notifier</code><br />
| <code>gui.notifier.message</code><br />
|<br />
|-<br />
| <code>gui.workflow.template</code><br />
| <code>gui.template.addon.metadata</code><br />
|<br />
|-<br />
| <code>modules.smarteditor</code><br />
| <code>Filter und Styles</code><br />
|<br />
|-<br />
| <code>user.container.registration</code><br />
| <code>user.container.editing</code><br />
|<br />
|-<br />
| <code>gui.dialog.dragdrop</code><br />
| <code>gui.dialog.copy.slot</code><br />
|<br />
|-<br />
| <code>gui.module.htmlhead</code><br />
| <code>gui.css.individual</code><br />
|<br />
|}<br />
<br />
==Templates für eigene XML- bzw. CSV-Ausgaben bei der Suche in InfoSite 5==<br />
===monitoring.search.output.xml.user===<br />
<source lang="xml"><br />
<sp:set name="_ignore"><sp:set name="_output"><result type="<sp:print name="t"/>"><% out.print("\r\n"); %></sp:set><br />
<sp:loop collection="result" item="it"><br />
<sp:if condition="isNull(${monitoring_onlyMy}) || ${system.user} == ${it.changedBy}"><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if> <item><% out.print("\r\n"); %></sp:set><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if> <name><sp:print name="it.name" encoding="xml"/></name><% out.print("\r\n"); %></sp:set><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if> <id><sp:print name="it.id.withoutType" encoding="xml"/></id><% out.print("\r\n"); %></sp:set><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if> <type><sp:print name="it.id.type" encoding="xml"/></type><% out.print("\r\n"); %></sp:set><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if> <parent><sp:loop collection="it.parent.path" item="jt">/ <sp:print name="jt.name" encoding="xml"/> </sp:loop></parent><% out.print("\r\n"); %></sp:set><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if> </item><% out.print("\r\n"); %></sp:set><br />
</sp:if><br />
</sp:loop><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if></result><% out.print("\r\n"); %></sp:set><br />
<br />
</sp:set><xml><sp:print name="_output"/></xml><br />
</source><br />
<br />
===monitoring.search.output.csv.user===<br />
<source lang="xml"><br />
<sp:set name="_ignore"><br />
<sp:set name="_output">"Vorname", "Nachname", "E-Mail", "Typ", "ID", "Nutzerpool"</sp:set><br />
<sp:loop collection="result" item="it"><br />
<sp:if condition="isNull(${monitoring_onlyMy}) || ${system.user} == ${it.changedBy}"><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if>"<sp:print name="it.firstname"/>","<sp:print name="it.lastname"/>","<sp:print name="it.email"/>","<sp:print name="it.id.withoutType"/>","<sp:print name="it.id.type"/>","<sp:loop collection="it.parent.path" item="jt">/ <sp:print name="jt.name"/> </sp:loop>"<% out.print("\r\n"); %></sp:set><br />
</sp:if><br />
</sp:loop><br />
<br />
</sp:set><sp:print name="_output"/><br />
</source><br />
<br />
==Notwendige Anker für die Initialisierung von InfoSite5==<br />
Folgende Anker werden für die Initialisierung von InfoSite5 benötigt:<br />
<br />
{| class="prettytable sortable"<br />
|- class="hintergrundfarbe1"<br />
! Anker || Funktion || Bemerkung<br />
|-<br />
| <code>gui.informations</code><br />
| Einstiegspool für Redakteure<br />
| Der Artikelpool, der diesen Anker hat wird von InfoSite5 implizit als Einstiegspool für Redakteure interpretiert.<br />
Ohne einen Pool mit diesem Anker ist Redakteuren das Arbeiten nicht möglich.<br />
|-<br />
| <code>standard.container.editing</code><br />
| Einstiegspool für redaktionelle Templates<br />
| Damit Templatepools in der Artikelpool-Konfiguration ausgewählt werden können, müssen diese unterhalb eines Pools mit diesem Anker liegen.<br />
Ohne einen Pool mit diesem Anker ist die Konfiguration von Artikelspools nur bedingt möglich.<br />
|-<br />
| <code>admin.user.pool</code><br>ab Version 5.17<br><code>ies.usrp.admin</code><br />
| Einstiegspool für den Wartungszugang von InfoSite<br />
| Nutzer in diesem Pool werden beim Zugang über den Wartungs-Account auf der Startseite zum weiteren Login angezeigt.<br />
|-<br />
| <code>system.root.pool.<nowiki>[user|template|role|information]</nowiki></code><br />
| Rootpools von InfoSite<br />
| Diese Pools dürfen nicht gelöscht werden. Neben dem Anker ist auch die ID von besonderer Bedeutung.<br />
|}<br />
<br />
==Optionaler Anker für InfoSite6==<br />
<br />
{| class="prettytable sortable"<br />
|- class="hintergrundfarbe1"<br />
! Anker || Funktion || Bemerkung<br />
|-<br />
| <code>infosite6.informationPoolProperties</code><br />
| Optionales Templates für Artikelpools (vor Sitekit)<br />
| Ein Template mit diesem Anker wird in der Artikelpool-Bearbeitung als weiterer Abschnitt eingeblendet und erlaubt weitere Eingaben. Diese Funktion ist mit der Sitekit-Technik nicht mehr notwendig und wird dort auch nicht mehr unterstützt.<br />
|}<br />
<br />
<noinclude><br />
[[Category:InfoSite5]]<br />
[[Category:Funktionsbeschreibungen]]<br />
[[Category:Qualität_des_Codes_prüfen]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Client_(Objekt)&diff=10638Client (Objekt)2023-04-20T11:48:50Z<p>Sed: /* Attribute */</p>
<hr />
<div>==Name==<br />
Client - Mandant des [[IES]]<br />
<br />
==Beschreibung==<br />
Dieses Objekt repräsentiert einen Mandanten. Der Mandant ist die oberste Ordnungsinstanz des IES. Er stellt eine datentechnisch und organisatorisch abgeschlossene Einheit dar.<br />
In [[SPML]] kann über den Variablennamen <code>system.client</code> auf dieses Objekt zugegriffen werden.<br />
<br />
==Attribute==<br />
{| class="prettytable sortable"<br />
|- class="hintergrundfarbe1"<br />
! Attribut || Type || Beschreibung || ab IES Version<br />
|-<br />
| id<br />
| [[ID]]<br />
| ID des Mandanten.<br />
| 1<br />
|-<br />
| anchor<br />
| [[Anchor]]<br />
| Eindeutiger Name für den Mandaten, dieser wird auch als Anchor verwendet.<br />
| 2<br />
|-<br />
| namespace ([[deprecated]])<br />
| [[Anchor]]<br />
| Eindeutiger Name für den Mandaten, dieser wird auch als Anchor verwendet. Dieses Attribute ist veraltet. Alternativ sollte <code>anchor</code> verwendet werden.<br />
| 1<br />
|-<br />
| name<br />
| [[String]]<br />
| Name des Mandanten<br />
| 1<br />
|-<br />
| publisher<br />
| [[Collection]]&nbsp;<[[Publisher]]><br />
| Liste der [[Publisher]], die für dieser Mandaten konfiguriert sind.<br />
| 1<br />
|-<br />
| ldapServer<br />
| [[Collection]]&nbsp;<[[LdapServer]]><br />
| Liste der [[LdapServer]], die für diesen Mandaten konfiguriert sind.<br />
| 1<br />
|-<br />
| indices<br />
| [[Collection]]&nbsp;<[[Index]]><br />
| Liste aller Indizes, die für diesen Mandaten konfiguriert sind.<br />
| 2.0.2<br />
|-<br />
| hasPersonalization<br />
| [[Boolean]]<br />
| <code>true</code>, wenn für diesen Mandaten eine Lizenz für die Personalisierung besteht.<br />
| 1<br />
|-<br />
| hasLdap<br />
| [[Boolean]]<br />
| <code>true</code>, wenn für diesen Mandaten eine Lizenz für die LDAP-Unterstützung besteht.<br />
| 1<br />
|-<br />
| webapps<br />
| [[Collection]]&nbsp;<[[Webapplication]]><br />
| Liste der Webapplikationen (Module), die der Mandant verwenden darf.<br />
| 2<br />
|-<br />
| disabled<br />
| [[Boolean]]<br />
| Liefert <code>false</code>, wenn der Mandant deaktiviert ist.<br />
| 2<br />
|-<br />
| attributes<br />
| [[Map]]&nbsp;<[[String]],[[String]]><br />
| Liefert die Attribute die zusätzlich an dem Mandanten konfiguriert wurden.<br />
| 2<br />
|-<br />
| tagPrefix<br />
| [[String]]<br />
| Der Tag-Prefix des Mandaten, dieser wird für [[Custom-Tags]] benötigt und darf pro Installation nur einmal angegeben werden.<br />
| 2<br />
|}<br />
<br />
<br />
<noinclude><br />
[[Category:Objekte]]<br />
[[Category:Qualität_des_Codes_prüfen]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Changelog&diff=10626Changelog2023-03-22T12:34:09Z<p>Sed: </p>
<hr />
<div><div class="note"><br />
deprecated. Please visit: https://internal.pages.sitepark.com/changelog-pages/<br />
</div><br />
<br />
==Changelogs vom IES==<br />
*[[Changelog IES-2|IES-2]]<br />
*[[Changelog IES-3|IES-3]]<br />
<br />
==Changelogs von Kernmodulen==<br />
*[[Changelog IES Webnode|IES Webnode]]<br />
*[[Changelog IES Generator|IES Generator]]<br />
*[[Changelog IES API|IES API]]<br />
*[[Changelog IES API UI|IES API UI]]<br />
*[[Changelog IES Admin|IES Admin]]<br />
*[[Changelog IES XIP Manager|IES XIP Manager]]<br />
*[[Changelog IES Basis Modul|IES Basis Modul]]<br />
*[[Changelog IES Themes|IES Themes]]<br />
<br />
==Weitere Changelogs==<br />
*[[Changelog InfoSite 5|InfoSite 5]]<br />
*[[Changelog InfoSite 6|InfoSite 6]]<br />
*[[Changelog InfoSite 6 Legacy Tools|InfoSite 6 - Nutzerverwaltung (legacy)]]<br />
*[[Changelog CityGov – Virtuelle Verwaltung|CityGov]]<br />
*[[Changelog_CityCall115|CityCall115]]<br />
*[[Changelog InfoTicket|InfoTicket]]<br />
*[[Changelog Solr - Volltext Suchmaschine|Solr - Volltext Suchmaschine]]<br />
*[[Changelog Site API|Site API]]<br />
*[[Changelog Basis-PHP-API|Basis-PHP-API]]<br />
*[[Changelog IES WebDAV Schnittstelle|WebDAV Schnittstelle]]<br />
*[[Sitekit Changelogs|SiteKit]]<br />
<br />
==Anmerkungen==</div>Sedhttps://wiki.sitepark.com/index.php?title=Changelog&diff=10625Changelog2023-03-22T12:33:49Z<p>Sed: </p>
<hr />
<div>==Changelogs vom IES==<br />
<br />
deprecated. Please visit: https://internal.pages.sitepark.com/changelog-pages/<br />
<br />
*[[Changelog IES-2|IES-2]]<br />
*[[Changelog IES-3|IES-3]]<br />
<br />
==Changelogs von Kernmodulen==<br />
*[[Changelog IES Webnode|IES Webnode]]<br />
*[[Changelog IES Generator|IES Generator]]<br />
*[[Changelog IES API|IES API]]<br />
*[[Changelog IES API UI|IES API UI]]<br />
*[[Changelog IES Admin|IES Admin]]<br />
*[[Changelog IES XIP Manager|IES XIP Manager]]<br />
*[[Changelog IES Basis Modul|IES Basis Modul]]<br />
*[[Changelog IES Themes|IES Themes]]<br />
<br />
==Weitere Changelogs==<br />
*[[Changelog InfoSite 5|InfoSite 5]]<br />
*[[Changelog InfoSite 6|InfoSite 6]]<br />
*[[Changelog InfoSite 6 Legacy Tools|InfoSite 6 - Nutzerverwaltung (legacy)]]<br />
*[[Changelog CityGov – Virtuelle Verwaltung|CityGov]]<br />
*[[Changelog_CityCall115|CityCall115]]<br />
*[[Changelog InfoTicket|InfoTicket]]<br />
*[[Changelog Solr - Volltext Suchmaschine|Solr - Volltext Suchmaschine]]<br />
*[[Changelog Site API|Site API]]<br />
*[[Changelog Basis-PHP-API|Basis-PHP-API]]<br />
*[[Changelog IES WebDAV Schnittstelle|WebDAV Schnittstelle]]<br />
*[[Sitekit Changelogs|SiteKit]]<br />
<br />
==Anmerkungen==</div>Sedhttps://wiki.sitepark.com/index.php?title=Hauptseite&diff=10624Hauptseite2023-03-22T12:33:16Z<p>Sed: </p>
<hr />
<div><table class="boxes"><br />
<tr><br />
<td><br />
<div class="title">Willkommen im Sitepark Wiki</div><br />
<div class="contents"><br />
Der Sitepark Information Enterprise Server [[IES]] ist der Enterprise Content Management Kern aller Sitepark Produkte. Auf den IES bauen die CMS InfoSite und CitySite, CityCall115, InfoTicket, das Sitepark Wissensmanagement-System sowie eine aufeinander abgestimmte Sammlung von Fachanwendungen für den kommunalen Markt auf.<br />
<br />
Dieses Wiki enthält Informationen für unsere Kunden. Neben den Changelogs unserer Produkte IES, InfoSite 6, CityGov sowie CityCall115 enthält das Wiki das vollständige Referenzhandbuch für Webentwickler sowie eine Plattform zum Austausch von Codefragmenten und Lösungsvorschlägen.<br />
<br />
Nicht geeignet ist dieses Wiki für Supportanfragen oder Featurewünsche. Um diese zeitnah zu bearbeiten, haben wir hierfür einen speziellen [https://support.sitepark.com/otrs/customer.pl Support-Bereich auf unserer Website] eingerichtet.<br />
<br />
Wir wünschen Ihnen nun viel Freude am Wiki,<br/><br />
Ihr Sitepark-Team<br />
<br />
<br />
<div id="mainpage_sitelinks"><br />
'''[[FAQ|FAQ zum Sitepark Wiki]]''' &nbsp; | &nbsp;<br />
'''[https://meta.wikimedia.org/wiki/Help:Contents/de Hilfe zur Bedienung]''' &nbsp; | &nbsp;<br />
'''[[:SiteparkWiki:Impressum|Impressum]]''' &nbsp; | &nbsp;<br />
'''[[:SiteparkWiki:Datenschutz|Datenschutz]]''' &nbsp; | &nbsp;<br />
Changelogs: '''[https://internal.pages.sitepark.com/changelog-pages/ Changelogs]'''<br />
</div><br />
</div><br />
</td><br />
</tr><br />
</table><br />
<br />
<table class="boxes"><br />
<tr><br />
<td><br />
<div class="title">SPML-Handbuch</div><br />
<div class="contents"><br />
* [[Allgemeine Sprachelemente]]<br />
* [[SPEL|Expression Language (SPEL)]]<br />
* [[SPQL|Query Language (SPQL)]]<br />
* [[Regular-Expression|Reguläre Ausdrücke]]<br />
* [[Datumsformat]]<br />
* [[Zahlenformat]]<br />
* [[Symbolischer Link]]<br />
</div><br />
</td><br />
<td><br />
<div class="title">Referenz Handbuch</div><br />
<div class="contents"><br />
* [[:Kategorie:SP-Tags|SP-Tags]]<br />
* [[:Kategorie:SPT-Tags|SPT-Tags]]<br />
* [[:Kategorie:Objekte|Objekte]]<br />
* [[:Kategorie:Funktionen|Funktionen]]<br />
* [[:Kategorie:Handler|Handler]]<br />
* [[:Kategorie:Dienste|Dienste]]<br />
* [[:Kategorie:Administration|Administration]]<br />
* [[Errorcode|Errorcodes]]<br />
</div><br />
</td><br />
<td><br />
<div class="title">Funktionsbeschreibungen</div><br />
<div class="contents"><br />
* [[IES-Ökosystem]]<br />
* [[XIP LDAP Import Beispiel|LDAP]]<br />
* [[Locking]]<br />
* [[Dokumentation der Funktionsweise vom Solr-Modul|Solr]]<br />
* [[:Kategorie:XIP|XIP]]<br />
</div><br />
</td><br />
</tr><br />
</table></div>Sedhttps://wiki.sitepark.com/index.php?title=Changelog_Basis-PHP-API&diff=10563Changelog Basis-PHP-API2023-01-12T15:16:03Z<p>Sed: /* Anmerkungen */</p>
<hr />
<div><div class="noautonum">__TOC__</div><br />
==Changelog==<br />
===2.0 (11.01.2023)===<br />
{|<br />
| style="vertical-align:top;" | {{add}} || PHP 8.x Kompatibilität<br />
|}<br />
===1.41 (13.04.2022)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || Die Webnode php-Sourcen müssen ab dem IES-3 bzw Webnode-2 für die Template-Webseiten aus dem Sitekit geladen werden <br />
|}<br />
===1.40.2 (26.10.2020)===<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Die getJson-Funktionen schlagen trotz gültiger Daten fehl, wenn im Header-ContentType zusätzlich auch das Enconding steht. <br />
|}<br />
===1.40.1 (16.10.2020)===<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Die getJson-Funktionen schlagen trotz gültiger Daten fehl, wenn im Header-ContentType zusätzlich auch das Enconding steht. <br />
|}<br />
===1.40 (01.07.2020)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || \SP\Util\Proxy::getProxyByUrl() ist nun public<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || \SP\Util\Proxy::envLookup() - groß und klein geschrieben Umgebungsvariablen berücksichtigen<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Fehler bei Verwendung des Http-Clients in php &lt;= 5.4<br />
|}<br />
===1.39 (05.11.2019)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Neue Methode \SP\Net\Url::setParamEncType() um das Standard URL-Encoding für Parameter ändern zu können<br />
|}<br />
===1.38 (02.10.2019)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || Kompatibilität mit PHP 5.3<br />
|}<br />
===1.37 (31.07.2019)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Log-Level werden nicht korrekt ausgewertet<br />
|}<br />
===1.36 (29.07.2019)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || HTTP- / Rpc-Client: Web- / Proxy-Server die kein Chunked Transfer-Encoding können unterstützen<br />
|}<br />
===1.35.1 (17.07.2019)===<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Guzzle-Funktionen werden nicht geladen, wenn in einem (Kunden) Modul die Composer Umgebung geladen wurde<br />
|}<br />
===1.35 (16.07.2019)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || MemInfo-Klasse nicht mehr PHP 5.2 kompatibel<br />
|}<br />
===1.34 (22.05.2019)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || HTMLPurifier soll seinen Cache nicht mehr in das Modul-Verzeichnis schreiben<br />
|}<br />
===1.33.1 (09.05.2019)===<br />
''Hotfix''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Kompatibilitätsprobleme im EventDispatcher zu PHP 7.0<br />
|}<br />
===1.33 (03.05.2019)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Observable als Trait implementieren<br />
|}<br />
===1.32 (25.03.2019)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Neue Klasse LocaleString<br />
|}<br />
===1.31 (05.03.2019)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Cookie-Unterstützung für HttpClient<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Methode SP\Util\Objects::resolve()<br />
|}<br />
===1.30 (04.02.2019)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || getParentUrl erzeugt bei Url&#039;s die mit / Enden einen Fehler<br />
|}<br />
===1.29 (17.12.2018)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Html2Text - strictMode zu ignoreErrors umgewandet<br />
|}<br />
===1.28 (17.12.2018)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || Html2Text - strictMode lässt sich ausschalten<br />
|}<br />
===1.27 (07.12.2018)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Notices wenn der Arrays::last oder Arrays::first Methode unter PHP 7.3 eine leere Liste übergeben wird<br />
|}<br />
===1.26 (27.11.2018)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Http\Client: Connection Timeout wird nicht gesetzt, wenn der Timeout ein Integer ist<br />
|}<br />
===1.25 (20.11.2018)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Funktionen Arrays::first &amp; Arrays::last<br />
|}<br />
===1.24 (02.10.2018)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Neue Klasse \SP\Utils\Countries<br />
|-<br />
| style="vertical-align:top;" | {{update}} || Html5::escapeId escapt jetzt auch Doppelpunkte<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Länderliste auf Aktualität prüfen<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Länderliste benötigt Information zur Zugehörigkeit zur EU<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Klasse SP\Util\Color für Farben-Verarbeitung<br />
|}<br />
===1.23.2 (18.07.2018)===<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || SP_JsonArray::isEmpty liefert bei Zahlenwerten falsches Ergebnis<br />
|}<br />
===1.23.1 (04.07.2018)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || SP_JsonObject::isEmpty liefert bei Zahlenwerten falsches Ergebnis<br />
|}<br />
===1.23 (02.07.2018)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || PHP 7.2 Unterstützung<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Guzzle Http Client verarbeitet manche Exceptions nicht korrekt<br />
|}<br />
===1.22.1 (29.06.2018)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Context kann keine PHP-Klassen laden die in einem Namespace liegen<br />
|}<br />
===1.22 (28.02.2018)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Caller-Klasse implementiert<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Korrekturen in SP\Util\Map &amp; SP\Util\ArrayList<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Unterstützung von PHP 7.2<br />
|}<br />
===1.21 (22.12.2017)===<br />
''Feature-Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || Darstellung der Dateigröße in Bytes ohne Nachkommastelle Bytes &lt; 1000<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Erweiterung des Fehlerverhaltens des HTTP Clients<br />
|}<br />
===1.20.1 (21.09.2017)===<br />
''Hofix-Version''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Bootstrap wird erst ab Sitekit verwendet und konnte zu Problemen bei Updates einzelner Module führen<br />
|}<br />
===1.20 (01.08.2017)===<br />
''Feature Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Neue HTML5 Methoden isIdListAttribute, isIdAttribute, containsIdAttribute<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Methode SP\Email\Message::setReplyTo() hinzugefügt.<br />
|}<br />
===1.19.1 (20.07.2017)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Ermittlung der Speicherauslastung unter Windows beschleunigen<br />
|}<br />
===1.19 (11.07.2017)===<br />
''Feature-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Fehler bei der Auswertung von Proxy-Setzungen im Zend Http Client<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Methode setParams zum Setzen von mehreren Parametern für Url-Klasse<br />
|}<br />
===1.18.3 (08.06.2017)===<br />
''HotfixRelease''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Auch der Zend Http Client (für php &lt; 5.5 ) wertet die Umgebungsvariablen SP_HTTP_PROXY, und SP_NO_PROXY aus<br />
|}<br />
===1.18.2 (19.05.2017)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Guzzle Http Client wertet die Umgebungsvariablen HTTP_PROXY, SP_HTTP_PROXY, SP_HTTPS_PROXY und SP_NO_PROXY nicht korrekt aus<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Unterstützung von HTTP- (Nicht SOCKS) Proxies<br />
|}<br />
===1.18.1 (16.05.2017)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || SP\Util\Html5 ist nicht abwärtkompatibel<br />
|}<br />
===1.18 (15.05.2017)===<br />
''Feature Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || SP\Exception wird nicht korrekt befüllt<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Methode SP\Util\Debug:printr()<br />
|}<br />
===1.17 (27.02.2017)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || PHP-Abhängigkeiten aktualisiert<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Infoticket im Autoloader registriert<br />
|}<br />
===1.16.1===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Fallback der Crypt-Klasse auf Mcrypt wenn eine alte PHP-Version vorliegt oder das openssl Modul nicht geladen ist<br />
|}<br />
===1.16 (19.01.2017)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || SP_System_MemInfo kann unter Windows keine Speicherwerte ermitteln<br />
|-<br />
| style="vertical-align:top;" | {{update}} || \SP\Net\Client\Response::getStream() sollte echten PHP-Stream zurück liefern<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Methode \SP\Util\Format::number<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || \SP\Net\URL::addParam() fügt keinen zweiten Wert, wenn der Parameter-Name schon mal verwendet wurde<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Mcrypt durch OpenSSL ersetzen<br />
|}<br />
===1.15.1 (25.10.2016)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || SP\Util\Html5:autoParagraph(string) ignoriert einzelne &lt;br&gt;<br />
|}<br />
===1.15 (24.10.2016)===<br />
''Feature-Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || Umstieg von Zend-Http-Client auf GuzzleHttp\Client<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Methoden SP\Util\Html5::toText() und SP\Util\Html5::purify()<br />
|}<br />
===1.14.4 (21.09.2016)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Notices in der HTML5:autoParagraph Methode<br />
|}<br />
===1.14.3 (08.09.2016)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || \SP\Util\Html5: purify(), toText() für PHP Version &lt; 5.5 bereitsstellen<br />
|}<br />
===1.14.2 (10.08.2016)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || PHP-Fehler wegen Namespace-Umstellung in SP\ObjectData<br />
|}<br />
===1.14.1 (01.08.2016)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || SP/Net/HTTP/Client funktioniert nicht mehr unter PHP 5.3<br />
|}<br />
===1.14 (25.07.2016)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || SP\Util\Format::fileSize Berechnung nicht mehr mit einem Vielfachen von 1024 sondern von 1000<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Methode SP\Util\Objects::coalesce()<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Methode SP\Util\Objects:toArray() um Optionale include und exclude Felder erweitert<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Korrekturen für den HTTP-Client<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Html5-Utils Klasse implementiert<br />
|-<br />
| style="vertical-align:top;" | {{add}} || getCountryCode() am User hinzugefügt<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Adapter für Zend_Http &amp; GuzzleHttp<br />
|}<br />
===1.13.2 (07.07.2016)===<br />
''BugfixRelease''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Beim Hinzufügen von Objekt-Daten, die bereis gültige JSON-Objekt Instanzen sind, wird fälschlicherweise eine Exception von der ObjectData-Klasse geworfen. <br />
|}<br />
===1.13.1 (14.03.2016)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || SP\Net\Rpc\Client\Method-&gt;createUpload() wirft Zend_Uri_Exception: Invalid URI supplied<br />
|}<br />
===1.13 (11.02.2016)===<br />
''Feature Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || PHP-Klassen auf Namespace umgestellt<br />
|-<br />
| style="vertical-align:top;" | {{update}} || Einbindung von externer Bibliothekt (mobiledetect/mobiledetectlib) zur Ermittlung von Mobil-Geräten (SP\User::isMobile())<br />
|}<br />
===1.12.5 (14.01.2016)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Locale-Auswertung von SP_Util_Format::currency() nicht korrekt<br />
|}<br />
===1.12.4 (05.01.2016)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || UTF-16 Chars werden bei Json_Object und Json_Array nicht korrekt encodiert<br />
|}<br />
===1.12.3 (18.12.2015)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Methoden zum Ermitteln der Proxy-Setzungen als Curl-String hinzugefügt<br />
|}<br />
===1.12.2 (17.12.2015)===<br />
''Hotfix Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || Erweiterung der PHP-Locales um IES-spezifische Angaben<br />
|}<br />
===1.12.1 (09.12.2015)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Locale-Klasse zum korrekten setzen des Locales implementiert<br />
|}<br />
===1.12 (15.10.2015)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || SP_Net_Http_Client_Connection: ein Timeout kann nun gesetzt werden<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neues Package SP_Email zum senden von E-Mails<br />
|-<br />
| style="vertical-align:top;" | {{add}} || SP_Json_Object::putAll implementiert<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Klasse SP_Util_Number<br />
|}<br />
===1.11.2 (01.07.2015)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || SP_Net_Http_Client_Connection: ein Timeout kann nun gesetzt werden<br />
|}<br />
===1.11.1 (24.04.2015)===<br />
''Bugfix Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Fehler innerhalb der Funktion toJson der Klasse SP_Util_Object bzw. SP_Util_Array<br />
|}<br />
===1.11 (05.03.2015)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Session Sonderfall für Shop Modul entfernen<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Es muss der zu verwendende Proxy auf dem Webserver ermittelt werden können<br />
|-<br />
| style="vertical-align:top;" | {{add}} || SP_Util_Proxy implementiert um eine zentrale Proxy-Steuerung zu ermöglichen<br />
|}<br />
===1.10.2 (28.01.2015)===<br />
''Bugfix Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || getAttribute der Klasse SP_Util_Attributable liefert den Default-Wert nicht zurück.<br />
|}<br />
===1.10.1 (07.01.2015)===<br />
''Bugfix Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Fehler im Konsturktor der Klasse SP_ObjectDate, wenn diesem ein SP_Json_Objekt übergben wird.<br />
|}<br />
===1.10 (01.12.2014)===<br />
''Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || Die Klasse SP_Util_Crypt sollte die Deprecated Funtion mcrypt_ecb() nicht benutzten<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Notice wenn der optionale HTTP Header User Agent nicht mitgesendet wird<br />
|-<br />
| style="vertical-align:top;" | {{update}} || Extrahierung der HttpClient Funktionen aus dem RPC-Client um diese auch direkt in anderen Modulen nutzen zu können.<br />
|}<br />
===1.9.2 (14.11.2014)===<br />
''Hotfix- Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || ResourceBaseDir wird in Publikationsbereichen mit Publisher Directory falsch ermittelt<br />
|}<br />
===1.9.1 (02.10.2014)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || SP_Net_URL::getBaseUrl() Methode<br />
|}<br />
===1.9 (25.09.2014)===<br />
''Feature-Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || SP_Json_Iterator gegen SP_Util_Iterator ersetzt<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || SP_System_MemInfo wirft unter Windows Fehler da kein /proc/meminfo existiert<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Entschlüsseln eines Strings mittels SP_Util_Crypt::decrypt() liefert einen String mit Null Bytes am Ende<br />
|-<br />
| style="vertical-align:top;" | {{add}} || SP_Context sollte auch Klassen verarbeiten können die Namespaces nutzen<br />
|-<br />
| style="vertical-align:top;" | {{add}} || SP_Context kann nun auch mit PHP-Klassen umgehen die Namespaces nutzen<br />
|}<br />
===1.8.2 (12.05.2015)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || SP_Net_Rpc_Client_Connection: ein Timeout kann nun gesetzt werden<br />
|}<br />
===1.8.1 (11.09.2014)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || SP_Context::getBaseDir() muss immer mit einem / enden<br />
|}<br />
===1.8 (04.08.2014)===<br />
''Minor Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || SP_Json_Object: optLong() geändert zu optPhpPseudoLongAsFloat()<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Funktionen, um System Informationen (PHP, MEM, DISK) auszulesen.<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Methode SP_Net_Url::toEncodedHtml()<br />
|-<br />
| style="vertical-align:top;" | {{update}} || requre_once durch SP_Context::requireClasses() bzw SP_Context::requireClass() ersetzten<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || SP_Context-&gt;getModuleBasePath() - Symlinks werden bei der Ermittlung des &#034;ModuleBasePaths&#034; nicht berücksichtigt<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Classloader für SP_Context<br />
|}<br />
===1.7.1 (12.06.2014)===<br />
''Hotfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || use_only_cookies wird über SP_Context nicht auf auf &#039;off&#039; gesetzt<br />
|}<br />
===1.7 (25.03.2014)===<br />
''Minor Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Konfigurationsparameter für SP_Context implementieren damit verhindert werden kann, dass eine Session gestartet wird<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || SP_Json_Object: optLong() geändert zu optPhpPseudoLongAsFloat()<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Context::loadClass() - includePath wird beim &#034;require_once&#034; nicht verwendet<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Context::loadModuleClass() - includePath wird beim &#034;require_once&#034; nicht verwendet<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Das Entfernen eines Attributes aus einem SP_Json_Object wirft eine Exception<br />
|-<br />
| style="vertical-align:top;" | {{update}} || SP_Json_Array::put prüft nun die Parameter auf Typ und Anzahl und wirft gegebenenfalls eine IllegalArgumentException<br />
|}<br />
===1.6.1 (28.02.2014)===<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || SP_Util_Crypt-Klasse nicht mehrfach verwendbar<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Server-Variable SCRIPT_URI nicht immer verfügbar<br />
|-<br />
| style="vertical-align:top;" | {{add}} || JSONArray- und JSONObject-Konstruktor soll String aufnehmen können<br />
|}<br />
===1.6 (07.02.2014)===<br />
''Minor Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || Vom SP_Context aufgebauter Classpath muss _* und *_remove Ordner ignorieren<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Lock-Klasse zur Synchronisation von PHP-Requests<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Limiter-Klasse zur Beschränkung CPU-lastiger PHP-Requests<br />
|-<br />
| style="vertical-align:top;" | {{add}} || SP_Net_Url Klasse<br />
|-<br />
| style="vertical-align:top;" | {{add}} || context-Konfiguration pro Document-Root und Bootstraps unterstützen<br />
|-<br />
| style="vertical-align:top;" | {{update}} || SP_Observable von site-api nach SP_Util_Observable in sp-base-php-api verschieben<br />
|}<br />
===1.5 (30.10.2013)===<br />
''Minor Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || SP_Json_Object muss eine JsonException werfen wenn versucht wird ein NULL-Key zu setzen<br />
|-<br />
| style="vertical-align:top;" | {{add}} || JsonArray::put hängt nun Werte an, wenn kein Index angegeben wurde<br />
|-<br />
| style="vertical-align:top;" | {{add}} || JsonArray &amp; JsonObject sollten eine Clear-Methode haben um den Inhalt des Objektes zu leeren<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Registry Lookup funktioniert unter Windows x64 nicht<br />
|}<br />
===1.4.1 (09.09.2013)===<br />
''Hotfix''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || SP_Json_Array::get wirft bei einem Eintrag mit gültigem Index und NULL-Value eine Exception<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Beim Initialisieren der Context Klasse sollten bestehende include-path Einträge auf IES-Module (WEB-IES/*) entfernt werden.<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Registry-Lookup für 64Bit Windows-Systeme funktioniert nicht<br />
|}<br />
===1.4 (26.08.2013)===<br />
''Minor Release''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Version-Klasse impementieren<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Der Logger kann nun feiner konfiguriert werden<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Fehlerkorrekturen am RPC-Stack<br />
|}<br />
===1.3.1 (27.06.2013)===<br />
''Bugfix-Release''<br />
{|<br />
| style="vertical-align:top;" | {{update}} || SP_Context darf in Session use_trans_sid nicht setzten<br />
|}<br />
===1.3 (25.06.2013)===<br />
''Minor Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || JsonObject::optString liefert nicht den übergebenen defaultValue zurück sondern eine String-Repräsentation des defaultValue<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || SP_Context wird zweifach instanziiert<br />
|-<br />
| style="vertical-align:top;" | {{add}} || SP_Context::requireClass zur weiteren Steuerung der Includes implementieren<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Klasse SP_User implementieren um Nutzereigenschaften, wie z.B. den Useragent zu prüfen<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Performanzoptimierungen im JsonWriter<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Methode SP_Util_Format::currency<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Klasse SP_Utils_Arrays für Array-Hilfsfunktionen, die nicht im Standard-PHP enthalten sind<br />
|-<br />
| style="vertical-align:top;" | {{fix}} || Fehler in optJSONArray &amp; optJSONObject behoben<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Methode SP_Context::requireClass zum Laden von PHP-Klassen direkt aus IES-Modulen implementiert<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Klasse SP_Util_String für String-Hilfsfunktionen, die nicht im Standard-PHP enthalten sind<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Klasse SP_Util_Attributable um attributierbare Objekte zu definieren<br />
|-<br />
| style="vertical-align:top;" | {{update}} || Abhängigkeit zu Zend auf Version 1.12.3 gesetzt<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Rpc-Anfragen geben nun immer eine Instanz der neuen Klasse SP_Net_Rpc_Response zurück.<br />
|-<br />
| style="vertical-align:top;" | {{add}} || Neue Methode SP_Util_Logger::deprecated(), um veraltete Methoden zu kennzeichnen.<br />
|}<br />
===1.2 (19.04.2013)===<br />
''Minor Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Fehler beim Auslesen des Betriebssystems und unter Windows beim Auslesen der Registry<br />
|}<br />
===1.1 (15.04.2013)===<br />
''Minor Release''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || Diverse Fehlerkorrekturen<br />
|}<br />
===1.0 (16.01.2013)===<br />
''Initiale Version''<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Umzug der Basis-PHP-Klassen von IES-API nach Basis-PHP-API<br />
|}</div>Sedhttps://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&diff=10533Integration des IES in den Apache2022-12-09T12:13:51Z<p>Sed: /* Webseiten-Apache-Konfiguration mit IES-API Zugriff */</p>
<hr />
<div>==Allgemeines==<br />
Der IES ist i.d.R. für sämtliche Dateien im <code>DocumentRoot</code> eines Publishers zuständig. Die Dateien werden entsprechend über den Nutzer des IES angelegt. Da jedoch der Apache diese lesen bzw. über PHP verändern / ergänzen können sollte, empfehlen wir die Zugriffsrechte entsprechend einzustellen. Unter Linux kann das einfach erreicht werden, indem der Nutzer des Webservers auch in die Gruppe <code>ies</code> aufgenommen wird. Die UMASK des IES ist entsprechend voreingestellt.<br />
<br />
==Konfiguration des ''DocumentRoot''==<br />
Im ''DocumentRoot'' eines Publikationsbereiches werden neben den eigentlichen Artikeldaten auch noch Systemdaten der IES-Module gespeichert. Diese dienen u.a. zum Aufbau einer Sitemap o.ä.<br />
Damit diese vor direkten URL-Aufrufen geschützt werden können, werden entsprechende ''.htaccess''-Dateien durch die Module generiert.<br />
Hierzu muss im Apache (und im Microsoft IIS über die Erweiterung ''Helicon Ape'') die Auswertung dieser Daten erlaubt werden.<br />
<br />
Da der IES sämtliche Daten der Module in das Unterverzeichnis ''/WEB-IES/'' speichert ist die Konfiguration wie folgt möglich:<br />
<br />
<source lang="apache"><br />
<VirtualHost *:80><br />
<Directory "....$PATH_TO_DOCUMENT_ROOT.../WEB-IES"><br />
Options -Indexes<br />
AllowOverride LIMIT<br />
</Directory><br />
</VirtualHost><br />
</source><br />
<br />
==Allgemeine Hinweise zur Integration==<br />
''Die Integration des [[IES]] in den "Internet Information Server" von Microsoft ist über den sog. JK-Connector prinzipiell möglich. Weitere Informationen hierzu finden Sie im Internet''<br />
<br />
Für die optionale Integration des [[IES]] in den Apache Webserver empfehlen wird das Apache-Modul <code>proxy_http</code>. Folgende Konfiguration kann als Vorlage dienen. Die <code>ProxyPassMatch</code> Anweisungen sind jedoch erst ab der Version 2.2.5 verfügbar.<br />
<br />
Folgende Module sind für die unten aufgeführten Konfigurationsvorlagen notwendig:<br />
mod_proxy<br />
mod_proxy_balancer<br />
mod_proxy_http<br />
mod_lbmethod_byrequests # ab Apache 2.4 für proxy notwendig!!!<br />
mod_rewrite<br />
mod_ssl<br />
mod_headers <br />
<br />
<br />
Da Passwörter und andere vertrauliche Daten mit dem [[IES]] ausgetauscht werden, muss immer '''HTTPS''' für den Apache eingerichtet werden.<br />
<br />
<div class="note"><br />
Die Setzung '''ProxyPreserveHost''' legt fest, ob der ursprünglich im Request übergebene Hostname auch beim Proxy-Request angegeben wird, oder ob der Hostname der Balancer-Konfiguration verwendet wird.<br />
<br />
Die Proxy-Regeln leiten alle relevanten Anfragen an den CMS-Server weiter. Je nach Ziel-Port, der in der Balance-Konfiguraion angegeben wird, wird der Request an den Apache oder den IES auf dem CMS-Server weitergeleitet. Wir empfehlen hier die Kommunikation über den Apache (Port 80 bei internen Requests, sonst Port 443). Soll der Zugriff direkt auf den IES erfolgen, ist folgende Anpassung der Bind-Address in der sitepark.conf notwendig: IES_BIND_ADDRESS="0.0.0.0" erforderlich. Damit ist der IES aber auch von allen anderen Rechern aus direkt erreichbar.<br />
<br />
Im IES sind alle Domains und Aliase in den Publisher-Konfigurationen automatisch für HTTP-Anfragen gebunden, wenn diese für Live-Abfragen aktiviert wurden (''Publikationsbereich als Modul verwenden'' - Wir raten in diesem Zusammenhang dringend zu der Einschränkung auf ein bestimmtes Verzeichnis). Das bedeutet, dass alle Anfragen an eine der in den Publishern konfigurierten Domains, die an den IES geleitet werden, über den IES mit entsprechenden DocumentRoot ausgeführt werden. Aufrufe von IES-Modulen sind mit diesen URLs damit daher nicht möglich. Sollen direkt Funktionen des IES (z.B. InfoSite oder IES-API) angesprochen werden, muss der IES über einen Domain-Namen oder eine IP aufgerufen werden, die in keinen Publisher konfiguriert wurde.<br />
</div><br />
<br />
==Hinweise zur Integration des IES in den Apache==<br />
Für die Integration des IES in den Apache sollte ein eigener Virtueller Host eingerichtet werden. Für diesen Virtueller Host ist '''kein''' DocumentRoot notwendig!<br />
<br />
===Aufruf des IES Über den Apache===<br />
<br />
<source lang="apache"><br />
<VirtualHost *:80><br />
<br />
ServerName <<cms-host>><br />
<br />
# Alle gültigen IES-Anfragen, die auf Port 80 erfolgen, sollten vollständig an Port 443 umgelenkt werden. Diese Aufrufe können zum einen durch<br />
# Redakteure erfolgen, die häufig URLs ohne "https" eingeben, zum anderen aber auch durch Aufrufe, die durch SPML- bzw. JSP-Seiten erzeugt werden,<br />
# da diese intern über "http" auf Port 8080 bearbeitet werden und keine Informationen dazu haben, dass SSL von Außen eingesetzt wird.<br />
RedirectMatch ^(.*)$ https://<<cms-host>>$1<br />
<br />
</VirtualHost><br />
<VirtualHost *:80><br />
# Redirects<br />
ServerName infosite.<<cms-domain>><br />
ServerAlias citygov.<<cms-domain>><br />
ServerAlias newsdesk.<<cms-domain>><br />
ServerAlias infosite5.<<cms-domain>><br />
ServerAlias infosite6.<<cms-domain>><br />
<br />
<IfModule mod_rewrite.c><br />
RewriteEngine on<br />
<br />
RewriteCond %{HTTP_HOST} infosite6.<<cms-domain>> [OR]<br />
RewriteCond %{HTTP_HOST} infosite.<<cms-domain>><br />
RewriteRule ^/$ https://<<cms-host>>/ies/infosite6/ [L,R=301]<br />
<br />
RewriteCond %{HTTP_HOST} infosite5.<<cms-domain>><br />
RewriteRule ^/$ https://<<cms-host>>/ies/infosite/control/ [L,R=301]<br />
<br />
RewriteCond %{HTTP_HOST} newsdesk.<<cms-domain>><br />
RewriteRule ^/$ https://<<cms-host>>/ies/infosite/control/?SYS_gui=gui2 [L,R=301]<br />
<br />
RewriteCond %{HTTP_HOST} citygov.<<cms-domain>><br />
RewriteRule ^/$ https://<<cms-host>>/ies/module/city-gov/ [L,R=301]<br />
</IfModule><br />
</VirtualHost><br />
<VirtualHost *:443><br />
<br />
ServerName <<cms-host>><br />
<br />
ErrorLog /var/log/apache2/<<cms-host>>.err<br />
CustomLog /var/log/apache2/<<cms-host>>.log combined<br />
<br />
RewriteCond %{REQUEST_METHOD} !^(GET|POST|HEAD)<br />
RewriteRule .* - [R=405,L]<br />
<br />
# Infosite redirect<br />
RewriteEngine On<br />
RewriteRule ^/$ /ies/admin/ [R,L]<br />
<br />
<br />
###################################<br />
# IES integration using mod_proxy #<br />
###################################<br />
<br />
# security<br />
ProxyRequests Off<br />
<br />
# timeout<br />
ProxyTimeout 3600<br />
<br />
# always keep the host header<br />
ProxyPreserveHost On<br />
#X-Forwarded-Proto<br />
#X-Forwarded-Port<br />
#X-Forwarded-Host<br />
<br />
# load balancer<br />
<Proxy balancer://ies-balancer><br />
Require all granted<br />
<br />
#AuthType Basic<br />
#AuthName "IES Server"<br />
#AuthUserFile "/etc/.htpasswd"<br />
#Require valid-user<br />
#Require ip 192.168.1<br />
<br />
BalancerMember http://localhost:8080 timeout=3600 retry=0<br />
</Proxy><br />
# Weiterleitung aller IES-Modul Anfragen an den IES<br />
ProxyPassMatch ^(/ies/.*)$ balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# Sollte es Pulikationsbereiche mit Live spml Seiten geben, muss dieser Match ergänzt werden!!!<br />
#ProxyPassMatch ^(.*\.spml(;jsessionid=\w+)?(\?.*)?)$ balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On<br />
<br />
# Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der Header X-IES-SCHEME auf https gesetzt werden, da nur so<br />
# innerhalb von IES-Applikationen ${system.baseurl} richtig aufgelöst wird. Weitere X-IES Header-Angaben sind i.d.R. nicht notwendig<br />
#RequestHeader set X-IES-SERVER-NAME "ies.intern.net" # evtl. abweichender ServerName<br />
#RequestHeader set X-IES-SERVER-PORT "1443" # evtl. abweichender Port<br />
RequestHeader set X-IES-SCHEME "https"<br />
<br />
Header set X-Frame-Options SAMEORIGIN<br />
<br />
<LocationMatch "/ies/.*/rpc"><br />
Header Set Cache-Control "max-age=0, no-store, no-cache, must-revalidate"<br />
Header Unset ETag<br />
FileETag None<br />
</LocationMatch><br />
<br />
</VirtualHost><br />
</source><br />
<br />
==Hinweise zur Integration von IES-Anfragen in dem Apache des Webservers==<br />
<br />
===Webseiten-Apache-Konfiguration mit Zugriff auf den lokalen Webnode===<br />
Für Zugriffe des Apache auf den lokalen IES-Webnode (z.B. für Solr-Suchen) ist folgende Konfiguration notwendig:<br />
<br />
<source lang="apache"><br />
<VirtualHost *:80><br />
...<br />
ProxyTimeout 3600<br />
<Proxy balancer://ies-webnode-balancer><br />
# Apache >= 2.4<br />
#Require all denied<br />
#Require host localhost<br />
#Require ip 82.140.11.34 127.0.0.1<br />
<br />
# Apache 2.2<br />
Order Deny,Allow<br />
Deny from all<br />
Allow from 82.140.11.34 127.0.0.1 localhost<br />
<br />
BalancerMember http://localhost:8381<br />
</Proxy><br />
ProxyPassMatch ^(/ies-webnode/.*)$ balancer://ies-webnode-balancer$1<br />
...<br />
</VirtualHost><br />
</source><br />
<br />
===Webseiten-Apache-Konfiguration mit IES-API Zugriff===<br />
<br />
Dies Konfiguration ist notwendig für: <br />
*den I-Link im SRPC-Modus in InfoSite6 <br />
*Module und Komponenten mit Live-Abfragen (zB. Verzeichnismodul mit der Möglichkeit Objekte anzulegen)<br />
*CityCall mit Anbindung an das Ticketsystem<br />
<br />
<source lang="apache"><br />
<VirtualHost *:80><br />
<br />
ServerName <<hostname>><br />
DocumentRoot ...<br />
<br />
ErrorLog ...<br />
CustomLog ...<br />
...<br />
<br />
###################################<br />
# IES integration using mod_proxy #<br />
###################################<br />
<br />
# security<br />
ProxyRequests Off<br />
<br />
# always keep the host header<br />
ProxyPreserveHost Off<br />
<br />
# Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren<br />
SSLProxyEngine On<br />
SSLProxyVerify none<br />
SSLProxyCheckPeerCN Off<br />
SSLProxyCheckPeerName Off<br />
SSLProxyCheckPeerExpire Off<br />
#ProxyRemote https://<<cms-host>> http://proxy.xxx.de:8080<br />
<br />
# timeout<br />
ProxyTimeout 3600<br />
<br />
# load balancer IES-API<br />
<Proxy balancer://ies-api-balancer><br />
# Apache >= 2.4<br />
#Require all granted<br />
<br />
# Apache 2.2<br />
Order Deny,Allow<br />
Allow from All<br />
<br />
# Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0<br />
BalancerMember https://<<cms-host>>:443 timeout=3600 retry=0<br />
</Proxy><br />
<br />
ProxyPassMatch ^(/ies/api/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
####### oder auf bestimmte Module begrenzt: ######<br />
# ProxyPassMatch ^(/ies/MODUL/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# Beispiele: <br />
# ProxyPassMatch ^(/ies/formservice/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# ProxyPassMatch ^(/ies/infoticket/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# ProxyPassMatch ^(/ies/jslibs/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
<br />
</VirtualHost><br />
</source><br />
<br />
===Webseiten-Apache-Konfiguration für Publikationsbereiche mit Live-Komponenten===<br />
<br />
Publikationsbereiche des IES die Live-Komponenten verwenden und somit auf den IES zugreifen müssen, werden wie folgt konfiguriert.<br />
Diese Konfiguration kann für aktuelle Anforderungen mit Zugriffen auf den IES über die IES-API nicht verwendet werden.<br />
<br />
<source lang="apache"><br />
<VirtualHost *:80><br />
<br />
ServerName ...<br />
DocumentRoot ...<br />
<br />
ErrorLog ...<br />
CustomLog ...<br />
<br />
...<br />
<br />
###################################<br />
# IES integration using mod_proxy #<br />
###################################<br />
<br />
# security<br />
ProxyRequests Off<br />
<br />
# always keep the host header<br />
ProxyPreserveHost On<br />
<br />
# timeout<br />
ProxyTimeout 3600<br />
<br />
# Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren<br />
SSLProxyEngine On<br />
SSLProxyVerify none<br />
SSLProxyCheckPeerCN Off<br />
SSLProxyCheckPeerName Off<br />
SSLProxyCheckPeerExpire Off<br />
<br />
<br />
# load balancer<br />
<Proxy balancer://ies-balancer><br />
# Apache >= 2.4<br />
#Require all granted<br />
<br />
# Apache 2.2<br />
Order Deny,Allow<br />
Allow from All<br />
<br />
# Werden nur spml Seiten aufgerufen, kann der Zugriff, der nur über php erfolgen soll,<br />
# auf den Webserver selbst beschränkt werden<br />
# Apache >= 2.4<br />
#Require all granted<br />
#Require host localhost [Hostname des Webservers]<br />
#Require ip 127.0.0.1 [IP-Adresse des Webservers]<br />
# Apache 2.2<br />
#Deny from all<br />
#Allow from localhost [IP-Adresse des Webservers]<br />
<br />
BalancerMember https://<<cms-host>>:443 timeout=3600 retry=0<br />
<br />
# Alternativ kann auch direkt der Apache des CMS-Systems angesprochen werden,<br />
# da dieser Anfragen automatisch intern an den IES weiterleitet.<br />
#BalancerMember http://<<cms-host>>:80 timeout=3600 retry=0<br />
<br />
# Bei Zugriff via SSL empfehlen wir die Verschlüsselung über den Apache zu konfigurieren.<br />
# Dieser leitet dann die unverschlüsselte Anfrage an den lokalen IES (intern über Port 8080)<br />
# Wird der BalanceMember via HTTPS angesprochen muss noch SSLProxyEngine auf ON gesetzt werden (s.o.)<br />
#BalancerMember https://<<cms-host>>:443 timeout=3600 retry=0<br />
</Proxy><br />
<br />
# Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für "<<spml_live_folder>>" eingesetzt werden<br />
ProxyPassMatch ^(/<<spml_live_folder>>/.*\.spml(;jsessionid=\w+)?(\?.*)?)$ balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On<br />
ProxyPassMatch ^(/<<spml_live_folder>>/ies/binary/.*)$ balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden<br />
<Directory <<DocumentRoot>>/WEB-INF><br />
# Apache >= 2.4<br />
#Require all denied<br />
<br />
# Apache 2.2<br />
Order deny,allow<br />
Deny from all<br />
</Directory><br />
<br />
<br />
# COUNTER <br />
# Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)<br />
#RedirectMatch ^/ies/counter(.*) https://<<cms-host>>/ies/infosite/counter$1<br />
<br />
# Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.<br />
# Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken<br />
RewriteEngine on<br />
<br />
# Zugriff auf das CMS nur über den Webserver (als Proxy)<br />
RewriteRule ^/ies/counter(.*) https://<<cms-host>>/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind<br />
RewriteRule ^/infosite/counter(.*) https://<<cms-host>>/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind<br />
RewriteRule ^/ies/infosite/counter(.*) https://<<cms-host>>/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind<br />
<br />
</VirtualHost><br />
</source><br />
<br />
===Alternative Variante, wenn IES-API UND SPML-Seite unterstützt werden müssen===<br />
<br />
''Für den I-Link im SRPC-Modus in InfoSite6 muss der Zugriff auf die IES-API konfiguriert werden.''<br />
<br />
Damit nun sowohl Live-Abfragen (SPML-Seiten im DocumentRoot eines Publishers), als auch IES-Funktionen (wie die IES-API) von einer URL aufgerufen werden können ist ein kleiner Umweg notwendig, der hier beschrieben wird:<br />
<br />
Es ist für jede Domain, für die diese zwei Formen des Zugriffs auf den IES notwendig sind, ein eigener Domain-Name, der auf den CMS-Server zeigt notwendig. Dieser kann entweder im DNS oder auch nur in den HOST-Dateien des CMS- und Webservers eingetragen werden. Weiterhin wird dieser Domain-Name über IES-Admin als Alias im entsprecheden Publisher konfiguriert. Auch sollte der Domain-Name im Apache als ServerAlias für den IES konfiguriert werden.<br />
<br />
Unterschiedliche Balancer-Regeln auf dem Webserver sorgen nun dafür, dass so entwerder IES-Funktionen oder Live-Funktionen des Publishers ausgeführt werden, indem entweder die Alias-URL des Publishers oder die URL des IES verwendet wird.<br />
<br />
In dem unten aufgeführten Beispiel wird die Kommunikation via HTTPs realisiert. Der Domain-Name <<ies-alias-hostname>> und CMS-Host <<cms-host>> ist entsprechend zu ersetzen.<br />
<br />
Beispiel:<br />
www.stadt-goldenberg.de<br />
<<cms-host>: ies.stadt-goldenberg.de<br />
<<ies-alias-hostname>>: ies-www.stadt-goldenberg.de<br />
<<spml_live_folder>>: /live<br />
<br />
<source lang="apache"><br />
<VirtualHost *:80><br />
<br />
ServerName ...<br />
DocumentRoot ...<br />
<br />
ErrorLog ...<br />
CustomLog ...<br />
<br />
...<br />
<br />
###################################<br />
# IES integration using mod_proxy #<br />
###################################<br />
<br />
# security<br />
ProxyRequests Off<br />
<br />
# always keep the host header<br />
############# WICHTIG: muss auf 'Off' stehen, damit der Wert des Balancers übertragen wird #################<br />
ProxyPreserveHost Off<br />
<br />
# Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren<br />
SSLProxyEngine On<br />
SSLProxyVerify none<br />
SSLProxyCheckPeerCN Off<br />
SSLProxyCheckPeerName Off<br />
SSLProxyCheckPeerExpire Off<br />
<br />
# timeout<br />
ProxyTimeout 3600<br />
<br />
# load balancer IES<br />
<Proxy balancer://ies-balancer><br />
# Apache >= 2.4<br />
#Require all granted<br />
<br />
# Apache 2.2<br />
Order Deny,Allow<br />
Allow from All<br />
<br />
# Werden nur spml Seiten aufgerufen, kann der Zugriff, der nur über php erfolgen soll,<br />
# auf den Webserver selbst beschränkt werden<br />
# Apache >= 2.4<br />
#Require all granted<br />
#Require host localhost [Hostname des Webservers]<br />
#Require ip 127.0.0.1 [IP-Adresse des Webservers]<br />
# Apache 2.2<br />
#Deny from all<br />
#Allow from localhost [IP-Adresse des Webservers]<br />
<br />
############# WICHTIG: Es muss der richtige Hostname gesetzt werden #################<br />
BalancerMember https://<<ies-alias-hostname>>:443 timeout=3600 retry=0<br />
</Proxy><br />
<br />
# Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für "<<spml_live_folder>>" eingesetzt werden<br />
ProxyPassMatch ^(/<<spml_live_folder>>/.*\.spml(;jsessionid=\w+)?(\?.*)?)$ balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On<br />
ProxyPassMatch ^(/<<spml_live_folder>>/ies/binary/.*)$ balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden<br />
<Directory <<DocumentRoot>>/WEB-INF><br />
# Apache >= 2.4<br />
#Require all denied<br />
<br />
# Apache 2.2<br />
Order deny,allow<br />
Deny from all<br />
</Directory><br />
<br />
# load balancer IES-API<br />
<Proxy balancer://ies-api-balancer><br />
# Apache >= 2.4<br />
#Require all granted<br />
<br />
# Apache 2.2<br />
Order Deny,Allow<br />
Allow from All<br />
<br />
# Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0<br />
BalancerMember https://<<cms-host>>:443 timeout=3600 retry=0<br />
</Proxy><br />
ProxyPassMatch ^(/ies/api/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
####### weitere Module ######<br />
# ProxyPassMatch ^(/ies/MODUL/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# Beispiele: <br />
# ProxyPassMatch ^(/ies/formservice/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# ProxyPassMatch ^(/ies/infoticket/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# ProxyPassMatch ^(/ies/jslibs/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
<br />
# COUNTER <br />
# Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)<br />
#RedirectMatch ^/ies/counter(.*) https://<<cms-host>>/ies/infosite/counter$1<br />
<br />
# Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.<br />
# Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken<br />
RewriteEngine on<br />
<br />
# Zugriff auf das CMS nur über den Webserver (als Proxy)<br />
RewriteRule ^/ies/counter(.*) http[s]://<<cms-host>>/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind<br />
RewriteRule ^/infosite/counter(.*) http[s]://<<cms-host>>/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind<br />
RewriteRule ^/ies/infosite/counter(.*) http[s]://<<cms-host>>/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind<br />
<br />
</VirtualHost><br />
</source><br />
<br />
=== Counter Konfiguration für einen Virtual-Host, der von verschiedenen CMS-Server geschrieben wird (z.B. für CityCall115). ===<br />
In der Virtual-Host Konfiguration des Webservers genügt dieser Eintrag für die Weiterleitung der Counter-Aufrufe:<br />
<source lang="apache"><br />
...<br />
# Alle Counter-Requests an eine vom CMS gepflegte PHP-Seite:<br />
RewriteRule ^/ies/counter(.*) /counter.php$1 [L,NE]<br />
...<br />
</source><br />
<br />
Hier der Inhalt der php Seite 'counter.php' am Beispiel CityCall für Stadt und Kreis Goldenberg<br />
<source lang="php"><br />
<?php<br />
if (!empty($_GET)) {<br />
$client = substr(htmlspecialchars($_GET["SYS_CNTR_id"]),0,5);<br />
$prefix = "";<br />
<br />
// Für den Fall, dass es auch auf Testservern eingesetzt wird<br />
if (strrpos($_SERVER['SERVER_NAME'],"test")) {<br />
$prefix = ".test";<br />
}<br />
<br />
$url = null;<br />
<br />
//<br />
// Unterscheide anhand der Server- und ClientId des übergebenen <br />
// Counter-Artikels die Server für die Weiterleitung<br />
<br />
// Stadt Goldenberg<br />
if ($client === "10123") {<br />
$url = "http://cms".$prefix.".stadt-goldenberg.de/ies/infosite/counter";<br />
<br />
// Kreis Goldenberg<br />
} else if ($client === "10456") {<br />
$url = "http://cms".$prefix.".kreis-goldenberg.de/ies/infosite/counter";<br />
<br />
}<br />
<br />
// Die Parameter des Aufrufes ergänzen und die Seite mit einem Timeout (3 bis 5 Sekunden) aufrufen. <br />
if ($url !== null) {<br />
$url .= "?".$_SERVER['QUERY_STRING'];<br />
<br />
$context = stream_context_create(array("http" => array("timeout" => 3)));<br />
return file_get_contents($url, NULL, $context);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
== Integration eines sog. Client Zertifikats für die Kommunikation mit dem CMS-Server (optionale Konfiguration) ==<br />
<br />
Um dem Webserver zu gestatten sich dem CMS gegenüber als valider Client zu authentifizieren kann ein client-Zertifikat eingebunden werden.<br />
Allgemein empfiehlt sich das genaue Studium der Apache-Doku zu diesem Thema: http://httpd.apache.org/docs/2.4/ssl/ssl_howto.html<br />
<br />
Folgendes Szenario wird hier exemplarisch vorgestellt:<br />
Web-Client <--> öffentlicher Webserver mit Client-Zertifikat <-- HTTPS --> CMS-Server intern<br />
D.h. der Webbrowser sendet über den öffentlichen Webserver als Proxy seine Anforderungen an das CMS.<br />
Dabei verwendet der Proxy das konfigurierte Client-Zertifikat, um sich dem CMS-Server gegenüber zu autorisieren.<br />
Ob der Webbrowser über HTTP oder HTTPS mit dem Proxy kommuniziert ist unerheblich. Die Kommunikation mit dem CMS erfolgt immer über HTTPS.<br />
<br />
=== Konfiguration auf dem öffentlichen Webserver / Proxy ===<br />
<br />
Zunächst wird eine Datei both.pem aus dem nicht verschlüsselten Zertifikat und dem zugehörigen Schlüssel erzeugt:<br />
<pre> cat client.pem client.key > both.pem </pre><br />
<br />
Diese Datei wird als Client-Zertifikat eingebunden, z.B.:<br />
<br />
<source lang="apache"><br />
SSLProxyMachineCertificateFile /etc/httpd/ssl/both.pem<br />
</source><br />
<br />
=== Konfiguration auf dem CMS-System ===<br />
<br />
Bei der klassischen SSL-Konfiguration muss dem Server zusätzlich das Haupt-CA-Zertifikat CA.pem, mit dem die Client-Schlüssel erzeugt wurden,<br />
bekannt gemacht werden:<br />
<br />
<source lang="apache"><br />
SSLEngine on<br />
SSLProxyEngine on<br />
SSLCipherSuite ALL:!ADH:!EXPORT:+RSA:+HIGH:+MEDIUM:-RC4:-LOW<br />
SSLProtocol All -SSLv2 -SSLv3<br />
SSLCertificateFile /etc/httpd/ssl/server.cert<br />
SSLCertificateKeyFile /etc/httpd/ssl/server.key<br />
SSLCACertificateFile /etc/httpd/ssl/CA/CA.pem<br />
</source><br />
<br />
In dem betreffenden geschützten Verzeichnis ist dann eine Art Schein-Basic-Authentication nach dem folgenden Muster einzurichten:<br />
<br />
<source lang="apache"><br />
<Directory /webserver-path><br />
SSLVerifyClient require<br />
SSLVerifyDepth 5<br />
SSLOptions +FakeBasicAuth<br />
SSLRequireSSL<br />
AuthName "Secure Area"<br />
AuthType basic<br />
AuthBasicProvider file<br />
AuthUserFile .htpasswd<br />
Require valid-user<br />
ErrorDocument 403 "You need a client side certificate issued by CAcert to access this site"<br />
<br />
# Optionale Freigabe Für Let's Encrypt<br />
#Require expr %{REQUEST_URI} =~ m#^/.well-known/acme-challenge/#<br />
</Directory><br />
</source><br />
<br />
Es wird also gegen die .htpasswd-Datei authentifiziert, in welcher alle validen Client-Zertifikate eingetragen sein müssen.<br />
<br />
=== .htpasswd-Beispiel für die Client-Authentifizierung ===<br />
<br />
Ist für den Client der CommonName '/C=DE/ST=NRW/L=M\xC3\xBCnster/O=SitePark GmbH/OU=Administration/CN=MyClient' vergeben worden,<br />
so lautet der Inhalt der .htpasswd :<br />
<br />
<source lang="text"><br />
/C=DE/ST=NRW/L=M\xC3\xBCnster/O=SitePark GmbH/OU=Administration/CN=MyClient:xxj31ZMTZzkVA<br />
</source><br />
<br />
Das Passwort entspricht dabei der DES-verschlüsselten Zeichenkette "password". Es wird anscheinend nicht wirklich benutzt.<br />
<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 300]]<br />
[[Kategorie:Administration und Konfiguration]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=IES-Webnode&diff=10509IES-Webnode2022-10-05T08:27:31Z<p>Sed: /* Installation unter Linux */</p>
<hr />
<div>''Ab IES Version 2.5 verfügbar''<br />
<br />
Der IES-Webnode ist ein Java-Applikations-Server auf Basis des [http://www.eclipse.org/jetty/ Jetty]. Er wird auf Web-Servern installiert, die vom IES generierte Webseiten ausliefern.<br />
Innerhalb des IES-Webnode werden Module installiert, die Funktionalitäten für die Webseite bereite stellen (Z.B. Volltextsuche).<br />
<br />
<br />
<br />
==Systemvoraussetzungen==<br />
* Der IES muss den Server auf dem der IES-Webnode installiert wird per HTTP(S) erreichen können.<br />
* Hardware-Anforderungen sind je nach Anwendungsfall zu prüfen.<br />
<br />
==Installation==<br />
===Installation unter Linux===<br />
<br />
Die Installations-Datei für den IES-Webnode wird mit dem IES mitgeliefert. In dem Verzeichnis IES_HOME/bin liegt die Datei<br />
ies-webnode-server.bin<br />
Diese muss auf das Linux-System kopiert werden, auf dem sich die Webseite befindet, die den IES-Webnode benötigt. Für die Installation vergeben Sie noch die nötigen Ausführungsrechte und führen das Installations-Script anschließend aus:<br />
chmod a+x ies-webnode-server.bin<br />
./ies-webnode-server.bin<br />
Befolgen Sie die Anweisungen.<br />
<br />
Das Installations-Script führt folgende Schritte aus:<br />
* Es wird einen Nutzer und eine Gruppe <code>ies-webnode</code> angelegt<br />
* Es wird ein init-Script unter <code>/etc/init.d/ies-webnode</code> abgelegt.<br />
* Es wird eine Konfigurations-Datei für das init-Script angelegt:<br />
:* bei systemd-Systemen unter /etc/sysconfig/ies-webnode<br />
:* bei init-v-Systemen unter /etc/default/ies-webnode<br />
:In dieser Datei können die Start-Optionen für den IES-Webnode angepasst werden (z.B. <code>JAVA_OPTIONS="-server -Xms512m -Xmx2048m -Xss8m"</code>).<br />
* Der Server wird unterhalb des angegebenen Installations-Verzeichnisses (Standardverzeichnis: <code>/srv/sitepark/ies-webnode</code>) installiert.<br />
<br />
===Proxy-Setzungen für den IES-Webnode===<br />
<br />
Wenn der Webnode über eine Proxy auf andere Systeme zugreifen muss, so ist eine Anpassung im Systemd-Script (<code>/etc/systemd/system/multi-user.target.wants/ies-webnode.service<br />
</code>) notwendig. Folgende Zeilen sind entsprechend in der Sektion "[Service]" zu ergänzen:<br />
Environment=https_proxy=http://10.16.1.1:8080<br />
Environment=http_proxy=http://10.16.1.1:8080<br />
Environment=no_proxy=localhost,127.0.0.1<br />
<br />
===Apache Integration===<br />
<source lang="apache"><br />
<VirtualHost *:443><br />
<br />
...<br />
<br />
ProxyRequests Off<br />
ProxyPreserveHost On<br />
ProxyTimeout 3600<br />
<Proxy balancer://ies-webnode-balancer><br />
Order Deny,Allow<br />
Allow from All<br />
BalancerMember http://localhost:8381<br />
</Proxy><br />
ProxyPassMatch ^(/ies-webnode/.*)$ balancer://ies-webnode-balancer$1<br />
<br />
...<br />
<br />
</VirtualHost><br />
</source><br />
<br />
===IES-Konfiguration===<br />
Wenn der IES-Webnode auf dem Webserver installiert ist, muss die Verbindung für den IES über die Administrations-Oberfläche konfiguriert werden. Bei den Servereinstellungen erscheint der Menüpunkt 'Webnode'. Erstellen Sie hier einen neuen Eintrag und vergeben einen sprechenden Namen. die ''Basis URL des Webnodes'' ist der Host (oder IP-Adress) des Server, auf dem der Webnode installiert wurde. Sollte keine Apache-Einbindung konfiguriert sein, muss hier der Port (default 8381) ergänzt werden (Beispiel: http://my.webnode.de:8381/). Das Passwort wurde bei der Installation automatisch vergeben und befindet sich in der Datei ''[WEBNODE_HOME]/config/realm.properties'' (Beispiel: "api: 123456789abcdef, api" => Login 'api' Passwd: '123456789abcdef')<br />
<br />
====/etc/defaults/ies-webnode====<br />
<br />
=====IES_JAVA_OPTIONS=====<br />
Java Optionen die mit -D angegeben werden<br />
<br />
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)<br />
com.sitepark.net.HttpClient.disableChunked=true<br />
<br />
==Updates==<br />
Der IES-Webnode ist aus IES-Sicht ein IES-Modul und wird auch so wie alle anderen IES-Module über die IES-Admin Oberfläche aktualisiert. Die Update-Dateien werden vom IES-Admin vom zentralen Update-Server von Sitepark herunter geladen und auf die IES-Webnodes verteilt.<br />
Das Update auf den einzelnen IES-Webnodes muss dann allerdings manuell ausgeführt werden. Ob ein Update auf den IES-Webnodes zur Ausführung bereit steht kann innerhalb des IES-Admin im Bereich 'Webnode' nachgesehen werden.<br />
<br />
===Linux===<br />
Steht ein Update die IES-Webnode zur Verfügung kann das Update wie folgt ausgeführt werden<br />
/etc/init.d/ies-webnode stop<br />
/etc/init.d/ies-webnode update<br />
/etc/init.d/ies-webnode start<br />
<br />
==Status abfragen==<br />
Der Webnode kann einen Status-Bericht zum eigenen Prozess und zu den verwalteten Publishern liefern. Hierzu werden Anfragen und Antworten per JSON generiert. Der Kommunikationsaufruf ist dabei i.d.R. folgender:<br />
#Aufruf des Publisher-Status in IES-Admin im Browser -> HTTPS-Request vom Nutzer an den IES<br />
#IES stellt Anfrage an den Webnode des Publishers -> HTTPS-Request an den Webserver auf dem der Webnode installiert wurde (ggf. auch direkt auf Port 8381)<br />
#Webserver leitet Anfrage via Proxy-Request an den lokalen Webnode-Prozess -> HTTP-Request an Webnode<br />
#Webnode erstellt HTTPS-Anfrage an ein PHP-Script im Publisher -> HTTPS-Request an den lokalen Webserver<br />
<br />
Der Python-Aufruf am Ende der Aufrufe (s.u.) sorgt für eine lesbare Darstellung der JSON-Daten. Alternativ kann auch <code>jq</code> verwendet werden.<br />
<br />
<div class="note"><br />
Ein aktuell typisches Problem ist die Problematik von Apache 2.4 und '''PHP-FPM (Fast.CGI)'''. Hier ist Chunked-Transfer-Encoding nicht möglich. Dies muss in den Setzungen des Webnode über<br />
-Dcom.sitepark.net.HttpClient.disableChunked=true<br />
in den Java-Optionen deaktiviert werden.<br />
</div><br />
<br />
===Webnode-Status===<br />
Den Status des Webnode kann man auf dem lokalen System über folgenden <code>curl</code>-Aufruf abfragen:<br />
curl -s "http://api:'''XXX'''@localhost:8381/ies-webnode/admin/rpc/?rpcAction=Server&rpcMethod=getStatus" | python -m json.tool<br />
Die Authentifizierung erfolgt über die URL. Der Login ist <code>api</code>. Dass Passwort ist Ihr API-Key.<br />
Diesen können Sie der Datei <code>realm-properties</code> im Installationsverzeichnis des Webnode entnehmen.<br />
<br />
===Publisher-Status===<br />
Aufruf des Webnodes durch den IES (im Fall einer lokalen Installation):<br />
curl -s "http://api:'''XXX'''@localhost:8381/ies-webnode/admin/rpc/?rpcAction=WebChannel&rpcMethod=getStatus&protocol=https&host='''hostname'''" | python -m json.tool<br />
Die Authentifizierung erfolgt über die URL. Der Login ist <code>api</code>. Dass Passwort ist Ihr API-Key.<br />
<br />
URL für Request des Webnodes auf den Publisher:<br />
curl -k "https://api:'''XXX'''@'''hostname'''/WEB-IES/sitekit-module/php/SP/SiteKit/Rpc/Server/Port.php?rpcAction=SP\\SiteKit\\Rpc\\WebChannel\\Info&rpcMethod=getInfo" | python -m json.tool<br />
<br />
Der Parameter Host ist der Domain-Name des Publisher.<br />
<br />
<div class="note">Zum Debuggen von Problemen kann es hilfreich sein die HTTPS-Konfiguration temp. abzustellen (macro siteNoSSL statt site) und das zippen der Daten (mod_deflate) zu deaktivieren. Anschließend kann die Kommunikation mit <code>ngrep</code> untersucht werden.</div><br />
<br />
<br />
<noinclude><br />
[[Kategorie:Administration| 500]]<br />
[[Category:Module]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=IES-Webnode&diff=10508IES-Webnode2022-10-05T08:23:34Z<p>Sed: /* Systemvoraussetzungen */</p>
<hr />
<div>''Ab IES Version 2.5 verfügbar''<br />
<br />
Der IES-Webnode ist ein Java-Applikations-Server auf Basis des [http://www.eclipse.org/jetty/ Jetty]. Er wird auf Web-Servern installiert, die vom IES generierte Webseiten ausliefern.<br />
Innerhalb des IES-Webnode werden Module installiert, die Funktionalitäten für die Webseite bereite stellen (Z.B. Volltextsuche).<br />
<br />
<br />
<br />
==Systemvoraussetzungen==<br />
* Der IES muss den Server auf dem der IES-Webnode installiert wird per HTTP(S) erreichen können.<br />
* Hardware-Anforderungen sind je nach Anwendungsfall zu prüfen.<br />
<br />
==Installation==<br />
===Installation unter Linux===<br />
<br />
Die Installations-Datei für den IES-Webnode wird mit dem IES mitgeliefert. In dem Verzeichnis IES_HOME/bin liegt die Datei<br />
ies-webnode-server.bin<br />
Diese muss auf das Linux-System kopiert werden, auf dem sich die Webseite befindet, die den IES-Webnode benötigt. Für die Installation vergeben Sie noch die nötigen Ausführungsrechte und führen das Installations-Script anschließend aus:<br />
chmod a+x ies-webnode-server.bin<br />
./ies-webnode-server.bin<br />
Befolgen Sie die Anweisungen.<br />
<br />
Das Installations-Script führt folgende Schritte aus:<br />
* Es wird einen Nutzer und eine Gruppe <code>ies-webnode</code> angelegt<br />
* Es wird ein init-Script unter <code>/etc/init.d/ies-webnode</code> abgelegt.<br />
* Es wird eine Konfigurations-Datei für das init-Script angelegt:<br />
:* bei systemd-Systemen unter /etc/sysconfig/ies-webnode<br />
:* bei init-v-Systemen unter /etc/default/ies-webnode<br />
:In dieser Datei können die Start-Optionen für den IES-Webnode angepasst werden (z.B. <code>JAVA_OPTIONS="-server -Xms512m -Xmx2048m -Xss8m"</code>).<br />
* Der Server wird unterhalb des angegebenen Installations-Verzeichnisses (Standardverzeichnis: <code>/srv/sitepark/ies-webnode</code>) installiert.<br />
<br />
===Apache Integration===<br />
<source lang="apache"><br />
<VirtualHost *:443><br />
<br />
...<br />
<br />
ProxyRequests Off<br />
ProxyPreserveHost On<br />
ProxyTimeout 3600<br />
<Proxy balancer://ies-webnode-balancer><br />
Order Deny,Allow<br />
Allow from All<br />
BalancerMember http://localhost:8381<br />
</Proxy><br />
ProxyPassMatch ^(/ies-webnode/.*)$ balancer://ies-webnode-balancer$1<br />
<br />
...<br />
<br />
</VirtualHost><br />
</source><br />
<br />
===IES-Konfiguration===<br />
Wenn der IES-Webnode auf dem Webserver installiert ist, muss die Verbindung für den IES über die Administrations-Oberfläche konfiguriert werden. Bei den Servereinstellungen erscheint der Menüpunkt 'Webnode'. Erstellen Sie hier einen neuen Eintrag und vergeben einen sprechenden Namen. die ''Basis URL des Webnodes'' ist der Host (oder IP-Adress) des Server, auf dem der Webnode installiert wurde. Sollte keine Apache-Einbindung konfiguriert sein, muss hier der Port (default 8381) ergänzt werden (Beispiel: http://my.webnode.de:8381/). Das Passwort wurde bei der Installation automatisch vergeben und befindet sich in der Datei ''[WEBNODE_HOME]/config/realm.properties'' (Beispiel: "api: 123456789abcdef, api" => Login 'api' Passwd: '123456789abcdef')<br />
<br />
====/etc/defaults/ies-webnode====<br />
<br />
=====IES_JAVA_OPTIONS=====<br />
Java Optionen die mit -D angegeben werden<br />
<br />
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)<br />
com.sitepark.net.HttpClient.disableChunked=true<br />
<br />
==Updates==<br />
Der IES-Webnode ist aus IES-Sicht ein IES-Modul und wird auch so wie alle anderen IES-Module über die IES-Admin Oberfläche aktualisiert. Die Update-Dateien werden vom IES-Admin vom zentralen Update-Server von Sitepark herunter geladen und auf die IES-Webnodes verteilt.<br />
Das Update auf den einzelnen IES-Webnodes muss dann allerdings manuell ausgeführt werden. Ob ein Update auf den IES-Webnodes zur Ausführung bereit steht kann innerhalb des IES-Admin im Bereich 'Webnode' nachgesehen werden.<br />
<br />
===Linux===<br />
Steht ein Update die IES-Webnode zur Verfügung kann das Update wie folgt ausgeführt werden<br />
/etc/init.d/ies-webnode stop<br />
/etc/init.d/ies-webnode update<br />
/etc/init.d/ies-webnode start<br />
<br />
==Status abfragen==<br />
Der Webnode kann einen Status-Bericht zum eigenen Prozess und zu den verwalteten Publishern liefern. Hierzu werden Anfragen und Antworten per JSON generiert. Der Kommunikationsaufruf ist dabei i.d.R. folgender:<br />
#Aufruf des Publisher-Status in IES-Admin im Browser -> HTTPS-Request vom Nutzer an den IES<br />
#IES stellt Anfrage an den Webnode des Publishers -> HTTPS-Request an den Webserver auf dem der Webnode installiert wurde (ggf. auch direkt auf Port 8381)<br />
#Webserver leitet Anfrage via Proxy-Request an den lokalen Webnode-Prozess -> HTTP-Request an Webnode<br />
#Webnode erstellt HTTPS-Anfrage an ein PHP-Script im Publisher -> HTTPS-Request an den lokalen Webserver<br />
<br />
Der Python-Aufruf am Ende der Aufrufe (s.u.) sorgt für eine lesbare Darstellung der JSON-Daten. Alternativ kann auch <code>jq</code> verwendet werden.<br />
<br />
<div class="note"><br />
Ein aktuell typisches Problem ist die Problematik von Apache 2.4 und '''PHP-FPM (Fast.CGI)'''. Hier ist Chunked-Transfer-Encoding nicht möglich. Dies muss in den Setzungen des Webnode über<br />
-Dcom.sitepark.net.HttpClient.disableChunked=true<br />
in den Java-Optionen deaktiviert werden.<br />
</div><br />
<br />
===Webnode-Status===<br />
Den Status des Webnode kann man auf dem lokalen System über folgenden <code>curl</code>-Aufruf abfragen:<br />
curl -s "http://api:'''XXX'''@localhost:8381/ies-webnode/admin/rpc/?rpcAction=Server&rpcMethod=getStatus" | python -m json.tool<br />
Die Authentifizierung erfolgt über die URL. Der Login ist <code>api</code>. Dass Passwort ist Ihr API-Key.<br />
Diesen können Sie der Datei <code>realm-properties</code> im Installationsverzeichnis des Webnode entnehmen.<br />
<br />
===Publisher-Status===<br />
Aufruf des Webnodes durch den IES (im Fall einer lokalen Installation):<br />
curl -s "http://api:'''XXX'''@localhost:8381/ies-webnode/admin/rpc/?rpcAction=WebChannel&rpcMethod=getStatus&protocol=https&host='''hostname'''" | python -m json.tool<br />
Die Authentifizierung erfolgt über die URL. Der Login ist <code>api</code>. Dass Passwort ist Ihr API-Key.<br />
<br />
URL für Request des Webnodes auf den Publisher:<br />
curl -k "https://api:'''XXX'''@'''hostname'''/WEB-IES/sitekit-module/php/SP/SiteKit/Rpc/Server/Port.php?rpcAction=SP\\SiteKit\\Rpc\\WebChannel\\Info&rpcMethod=getInfo" | python -m json.tool<br />
<br />
Der Parameter Host ist der Domain-Name des Publisher.<br />
<br />
<div class="note">Zum Debuggen von Problemen kann es hilfreich sein die HTTPS-Konfiguration temp. abzustellen (macro siteNoSSL statt site) und das zippen der Daten (mod_deflate) zu deaktivieren. Anschließend kann die Kommunikation mit <code>ngrep</code> untersucht werden.</div><br />
<br />
<br />
<noinclude><br />
[[Kategorie:Administration| 500]]<br />
[[Category:Module]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Hauptseite&diff=10506Hauptseite2022-09-29T06:35:23Z<p>Sed: </p>
<hr />
<div><table class="boxes"><br />
<tr><br />
<td><br />
<div class="title">Willkommen im Sitepark Wiki</div><br />
<div class="contents"><br />
Der Sitepark Information Enterprise Server [[IES]] ist der Enterprise Content Management Kern aller Sitepark Produkte. Auf den IES bauen die CMS InfoSite und CitySite, CityCall115, InfoTicket, das Sitepark Wissensmanagement-System sowie eine aufeinander abgestimmte Sammlung von Fachanwendungen für den kommunalen Markt auf.<br />
<br />
Dieses Wiki enthält Informationen für unsere Kunden. Neben den Changelogs unserer Produkte [[Changelog|IES]], [[Changelog InfoSite 5|InfoSite 5]], [[Changelog InfoSite 6|InfoSite 6]], [[Changelog CityGov 3|CityGov 3]] sowie [[Changelog CityCall115|CityCall115]] enthält das Wiki das vollständige Referenzhandbuch für Webentwickler sowie eine Plattform zum Austausch von Codefragmenten und Lösungsvorschlägen.<br />
<br />
Nicht geeignet ist dieses Wiki für Supportanfragen oder Featurewünsche. Um diese zeitnah zu bearbeiten, haben wir hierfür einen speziellen [https://support.sitepark.com/otrs/customer.pl Support-Bereich auf unserer Website] eingerichtet.<br />
<br />
Wir wünschen Ihnen nun viel Freude am Wiki,<br/><br />
Ihr Sitepark-Team<br />
<br />
<br />
<div id="mainpage_sitelinks"><br />
'''[[FAQ|FAQ zum Sitepark Wiki]]''' &nbsp; | &nbsp;<br />
'''[https://meta.wikimedia.org/wiki/Help:Contents/de Hilfe zur Bedienung]''' &nbsp; | &nbsp;<br />
'''[[:SiteparkWiki:Impressum|Impressum]]''' &nbsp; | &nbsp;<br />
'''[[:SiteparkWiki:Datenschutz|Datenschutz]]''' &nbsp; | &nbsp;<br />
Changelogs: '''[[Changelog|IES]]''', '''[[Changelog InfoSite 6|InfoSite 6]]''', '''[[Changelog CityGov – Virtuelle Verwaltung|CityGov]]''', '''[[Changelog_CityCall115|CityCall115]]''', '''[[Sitekit Changelogs|Sitekit]]'''<br />
</div><br />
</div><br />
</td><br />
</tr><br />
</table><br />
<br />
<table class="boxes"><br />
<tr><br />
<td><br />
<div class="title">SPML-Handbuch</div><br />
<div class="contents"><br />
* [[Allgemeine Sprachelemente]]<br />
* [[SPEL|Expression Language (SPEL)]]<br />
* [[SPQL|Query Language (SPQL)]]<br />
* [[Regular-Expression|Reguläre Ausdrücke]]<br />
* [[Datumsformat]]<br />
* [[Zahlenformat]]<br />
* [[Symbolischer Link]]<br />
</div><br />
</td><br />
<td><br />
<div class="title">Referenz Handbuch</div><br />
<div class="contents"><br />
* [[:Kategorie:SP-Tags|SP-Tags]]<br />
* [[:Kategorie:SPT-Tags|SPT-Tags]]<br />
* [[:Kategorie:Objekte|Objekte]]<br />
* [[:Kategorie:Funktionen|Funktionen]]<br />
* [[:Kategorie:Handler|Handler]]<br />
* [[:Kategorie:Dienste|Dienste]]<br />
* [[:Kategorie:Administration|Administration]]<br />
* [[Errorcode|Errorcodes]]<br />
</div><br />
</td><br />
<td><br />
<div class="title">Funktionsbeschreibungen</div><br />
<div class="contents"><br />
* [[IES-Ökosystem]]<br />
* [[XIP LDAP Import Beispiel|LDAP]]<br />
* [[Locking]]<br />
* [[Dokumentation der Funktionsweise vom Solr-Modul|Solr]]<br />
* [[:Kategorie:XIP|XIP]]<br />
</div><br />
</td><br />
</tr><br />
</table></div>Sedhttps://wiki.sitepark.com/index.php?title=Systemvoraussetzungen&diff=10505Systemvoraussetzungen2022-09-28T13:13:07Z<p>Sed: /* Hardware */</p>
<hr />
<div>Systemvoraussetzungen für Neuinstallationen und den Betrieb des [[IES]].<br />
<br />
<div class="note"><br />
Da sich die als Voraussetzungen genannten Komponenten kontinuierlich weiterentwickeln und wir dieses Wiki nicht im gleichen Takt anpassen können, möchten wir Sie bitten vor einer Installation stets Kontakt mit uns aufzunehmen um die konkreten Anforderungen abzustimmen. Dies macht auch im Bezug auf die Skalierung der Systeme Sinn. Gerne beraten wir Sie hierzu.<br />
support@sitepark.com<br />
</div><br />
<br />
==Betriebssysteme==<br />
Wir unterstützen nur 64bit-Linux-Systeme.<br />
<br />
===Linux===<br />
<div class="note"><br />
Grundsätzlich sollten immer die neuesten Versionen eines Betriebssystem für Neuinstallationen eingesetzt werden; wir behalten uns vor, bestimmte Updates von Softwareversionen (z.B. PHP) abhängig zu machen.<br />
</div><br />
Es werden aktuell nur noch folgende Distributionen unterstützt:<br />
* Ubuntu Server in den aktuellen LTS-Versionen (z.Z. 22.04) '''[empfohlen]'''<br />
* Debian (ab Version 10)<br />
* Suse (nur in Abstimmung)<br />
* Redhat (nur in Abstimmung)<br />
<br />
Zukünftige Entwicklungen können es notwendig machen, dass Zugriff auf Online-Repositories der Linux-Distributionen besteht, um neueste oder benötige Pakete nachträglich installieren zu können; Sitepark achtet darauf, dass in den Standard-Repositories der Distributionen jeweils Pakete vorhanden sind, die die Lauffähigkeit der Software sicher stellen. Dennoch sind gerade im Bereich PHP mittelfristig Updates zu erwarten, die Alternativen erfordern. Weiterentwicklungen und Sicherheitsupdates sowie Abhängigkeiten von Open-Source-Bibliotheken erfordern hier häufig aktuelle Versionen. <br />
<br />
====Abhängigkeiten====<br />
* MySQL 8.0+ oder MariaDB 10.3+<br />
* Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>)<br />
* ImageMagick (http://www.imagemagick.org/)<br />
* MediaInfo (https://mediaarea.net/de/MediaInfo)<br />
* rsvg-convert (https://de.wikipedia.org/wiki/Librsvg)<br />
* curl, grep, egrep, netstat, ps, tail, useradd, groupadd, chown, sum, awk, head, nm, bc, sudo<br />
Die hier genannten Abhängigkeiten sind durch die aufgeführten Distributionen erfüllbar und werden teilweise bereits automatisch installiert.<br />
<br />
(''Hinweis:'' Je nach Linux-Distribution sind einzelne Tools zum Beispiel in Paketen wie <code>net-tools</code>, <code>coreutils</code>, <code>binutils</code>, <code>passwd</code> und anderen organisiert.)<br />
<br />
Für Websites auf Basis der <code>Sitekit</code>-Technologie gelten weitern folgende Voraussetzungen:<br />
* Locales in allen gewünschten Sprachen der Websites (gerne installieren wir hier direkt alle Sprachen um der Redaktion freie Hand zu lassen)<br />
* mind. PHP 7.4+, PHP 8.x (siehe auch [[Installationsanleitung PHP]]), Empfehlung: PHP-FPM<br />
<br />
(''Hinweis:'' Gerade die verwendete PHP-Version wird regelmäßig auf aktuelle Major-Versionen aktualisiert werden müssen. Ein Betrieb wie früher, bei dem eine PHP-Version über Jahre verwendet werden konnte ist aufgrund der vielen Abhängigkeiten zu Opensource-Bibliotheken nicht mehr möglich. Hier muss man dem Update-Pfaden folgen.)<br />
<br />
==Hardware==<br />
Die Leistungsstärke der Hardware ist in Abhängigkeit zum zu realisierenden Projekt individuell unterschiedlich. Die hier angegebenen Anforderungen und Empfehlungen sind als Richtwerte zu verstehen.<br />
<br />
Relevante Kenngrößen sind die CPU-Leistungsfähigkeit, die RAM-Größe, die Zugriffsgeschwindigkeit auf die Speichergeräte (Festplatten) und die Netzwerkanbindung.<br />
<br />
Der IES hält während des Betriebs im optimalen Fall alle von ihm verwaltetet Daten im Arbeitsspeicher, ebenso sollte die MySQL-Datenbank komplett dort liegen. Auslagerungen auf die Festplatte bremsen das System unnötig aus. Der IES schreibt datenbankunabhängige echte Webseiten auf die Festplatte. Diese Dateien werden vom Webserver ausgeliefert; dabei findet kein Datenbankzugriff mehr statt. Ein schnelles Schreiben der Daten für den Webserver (Festplatten-Schreib-Geschwindigkeit) ist ebenso notwendig wie ein schnelles Lesen der Daten für die Auslieferung. Wenn das Dateisystem für den die Seiten ausliefernden Webserver über das Netzwerk verfügbar gemacht wird, ist die Netzwerkgeschwindigkeit ebenfalls für ein performantes Gesamtsystem sehr wichtig.<br />
<div class="note"><br />
Die Anforderungen können sich während des Betriebs des IES je nach Anwendungsszenario und Veränderungen in der Datenmenge oder Nutzermenge verändern. Mehr Daten benötigen mehr Speicherplatz (RAM und Festplatte), höhere Nutzungsfrequenzen benötigen schnellere bzw. breitere Netzwerk-Anbindungen und CPU-Leistungsfähigkeit. Wir empfehlen den Betrieb in einer virtuellen Umgebung, damit Sie flexibel auf Änderungen der Anforderungen reagieren können.<br />
</div><br />
<br />
===Architektur===<br />
Wir empfehlen ausdrücklich die Trennung von CMS-System und Webserver. Diese können dabei in verschiedenen Netzwerk-Zonen liegen und arbeiten weitestgehend autonom voneinander. Dies ist eine Kern-Funktion des IES und schützt dadurch die Daten noch besser vor Angriffen.<br />
Das CMS schreibt idealerweise die Daten in lokale DocumentRoots, die dann per <code>rsync</code> auf die Webserver (Cluster möglich) übertragen werden. Details hierzu erfragen Sie gerne bei uns.<br />
<br />
===Minimal-Anforderung===<br />
Prozessor P4 1GHZ 64bit, 2 GB Hauptspeicher PLUS die 1,2-fache Menge der Größe der MySQL-Datenbank, 18 GB HDD, Netzwerk<br />
<br />
===Empfehlung===<br />
Mehrprozessorsystem (z.B. QuadCore) ~3GHz 64Bit, >=8 GB RAM die 2-fache Menge der Größe der MySQL-Datenbank, RAID-10-System mit 100 GB SSD, Gbit-Netzwerk<br />
<br />
Die Schreib- und Lesezugriffe auf die Festplatte sollten für ein performantes Arbeiten folgende Werte (im Durchschnitt) nicht unterschreiten: <strong>Lesen 300MB/sek, Schreiben 120MB/sek</strong>.<br />
<br />
==Java==<br />
===JDK - Java Development Kit===<br />
Wird von System mit geliefert und aktuell gehalten.<br />
<br />
==Webserver==<br />
===Apache 2===<br />
Weitere Informationen finden Sie unter http://www.apache.org<br />
Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>).<br />
<br />
Empfohlene Module für die Integration des IES in den Apache:<br />
mod_proxy<br />
mod_proxy_balancer<br />
mod_proxy_http<br />
mod_rewrite<br />
mod_ssl<br />
mod_headers <br />
<br />
Informationen zur Konfiguration finden Sie unter [[Integration des IES in den Apache]].<br />
<br />
Für die Auslieferung von Webseiten wird PHP benötigt; der Webserver benötigt dann verschiedene PHP-Erweiterungen [[Installationsanleitung PHP]].<br />
<br />
==Datenbank==<br />
===MySQL / MariaDB===<br />
Weitere Informationen finden Sie unter<br />
* http://www.mysql.com<br />
* http://mariadb.org<br />
<br />
Engine: InnoDB<br />
MySQL in der Version >= 8.0.1+<br />
MariaDB in der Version >= 10.3+<br />
<br />
Zur Konfiguration finden Sie unter [[Hinweise zu MySQL]] wichtige Informationen.<br />
<br />
==Mailserver==<br />
Wird ein MailPublisher verwendet empfehlen wir aus unterschiedlichen Gründen die Installation eines lokalen Mailservers (Sendmail, Postfix, QMail, etc.) auch wenn in dem entsprechendem Netzwerk ein separater Mailserver konfiguriert wurde.<br />
<br />
Gründe für den Einsatz eines lokalen Mailservers:<br />
# Die Publikation von Artikeln über den Mail-Publisher ist wesentlich schneller, da keine Netzwerk-Kommunikation notwendig ist. Gerade beim Versand von Newslettern an sehr viele Adressaten ist hier ein signifikanter Performanzvorteil zu erkennen.<br />
# Bei Problemen im lokalen Netzwerk bzw. der temp. Überlastung des Mailservers werden keine E-Mails verschickt. Ein späterer Versand würde nicht erfolgen, da der IES nicht ''spooled''. Dies ist Aufgabe eines Mailservers und würde durch einen lokalen Mailserver auf ideale Weise erfüllt.<br />
<br />
Die Konfiguration des lokalen Mailservers sollte daher bereits bei der Installation des IES erfolgen. Der IES ist grundsätzlich für die lokale E-Mail-Auslieferung konfiguriert.<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 100]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Systemvoraussetzungen&diff=10504Systemvoraussetzungen2022-09-28T13:12:40Z<p>Sed: /* Hardware */</p>
<hr />
<div>Systemvoraussetzungen für Neuinstallationen und den Betrieb des [[IES]].<br />
<br />
<div class="note"><br />
Da sich die als Voraussetzungen genannten Komponenten kontinuierlich weiterentwickeln und wir dieses Wiki nicht im gleichen Takt anpassen können, möchten wir Sie bitten vor einer Installation stets Kontakt mit uns aufzunehmen um die konkreten Anforderungen abzustimmen. Dies macht auch im Bezug auf die Skalierung der Systeme Sinn. Gerne beraten wir Sie hierzu.<br />
support@sitepark.com<br />
</div><br />
<br />
==Betriebssysteme==<br />
Wir unterstützen nur 64bit-Linux-Systeme.<br />
<br />
===Linux===<br />
<div class="note"><br />
Grundsätzlich sollten immer die neuesten Versionen eines Betriebssystem für Neuinstallationen eingesetzt werden; wir behalten uns vor, bestimmte Updates von Softwareversionen (z.B. PHP) abhängig zu machen.<br />
</div><br />
Es werden aktuell nur noch folgende Distributionen unterstützt:<br />
* Ubuntu Server in den aktuellen LTS-Versionen (z.Z. 22.04) '''[empfohlen]'''<br />
* Debian (ab Version 10)<br />
* Suse (nur in Abstimmung)<br />
* Redhat (nur in Abstimmung)<br />
<br />
Zukünftige Entwicklungen können es notwendig machen, dass Zugriff auf Online-Repositories der Linux-Distributionen besteht, um neueste oder benötige Pakete nachträglich installieren zu können; Sitepark achtet darauf, dass in den Standard-Repositories der Distributionen jeweils Pakete vorhanden sind, die die Lauffähigkeit der Software sicher stellen. Dennoch sind gerade im Bereich PHP mittelfristig Updates zu erwarten, die Alternativen erfordern. Weiterentwicklungen und Sicherheitsupdates sowie Abhängigkeiten von Open-Source-Bibliotheken erfordern hier häufig aktuelle Versionen. <br />
<br />
====Abhängigkeiten====<br />
* MySQL 8.0+ oder MariaDB 10.3+<br />
* Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>)<br />
* ImageMagick (http://www.imagemagick.org/)<br />
* MediaInfo (https://mediaarea.net/de/MediaInfo)<br />
* rsvg-convert (https://de.wikipedia.org/wiki/Librsvg)<br />
* curl, grep, egrep, netstat, ps, tail, useradd, groupadd, chown, sum, awk, head, nm, bc, sudo<br />
Die hier genannten Abhängigkeiten sind durch die aufgeführten Distributionen erfüllbar und werden teilweise bereits automatisch installiert.<br />
<br />
(''Hinweis:'' Je nach Linux-Distribution sind einzelne Tools zum Beispiel in Paketen wie <code>net-tools</code>, <code>coreutils</code>, <code>binutils</code>, <code>passwd</code> und anderen organisiert.)<br />
<br />
Für Websites auf Basis der <code>Sitekit</code>-Technologie gelten weitern folgende Voraussetzungen:<br />
* Locales in allen gewünschten Sprachen der Websites (gerne installieren wir hier direkt alle Sprachen um der Redaktion freie Hand zu lassen)<br />
* mind. PHP 7.4+, PHP 8.x (siehe auch [[Installationsanleitung PHP]]), Empfehlung: PHP-FPM<br />
<br />
(''Hinweis:'' Gerade die verwendete PHP-Version wird regelmäßig auf aktuelle Major-Versionen aktualisiert werden müssen. Ein Betrieb wie früher, bei dem eine PHP-Version über Jahre verwendet werden konnte ist aufgrund der vielen Abhängigkeiten zu Opensource-Bibliotheken nicht mehr möglich. Hier muss man dem Update-Pfaden folgen.)<br />
<br />
==Hardware==<br />
Die Leistungsstärke der Hardware ist in Abhängigkeit zum zu realisierenden Projekt individuell unterschiedlich. Die hier angegebenen Anforderungen und Empfehlungen sind als Richtwerte zu verstehen.<br />
<br />
Relevante Kenngrößen sind die CPU-Leistungsfähigkeit, die RAM-Größe, die Zugriffsgeschwindigkeit auf die Speichergeräte (Festplatten) und die Netzwerkanbindung.<br />
<br />
Der IES hält während des Betriebs im optimalen Fall alle von ihm verwaltetet Daten im Arbeitsspeicher, ebenso sollte die MySQL-Datenbank komplett dort liegen. Auslagerungen auf die Festplatte bremsen das System unnötig aus. Der IES schreibt datenbankunabhängige echte Webseiten auf die Festplatte. Diese Dateien werden vom Webserver ausgeliefert; dabei findet kein Datenbankzugriff mehr statt. Ein schnelles Schreiben der Daten für den Webserver (Festplatten-Schreib-Geschwindigkeit) ist ebenso notwendig wie ein schnelles Lesen der Daten für die Auslieferung. Wenn das Dateisystem für den die Seiten ausliefernden Webserver über das Netzwerk verfügbar gemacht wird, ist die Netzwerkgeschwindigkeit ebenfalls für ein performantes Gesamtsystem sehr wichtig.<br />
<div class="note"><br />
Die Anforderungen können sich während des Betriebs des IES je nach Anwendungsszenario und Veränderungen in der Datenmenge oder Nutzermenge verändern. Mehr Daten benötigen mehr Speicherplatz (RAM und Festplatte), höhere Nutzungsfrequenzen benötigen schnellere bzw. breitere Netzwerk-Anbindungen und CPU-Leistungsfähigkeit. Wir empfehlen den Betrieb in einer virtuellen Umgebung, damit Sie flexibel auf Änderungen der Anforderungen reagieren können.<br />
</div><br />
<br />
Wir empfehlen ausdrücklich die Trennung von CMS-System und Webserver. Diese können dabei in verschiedenen Netzwerk-Zonen liegen und arbeiten weitestgehend autonom voneinander. Dies ist eine Kern-Funktion des IES und schützt dadurch die Daten noch besser vor Angriffen.<br />
Das CMS schreibt idealerweise die Daten in lokale DocumentRoots, die dann per <code>rsync</code> auf die Webserver (Cluster möglich) übertragen werden. Details hierzu erfragen Sie gerne bei uns.<br />
<br />
===Minimal-Anforderung===<br />
Prozessor P4 1GHZ 64bit, 2 GB Hauptspeicher PLUS die 1,2-fache Menge der Größe der MySQL-Datenbank, 18 GB HDD, Netzwerk<br />
<br />
===Empfehlung===<br />
Mehrprozessorsystem (z.B. QuadCore) ~3GHz 64Bit, >=8 GB RAM die 2-fache Menge der Größe der MySQL-Datenbank, RAID-10-System mit 100 GB SSD, Gbit-Netzwerk<br />
<br />
Die Schreib- und Lesezugriffe auf die Festplatte sollten für ein performantes Arbeiten folgende Werte (im Durchschnitt) nicht unterschreiten: <strong>Lesen 300MB/sek, Schreiben 120MB/sek</strong>.<br />
<br />
==Java==<br />
===JDK - Java Development Kit===<br />
Wird von System mit geliefert und aktuell gehalten.<br />
<br />
==Webserver==<br />
===Apache 2===<br />
Weitere Informationen finden Sie unter http://www.apache.org<br />
Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>).<br />
<br />
Empfohlene Module für die Integration des IES in den Apache:<br />
mod_proxy<br />
mod_proxy_balancer<br />
mod_proxy_http<br />
mod_rewrite<br />
mod_ssl<br />
mod_headers <br />
<br />
Informationen zur Konfiguration finden Sie unter [[Integration des IES in den Apache]].<br />
<br />
Für die Auslieferung von Webseiten wird PHP benötigt; der Webserver benötigt dann verschiedene PHP-Erweiterungen [[Installationsanleitung PHP]].<br />
<br />
==Datenbank==<br />
===MySQL / MariaDB===<br />
Weitere Informationen finden Sie unter<br />
* http://www.mysql.com<br />
* http://mariadb.org<br />
<br />
Engine: InnoDB<br />
MySQL in der Version >= 8.0.1+<br />
MariaDB in der Version >= 10.3+<br />
<br />
Zur Konfiguration finden Sie unter [[Hinweise zu MySQL]] wichtige Informationen.<br />
<br />
==Mailserver==<br />
Wird ein MailPublisher verwendet empfehlen wir aus unterschiedlichen Gründen die Installation eines lokalen Mailservers (Sendmail, Postfix, QMail, etc.) auch wenn in dem entsprechendem Netzwerk ein separater Mailserver konfiguriert wurde.<br />
<br />
Gründe für den Einsatz eines lokalen Mailservers:<br />
# Die Publikation von Artikeln über den Mail-Publisher ist wesentlich schneller, da keine Netzwerk-Kommunikation notwendig ist. Gerade beim Versand von Newslettern an sehr viele Adressaten ist hier ein signifikanter Performanzvorteil zu erkennen.<br />
# Bei Problemen im lokalen Netzwerk bzw. der temp. Überlastung des Mailservers werden keine E-Mails verschickt. Ein späterer Versand würde nicht erfolgen, da der IES nicht ''spooled''. Dies ist Aufgabe eines Mailservers und würde durch einen lokalen Mailserver auf ideale Weise erfüllt.<br />
<br />
Die Konfiguration des lokalen Mailservers sollte daher bereits bei der Installation des IES erfolgen. Der IES ist grundsätzlich für die lokale E-Mail-Auslieferung konfiguriert.<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 100]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Systemvoraussetzungen&diff=10503Systemvoraussetzungen2022-09-28T13:09:32Z<p>Sed: /* Empfehlung */</p>
<hr />
<div>Systemvoraussetzungen für Neuinstallationen und den Betrieb des [[IES]].<br />
<br />
<div class="note"><br />
Da sich die als Voraussetzungen genannten Komponenten kontinuierlich weiterentwickeln und wir dieses Wiki nicht im gleichen Takt anpassen können, möchten wir Sie bitten vor einer Installation stets Kontakt mit uns aufzunehmen um die konkreten Anforderungen abzustimmen. Dies macht auch im Bezug auf die Skalierung der Systeme Sinn. Gerne beraten wir Sie hierzu.<br />
support@sitepark.com<br />
</div><br />
<br />
==Betriebssysteme==<br />
Wir unterstützen nur 64bit-Linux-Systeme.<br />
<br />
===Linux===<br />
<div class="note"><br />
Grundsätzlich sollten immer die neuesten Versionen eines Betriebssystem für Neuinstallationen eingesetzt werden; wir behalten uns vor, bestimmte Updates von Softwareversionen (z.B. PHP) abhängig zu machen.<br />
</div><br />
Es werden aktuell nur noch folgende Distributionen unterstützt:<br />
* Ubuntu Server in den aktuellen LTS-Versionen (z.Z. 22.04) '''[empfohlen]'''<br />
* Debian (ab Version 10)<br />
* Suse (nur in Abstimmung)<br />
* Redhat (nur in Abstimmung)<br />
<br />
Zukünftige Entwicklungen können es notwendig machen, dass Zugriff auf Online-Repositories der Linux-Distributionen besteht, um neueste oder benötige Pakete nachträglich installieren zu können; Sitepark achtet darauf, dass in den Standard-Repositories der Distributionen jeweils Pakete vorhanden sind, die die Lauffähigkeit der Software sicher stellen. Dennoch sind gerade im Bereich PHP mittelfristig Updates zu erwarten, die Alternativen erfordern. Weiterentwicklungen und Sicherheitsupdates sowie Abhängigkeiten von Open-Source-Bibliotheken erfordern hier häufig aktuelle Versionen. <br />
<br />
====Abhängigkeiten====<br />
* MySQL 8.0+ oder MariaDB 10.3+<br />
* Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>)<br />
* ImageMagick (http://www.imagemagick.org/)<br />
* MediaInfo (https://mediaarea.net/de/MediaInfo)<br />
* rsvg-convert (https://de.wikipedia.org/wiki/Librsvg)<br />
* curl, grep, egrep, netstat, ps, tail, useradd, groupadd, chown, sum, awk, head, nm, bc, sudo<br />
Die hier genannten Abhängigkeiten sind durch die aufgeführten Distributionen erfüllbar und werden teilweise bereits automatisch installiert.<br />
<br />
(''Hinweis:'' Je nach Linux-Distribution sind einzelne Tools zum Beispiel in Paketen wie <code>net-tools</code>, <code>coreutils</code>, <code>binutils</code>, <code>passwd</code> und anderen organisiert.)<br />
<br />
Für Websites auf Basis der <code>Sitekit</code>-Technologie gelten weitern folgende Voraussetzungen:<br />
* Locales in allen gewünschten Sprachen der Websites (gerne installieren wir hier direkt alle Sprachen um der Redaktion freie Hand zu lassen)<br />
* mind. PHP 7.4+, PHP 8.x (siehe auch [[Installationsanleitung PHP]]), Empfehlung: PHP-FPM<br />
<br />
(''Hinweis:'' Gerade die verwendete PHP-Version wird regelmäßig auf aktuelle Major-Versionen aktualisiert werden müssen. Ein Betrieb wie früher, bei dem eine PHP-Version über Jahre verwendet werden konnte ist aufgrund der vielen Abhängigkeiten zu Opensource-Bibliotheken nicht mehr möglich. Hier muss man dem Update-Pfaden folgen.)<br />
<br />
==Hardware==<br />
Die Leistungsstärke der Hardware ist in Abhängigkeit zum zu realisierenden Projekt individuell unterschiedlich. Die hier angegebenen Anforderungen und Empfehlungen sind als Richtwerte zu verstehen.<br />
<br />
Relevante Kenngrößen sind die CPU-Leistungsfähigkeit, die RAM-Größe, die Zugriffsgeschwindigkeit auf die Speichergeräte (Festplatten) und die Netzwerkanbindung.<br />
<br />
Der IES hält während des Betriebs im optimalen Fall alle von ihm verwaltetet Daten im Arbeitsspeicher, ebenso sollte die MySQL-Datenbank komplett dort liegen. Auslagerungen auf die Festplatte bremsen das System unnötig aus. Der IES schreibt datenbankunabhängige echte Webseiten auf die Festplatte. Diese Dateien werden vom Webserver ausgeliefert; dabei findet kein Datenbankzugriff mehr statt. Ein schnelles Schreiben der Daten für den Webserver (Festplatten-Schreib-Geschwindigkeit) ist ebenso notwendig wie ein schnelles Lesen der Daten für die Auslieferung. Wenn das Dateisystem für den die Seiten ausliefernden Webserver über das Netzwerk verfügbar gemacht wird, ist die Netzwerkgeschwindigkeit ebenfalls für ein performantes Gesamtsystem sehr wichtig.<br />
<div class="note"><br />
Die Anforderungen können sich während des Betriebs des IES je nach Anwendungsszenario und Veränderungen in der Datenmenge oder Nutzermenge verändern. Mehr Daten benötigen mehr Speicherplatz (RAM und Festplatte), höhere Nutzungsfrequenzen benötigen schnellere bzw. breitere Netzwerk-Anbindungen und CPU-Leistungsfähigkeit. Wir empfehlen den Betrieb in einer virtuellen Umgebung, damit Sie flexibel auf Änderungen der Anforderungen reagieren können.<br />
</div><br />
<br />
===Minimal-Anforderung===<br />
Prozessor P4 1GHZ 64bit, 2 GB Hauptspeicher PLUS die 1,2fache Menge der Größe der MySQL-Datenbank, 18 GB HDD, Netzwerk<br />
<br />
===Empfehlung===<br />
Mehrprozessorsystem (z.B. QuadCore) ~3GHz 64Bit, >=8 GB RAM die 2-fache Menge der Größe der MySQL-Datenbank, RAID-10-System mit 100 GB SSD, Gbit-Netzwerk<br />
<br />
Die Schreib- und Lesezugriffe auf die Festplatte sollten für ein performantes Arbeiten folgende Werte (im Durchschnitt) nicht unterschreiten: <strong>Lesen 300MB/sek, Schreiben 120MB/sek</strong>.<br />
<br />
==Java==<br />
===JDK - Java Development Kit===<br />
Wird von System mit geliefert und aktuell gehalten.<br />
<br />
==Webserver==<br />
===Apache 2===<br />
Weitere Informationen finden Sie unter http://www.apache.org<br />
Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>).<br />
<br />
Empfohlene Module für die Integration des IES in den Apache:<br />
mod_proxy<br />
mod_proxy_balancer<br />
mod_proxy_http<br />
mod_rewrite<br />
mod_ssl<br />
mod_headers <br />
<br />
Informationen zur Konfiguration finden Sie unter [[Integration des IES in den Apache]].<br />
<br />
Für die Auslieferung von Webseiten wird PHP benötigt; der Webserver benötigt dann verschiedene PHP-Erweiterungen [[Installationsanleitung PHP]].<br />
<br />
==Datenbank==<br />
===MySQL / MariaDB===<br />
Weitere Informationen finden Sie unter<br />
* http://www.mysql.com<br />
* http://mariadb.org<br />
<br />
Engine: InnoDB<br />
MySQL in der Version >= 8.0.1+<br />
MariaDB in der Version >= 10.3+<br />
<br />
Zur Konfiguration finden Sie unter [[Hinweise zu MySQL]] wichtige Informationen.<br />
<br />
==Mailserver==<br />
Wird ein MailPublisher verwendet empfehlen wir aus unterschiedlichen Gründen die Installation eines lokalen Mailservers (Sendmail, Postfix, QMail, etc.) auch wenn in dem entsprechendem Netzwerk ein separater Mailserver konfiguriert wurde.<br />
<br />
Gründe für den Einsatz eines lokalen Mailservers:<br />
# Die Publikation von Artikeln über den Mail-Publisher ist wesentlich schneller, da keine Netzwerk-Kommunikation notwendig ist. Gerade beim Versand von Newslettern an sehr viele Adressaten ist hier ein signifikanter Performanzvorteil zu erkennen.<br />
# Bei Problemen im lokalen Netzwerk bzw. der temp. Überlastung des Mailservers werden keine E-Mails verschickt. Ein späterer Versand würde nicht erfolgen, da der IES nicht ''spooled''. Dies ist Aufgabe eines Mailservers und würde durch einen lokalen Mailserver auf ideale Weise erfüllt.<br />
<br />
Die Konfiguration des lokalen Mailservers sollte daher bereits bei der Installation des IES erfolgen. Der IES ist grundsätzlich für die lokale E-Mail-Auslieferung konfiguriert.<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 100]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Systemvoraussetzungen&diff=10502Systemvoraussetzungen2022-09-28T13:07:49Z<p>Sed: /* Apache 2 */</p>
<hr />
<div>Systemvoraussetzungen für Neuinstallationen und den Betrieb des [[IES]].<br />
<br />
<div class="note"><br />
Da sich die als Voraussetzungen genannten Komponenten kontinuierlich weiterentwickeln und wir dieses Wiki nicht im gleichen Takt anpassen können, möchten wir Sie bitten vor einer Installation stets Kontakt mit uns aufzunehmen um die konkreten Anforderungen abzustimmen. Dies macht auch im Bezug auf die Skalierung der Systeme Sinn. Gerne beraten wir Sie hierzu.<br />
support@sitepark.com<br />
</div><br />
<br />
==Betriebssysteme==<br />
Wir unterstützen nur 64bit-Linux-Systeme.<br />
<br />
===Linux===<br />
<div class="note"><br />
Grundsätzlich sollten immer die neuesten Versionen eines Betriebssystem für Neuinstallationen eingesetzt werden; wir behalten uns vor, bestimmte Updates von Softwareversionen (z.B. PHP) abhängig zu machen.<br />
</div><br />
Es werden aktuell nur noch folgende Distributionen unterstützt:<br />
* Ubuntu Server in den aktuellen LTS-Versionen (z.Z. 22.04) '''[empfohlen]'''<br />
* Debian (ab Version 10)<br />
* Suse (nur in Abstimmung)<br />
* Redhat (nur in Abstimmung)<br />
<br />
Zukünftige Entwicklungen können es notwendig machen, dass Zugriff auf Online-Repositories der Linux-Distributionen besteht, um neueste oder benötige Pakete nachträglich installieren zu können; Sitepark achtet darauf, dass in den Standard-Repositories der Distributionen jeweils Pakete vorhanden sind, die die Lauffähigkeit der Software sicher stellen. Dennoch sind gerade im Bereich PHP mittelfristig Updates zu erwarten, die Alternativen erfordern. Weiterentwicklungen und Sicherheitsupdates sowie Abhängigkeiten von Open-Source-Bibliotheken erfordern hier häufig aktuelle Versionen. <br />
<br />
====Abhängigkeiten====<br />
* MySQL 8.0+ oder MariaDB 10.3+<br />
* Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>)<br />
* ImageMagick (http://www.imagemagick.org/)<br />
* MediaInfo (https://mediaarea.net/de/MediaInfo)<br />
* rsvg-convert (https://de.wikipedia.org/wiki/Librsvg)<br />
* curl, grep, egrep, netstat, ps, tail, useradd, groupadd, chown, sum, awk, head, nm, bc, sudo<br />
Die hier genannten Abhängigkeiten sind durch die aufgeführten Distributionen erfüllbar und werden teilweise bereits automatisch installiert.<br />
<br />
(''Hinweis:'' Je nach Linux-Distribution sind einzelne Tools zum Beispiel in Paketen wie <code>net-tools</code>, <code>coreutils</code>, <code>binutils</code>, <code>passwd</code> und anderen organisiert.)<br />
<br />
Für Websites auf Basis der <code>Sitekit</code>-Technologie gelten weitern folgende Voraussetzungen:<br />
* Locales in allen gewünschten Sprachen der Websites (gerne installieren wir hier direkt alle Sprachen um der Redaktion freie Hand zu lassen)<br />
* mind. PHP 7.4+, PHP 8.x (siehe auch [[Installationsanleitung PHP]]), Empfehlung: PHP-FPM<br />
<br />
(''Hinweis:'' Gerade die verwendete PHP-Version wird regelmäßig auf aktuelle Major-Versionen aktualisiert werden müssen. Ein Betrieb wie früher, bei dem eine PHP-Version über Jahre verwendet werden konnte ist aufgrund der vielen Abhängigkeiten zu Opensource-Bibliotheken nicht mehr möglich. Hier muss man dem Update-Pfaden folgen.)<br />
<br />
==Hardware==<br />
Die Leistungsstärke der Hardware ist in Abhängigkeit zum zu realisierenden Projekt individuell unterschiedlich. Die hier angegebenen Anforderungen und Empfehlungen sind als Richtwerte zu verstehen.<br />
<br />
Relevante Kenngrößen sind die CPU-Leistungsfähigkeit, die RAM-Größe, die Zugriffsgeschwindigkeit auf die Speichergeräte (Festplatten) und die Netzwerkanbindung.<br />
<br />
Der IES hält während des Betriebs im optimalen Fall alle von ihm verwaltetet Daten im Arbeitsspeicher, ebenso sollte die MySQL-Datenbank komplett dort liegen. Auslagerungen auf die Festplatte bremsen das System unnötig aus. Der IES schreibt datenbankunabhängige echte Webseiten auf die Festplatte. Diese Dateien werden vom Webserver ausgeliefert; dabei findet kein Datenbankzugriff mehr statt. Ein schnelles Schreiben der Daten für den Webserver (Festplatten-Schreib-Geschwindigkeit) ist ebenso notwendig wie ein schnelles Lesen der Daten für die Auslieferung. Wenn das Dateisystem für den die Seiten ausliefernden Webserver über das Netzwerk verfügbar gemacht wird, ist die Netzwerkgeschwindigkeit ebenfalls für ein performantes Gesamtsystem sehr wichtig.<br />
<div class="note"><br />
Die Anforderungen können sich während des Betriebs des IES je nach Anwendungsszenario und Veränderungen in der Datenmenge oder Nutzermenge verändern. Mehr Daten benötigen mehr Speicherplatz (RAM und Festplatte), höhere Nutzungsfrequenzen benötigen schnellere bzw. breitere Netzwerk-Anbindungen und CPU-Leistungsfähigkeit. Wir empfehlen den Betrieb in einer virtuellen Umgebung, damit Sie flexibel auf Änderungen der Anforderungen reagieren können.<br />
</div><br />
<br />
===Minimal-Anforderung===<br />
Prozessor P4 1GHZ 64bit, 2 GB Hauptspeicher PLUS die 1,2fache Menge der Größe der MySQL-Datenbank, 18 GB HDD, Netzwerk<br />
<br />
===Empfehlung===<br />
Mehrprozessorsystem (z.B. QuadCore) ~3GHz 64Bit, 8 GB RAM PLUS die 2fache Menge der Größe der MySQL-Datenbank, RAID-10-System mit 100 GB HDD, Gbit-Netzwerk<br />
<br />
Die Schreib- und Lesezugriffe auf die Festplatte sollten für ein performantes Arbeiten folgende Werte (im Durchschnitt) nicht unterschreiten: <strong>Lesen 300MB/sek, Schreiben 120MB/sek</strong>.<br />
<br />
==Java==<br />
===JDK - Java Development Kit===<br />
Wird von System mit geliefert und aktuell gehalten.<br />
<br />
==Webserver==<br />
===Apache 2===<br />
Weitere Informationen finden Sie unter http://www.apache.org<br />
Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>).<br />
<br />
Empfohlene Module für die Integration des IES in den Apache:<br />
mod_proxy<br />
mod_proxy_balancer<br />
mod_proxy_http<br />
mod_rewrite<br />
mod_ssl<br />
mod_headers <br />
<br />
Informationen zur Konfiguration finden Sie unter [[Integration des IES in den Apache]].<br />
<br />
Für die Auslieferung von Webseiten wird PHP benötigt; der Webserver benötigt dann verschiedene PHP-Erweiterungen [[Installationsanleitung PHP]].<br />
<br />
==Datenbank==<br />
===MySQL / MariaDB===<br />
Weitere Informationen finden Sie unter<br />
* http://www.mysql.com<br />
* http://mariadb.org<br />
<br />
Engine: InnoDB<br />
MySQL in der Version >= 8.0.1+<br />
MariaDB in der Version >= 10.3+<br />
<br />
Zur Konfiguration finden Sie unter [[Hinweise zu MySQL]] wichtige Informationen.<br />
<br />
==Mailserver==<br />
Wird ein MailPublisher verwendet empfehlen wir aus unterschiedlichen Gründen die Installation eines lokalen Mailservers (Sendmail, Postfix, QMail, etc.) auch wenn in dem entsprechendem Netzwerk ein separater Mailserver konfiguriert wurde.<br />
<br />
Gründe für den Einsatz eines lokalen Mailservers:<br />
# Die Publikation von Artikeln über den Mail-Publisher ist wesentlich schneller, da keine Netzwerk-Kommunikation notwendig ist. Gerade beim Versand von Newslettern an sehr viele Adressaten ist hier ein signifikanter Performanzvorteil zu erkennen.<br />
# Bei Problemen im lokalen Netzwerk bzw. der temp. Überlastung des Mailservers werden keine E-Mails verschickt. Ein späterer Versand würde nicht erfolgen, da der IES nicht ''spooled''. Dies ist Aufgabe eines Mailservers und würde durch einen lokalen Mailserver auf ideale Weise erfüllt.<br />
<br />
Die Konfiguration des lokalen Mailservers sollte daher bereits bei der Installation des IES erfolgen. Der IES ist grundsätzlich für die lokale E-Mail-Auslieferung konfiguriert.<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 100]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Systemvoraussetzungen&diff=10501Systemvoraussetzungen2022-09-28T13:07:28Z<p>Sed: /* Apache 2 */</p>
<hr />
<div>Systemvoraussetzungen für Neuinstallationen und den Betrieb des [[IES]].<br />
<br />
<div class="note"><br />
Da sich die als Voraussetzungen genannten Komponenten kontinuierlich weiterentwickeln und wir dieses Wiki nicht im gleichen Takt anpassen können, möchten wir Sie bitten vor einer Installation stets Kontakt mit uns aufzunehmen um die konkreten Anforderungen abzustimmen. Dies macht auch im Bezug auf die Skalierung der Systeme Sinn. Gerne beraten wir Sie hierzu.<br />
support@sitepark.com<br />
</div><br />
<br />
==Betriebssysteme==<br />
Wir unterstützen nur 64bit-Linux-Systeme.<br />
<br />
===Linux===<br />
<div class="note"><br />
Grundsätzlich sollten immer die neuesten Versionen eines Betriebssystem für Neuinstallationen eingesetzt werden; wir behalten uns vor, bestimmte Updates von Softwareversionen (z.B. PHP) abhängig zu machen.<br />
</div><br />
Es werden aktuell nur noch folgende Distributionen unterstützt:<br />
* Ubuntu Server in den aktuellen LTS-Versionen (z.Z. 22.04) '''[empfohlen]'''<br />
* Debian (ab Version 10)<br />
* Suse (nur in Abstimmung)<br />
* Redhat (nur in Abstimmung)<br />
<br />
Zukünftige Entwicklungen können es notwendig machen, dass Zugriff auf Online-Repositories der Linux-Distributionen besteht, um neueste oder benötige Pakete nachträglich installieren zu können; Sitepark achtet darauf, dass in den Standard-Repositories der Distributionen jeweils Pakete vorhanden sind, die die Lauffähigkeit der Software sicher stellen. Dennoch sind gerade im Bereich PHP mittelfristig Updates zu erwarten, die Alternativen erfordern. Weiterentwicklungen und Sicherheitsupdates sowie Abhängigkeiten von Open-Source-Bibliotheken erfordern hier häufig aktuelle Versionen. <br />
<br />
====Abhängigkeiten====<br />
* MySQL 8.0+ oder MariaDB 10.3+<br />
* Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>)<br />
* ImageMagick (http://www.imagemagick.org/)<br />
* MediaInfo (https://mediaarea.net/de/MediaInfo)<br />
* rsvg-convert (https://de.wikipedia.org/wiki/Librsvg)<br />
* curl, grep, egrep, netstat, ps, tail, useradd, groupadd, chown, sum, awk, head, nm, bc, sudo<br />
Die hier genannten Abhängigkeiten sind durch die aufgeführten Distributionen erfüllbar und werden teilweise bereits automatisch installiert.<br />
<br />
(''Hinweis:'' Je nach Linux-Distribution sind einzelne Tools zum Beispiel in Paketen wie <code>net-tools</code>, <code>coreutils</code>, <code>binutils</code>, <code>passwd</code> und anderen organisiert.)<br />
<br />
Für Websites auf Basis der <code>Sitekit</code>-Technologie gelten weitern folgende Voraussetzungen:<br />
* Locales in allen gewünschten Sprachen der Websites (gerne installieren wir hier direkt alle Sprachen um der Redaktion freie Hand zu lassen)<br />
* mind. PHP 7.4+, PHP 8.x (siehe auch [[Installationsanleitung PHP]]), Empfehlung: PHP-FPM<br />
<br />
(''Hinweis:'' Gerade die verwendete PHP-Version wird regelmäßig auf aktuelle Major-Versionen aktualisiert werden müssen. Ein Betrieb wie früher, bei dem eine PHP-Version über Jahre verwendet werden konnte ist aufgrund der vielen Abhängigkeiten zu Opensource-Bibliotheken nicht mehr möglich. Hier muss man dem Update-Pfaden folgen.)<br />
<br />
==Hardware==<br />
Die Leistungsstärke der Hardware ist in Abhängigkeit zum zu realisierenden Projekt individuell unterschiedlich. Die hier angegebenen Anforderungen und Empfehlungen sind als Richtwerte zu verstehen.<br />
<br />
Relevante Kenngrößen sind die CPU-Leistungsfähigkeit, die RAM-Größe, die Zugriffsgeschwindigkeit auf die Speichergeräte (Festplatten) und die Netzwerkanbindung.<br />
<br />
Der IES hält während des Betriebs im optimalen Fall alle von ihm verwaltetet Daten im Arbeitsspeicher, ebenso sollte die MySQL-Datenbank komplett dort liegen. Auslagerungen auf die Festplatte bremsen das System unnötig aus. Der IES schreibt datenbankunabhängige echte Webseiten auf die Festplatte. Diese Dateien werden vom Webserver ausgeliefert; dabei findet kein Datenbankzugriff mehr statt. Ein schnelles Schreiben der Daten für den Webserver (Festplatten-Schreib-Geschwindigkeit) ist ebenso notwendig wie ein schnelles Lesen der Daten für die Auslieferung. Wenn das Dateisystem für den die Seiten ausliefernden Webserver über das Netzwerk verfügbar gemacht wird, ist die Netzwerkgeschwindigkeit ebenfalls für ein performantes Gesamtsystem sehr wichtig.<br />
<div class="note"><br />
Die Anforderungen können sich während des Betriebs des IES je nach Anwendungsszenario und Veränderungen in der Datenmenge oder Nutzermenge verändern. Mehr Daten benötigen mehr Speicherplatz (RAM und Festplatte), höhere Nutzungsfrequenzen benötigen schnellere bzw. breitere Netzwerk-Anbindungen und CPU-Leistungsfähigkeit. Wir empfehlen den Betrieb in einer virtuellen Umgebung, damit Sie flexibel auf Änderungen der Anforderungen reagieren können.<br />
</div><br />
<br />
===Minimal-Anforderung===<br />
Prozessor P4 1GHZ 64bit, 2 GB Hauptspeicher PLUS die 1,2fache Menge der Größe der MySQL-Datenbank, 18 GB HDD, Netzwerk<br />
<br />
===Empfehlung===<br />
Mehrprozessorsystem (z.B. QuadCore) ~3GHz 64Bit, 8 GB RAM PLUS die 2fache Menge der Größe der MySQL-Datenbank, RAID-10-System mit 100 GB HDD, Gbit-Netzwerk<br />
<br />
Die Schreib- und Lesezugriffe auf die Festplatte sollten für ein performantes Arbeiten folgende Werte (im Durchschnitt) nicht unterschreiten: <strong>Lesen 300MB/sek, Schreiben 120MB/sek</strong>.<br />
<br />
==Java==<br />
===JDK - Java Development Kit===<br />
Wird von System mit geliefert und aktuell gehalten.<br />
<br />
==Webserver==<br />
===Apache 2===<br />
Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>). Weitere Informationen finden Sie unter http://www.apache.org<br />
<br />
Empfohlene Module für die Integration des IES in den Apache:<br />
mod_proxy<br />
mod_proxy_balancer<br />
mod_proxy_http<br />
mod_rewrite<br />
mod_ssl<br />
mod_headers <br />
<br />
Informationen zur Konfiguration finden Sie unter [[Integration des IES in den Apache]].<br />
<br />
Für die Auslieferung von Webseiten wird PHP benötigt; der Webserver benötigt dann verschiedene PHP-Erweiterungen [[Installationsanleitung PHP]].<br />
<br />
==Datenbank==<br />
===MySQL / MariaDB===<br />
Weitere Informationen finden Sie unter<br />
* http://www.mysql.com<br />
* http://mariadb.org<br />
<br />
Engine: InnoDB<br />
MySQL in der Version >= 8.0.1+<br />
MariaDB in der Version >= 10.3+<br />
<br />
Zur Konfiguration finden Sie unter [[Hinweise zu MySQL]] wichtige Informationen.<br />
<br />
==Mailserver==<br />
Wird ein MailPublisher verwendet empfehlen wir aus unterschiedlichen Gründen die Installation eines lokalen Mailservers (Sendmail, Postfix, QMail, etc.) auch wenn in dem entsprechendem Netzwerk ein separater Mailserver konfiguriert wurde.<br />
<br />
Gründe für den Einsatz eines lokalen Mailservers:<br />
# Die Publikation von Artikeln über den Mail-Publisher ist wesentlich schneller, da keine Netzwerk-Kommunikation notwendig ist. Gerade beim Versand von Newslettern an sehr viele Adressaten ist hier ein signifikanter Performanzvorteil zu erkennen.<br />
# Bei Problemen im lokalen Netzwerk bzw. der temp. Überlastung des Mailservers werden keine E-Mails verschickt. Ein späterer Versand würde nicht erfolgen, da der IES nicht ''spooled''. Dies ist Aufgabe eines Mailservers und würde durch einen lokalen Mailserver auf ideale Weise erfüllt.<br />
<br />
Die Konfiguration des lokalen Mailservers sollte daher bereits bei der Installation des IES erfolgen. Der IES ist grundsätzlich für die lokale E-Mail-Auslieferung konfiguriert.<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 100]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Systemvoraussetzungen&diff=10500Systemvoraussetzungen2022-09-28T13:04:10Z<p>Sed: /* Linux */</p>
<hr />
<div>Systemvoraussetzungen für Neuinstallationen und den Betrieb des [[IES]].<br />
<br />
<div class="note"><br />
Da sich die als Voraussetzungen genannten Komponenten kontinuierlich weiterentwickeln und wir dieses Wiki nicht im gleichen Takt anpassen können, möchten wir Sie bitten vor einer Installation stets Kontakt mit uns aufzunehmen um die konkreten Anforderungen abzustimmen. Dies macht auch im Bezug auf die Skalierung der Systeme Sinn. Gerne beraten wir Sie hierzu.<br />
support@sitepark.com<br />
</div><br />
<br />
==Betriebssysteme==<br />
Wir unterstützen nur 64bit-Linux-Systeme.<br />
<br />
===Linux===<br />
<div class="note"><br />
Grundsätzlich sollten immer die neuesten Versionen eines Betriebssystem für Neuinstallationen eingesetzt werden; wir behalten uns vor, bestimmte Updates von Softwareversionen (z.B. PHP) abhängig zu machen.<br />
</div><br />
Es werden aktuell nur noch folgende Distributionen unterstützt:<br />
* Ubuntu Server in den aktuellen LTS-Versionen (z.Z. 22.04) '''[empfohlen]'''<br />
* Debian (ab Version 10)<br />
* Suse (nur in Abstimmung)<br />
* Redhat (nur in Abstimmung)<br />
<br />
Zukünftige Entwicklungen können es notwendig machen, dass Zugriff auf Online-Repositories der Linux-Distributionen besteht, um neueste oder benötige Pakete nachträglich installieren zu können; Sitepark achtet darauf, dass in den Standard-Repositories der Distributionen jeweils Pakete vorhanden sind, die die Lauffähigkeit der Software sicher stellen. Dennoch sind gerade im Bereich PHP mittelfristig Updates zu erwarten, die Alternativen erfordern. Weiterentwicklungen und Sicherheitsupdates sowie Abhängigkeiten von Open-Source-Bibliotheken erfordern hier häufig aktuelle Versionen. <br />
<br />
====Abhängigkeiten====<br />
* MySQL 8.0+ oder MariaDB 10.3+<br />
* Apache Webserver 2.4.34+ (Empfehlung: mit <code>http2</code>)<br />
* ImageMagick (http://www.imagemagick.org/)<br />
* MediaInfo (https://mediaarea.net/de/MediaInfo)<br />
* rsvg-convert (https://de.wikipedia.org/wiki/Librsvg)<br />
* curl, grep, egrep, netstat, ps, tail, useradd, groupadd, chown, sum, awk, head, nm, bc, sudo<br />
Die hier genannten Abhängigkeiten sind durch die aufgeführten Distributionen erfüllbar und werden teilweise bereits automatisch installiert.<br />
<br />
(''Hinweis:'' Je nach Linux-Distribution sind einzelne Tools zum Beispiel in Paketen wie <code>net-tools</code>, <code>coreutils</code>, <code>binutils</code>, <code>passwd</code> und anderen organisiert.)<br />
<br />
Für Websites auf Basis der <code>Sitekit</code>-Technologie gelten weitern folgende Voraussetzungen:<br />
* Locales in allen gewünschten Sprachen der Websites (gerne installieren wir hier direkt alle Sprachen um der Redaktion freie Hand zu lassen)<br />
* mind. PHP 7.4+, PHP 8.x (siehe auch [[Installationsanleitung PHP]]), Empfehlung: PHP-FPM<br />
<br />
(''Hinweis:'' Gerade die verwendete PHP-Version wird regelmäßig auf aktuelle Major-Versionen aktualisiert werden müssen. Ein Betrieb wie früher, bei dem eine PHP-Version über Jahre verwendet werden konnte ist aufgrund der vielen Abhängigkeiten zu Opensource-Bibliotheken nicht mehr möglich. Hier muss man dem Update-Pfaden folgen.)<br />
<br />
==Hardware==<br />
Die Leistungsstärke der Hardware ist in Abhängigkeit zum zu realisierenden Projekt individuell unterschiedlich. Die hier angegebenen Anforderungen und Empfehlungen sind als Richtwerte zu verstehen.<br />
<br />
Relevante Kenngrößen sind die CPU-Leistungsfähigkeit, die RAM-Größe, die Zugriffsgeschwindigkeit auf die Speichergeräte (Festplatten) und die Netzwerkanbindung.<br />
<br />
Der IES hält während des Betriebs im optimalen Fall alle von ihm verwaltetet Daten im Arbeitsspeicher, ebenso sollte die MySQL-Datenbank komplett dort liegen. Auslagerungen auf die Festplatte bremsen das System unnötig aus. Der IES schreibt datenbankunabhängige echte Webseiten auf die Festplatte. Diese Dateien werden vom Webserver ausgeliefert; dabei findet kein Datenbankzugriff mehr statt. Ein schnelles Schreiben der Daten für den Webserver (Festplatten-Schreib-Geschwindigkeit) ist ebenso notwendig wie ein schnelles Lesen der Daten für die Auslieferung. Wenn das Dateisystem für den die Seiten ausliefernden Webserver über das Netzwerk verfügbar gemacht wird, ist die Netzwerkgeschwindigkeit ebenfalls für ein performantes Gesamtsystem sehr wichtig.<br />
<div class="note"><br />
Die Anforderungen können sich während des Betriebs des IES je nach Anwendungsszenario und Veränderungen in der Datenmenge oder Nutzermenge verändern. Mehr Daten benötigen mehr Speicherplatz (RAM und Festplatte), höhere Nutzungsfrequenzen benötigen schnellere bzw. breitere Netzwerk-Anbindungen und CPU-Leistungsfähigkeit. Wir empfehlen den Betrieb in einer virtuellen Umgebung, damit Sie flexibel auf Änderungen der Anforderungen reagieren können.<br />
</div><br />
<br />
===Minimal-Anforderung===<br />
Prozessor P4 1GHZ 64bit, 2 GB Hauptspeicher PLUS die 1,2fache Menge der Größe der MySQL-Datenbank, 18 GB HDD, Netzwerk<br />
<br />
===Empfehlung===<br />
Mehrprozessorsystem (z.B. QuadCore) ~3GHz 64Bit, 8 GB RAM PLUS die 2fache Menge der Größe der MySQL-Datenbank, RAID-10-System mit 100 GB HDD, Gbit-Netzwerk<br />
<br />
Die Schreib- und Lesezugriffe auf die Festplatte sollten für ein performantes Arbeiten folgende Werte (im Durchschnitt) nicht unterschreiten: <strong>Lesen 300MB/sek, Schreiben 120MB/sek</strong>.<br />
<br />
==Java==<br />
===JDK - Java Development Kit===<br />
Wird von System mit geliefert und aktuell gehalten.<br />
<br />
==Webserver==<br />
===Apache 2===<br />
Weitere Informationen finden Sie unter http://www.apache.org<br />
<br />
Empfohlene Module für die Integration des IES in den Apache:<br />
mod_proxy<br />
mod_proxy_balancer<br />
mod_proxy_http<br />
mod_rewrite<br />
mod_ssl<br />
mod_headers <br />
<br />
Informationen zur Konfiguration finden Sie unter [[Integration des IES in den Apache]].<br />
<br />
Für die Auslieferung von Webseiten wird PHP benötigt; der Webserver benötigt dann verschiedene PHP-Erweiterungen [[Installationsanleitung PHP]].<br />
<br />
==Datenbank==<br />
===MySQL / MariaDB===<br />
Weitere Informationen finden Sie unter<br />
* http://www.mysql.com<br />
* http://mariadb.org<br />
<br />
Engine: InnoDB<br />
MySQL in der Version >= 8.0.1+<br />
MariaDB in der Version >= 10.3+<br />
<br />
Zur Konfiguration finden Sie unter [[Hinweise zu MySQL]] wichtige Informationen.<br />
<br />
==Mailserver==<br />
Wird ein MailPublisher verwendet empfehlen wir aus unterschiedlichen Gründen die Installation eines lokalen Mailservers (Sendmail, Postfix, QMail, etc.) auch wenn in dem entsprechendem Netzwerk ein separater Mailserver konfiguriert wurde.<br />
<br />
Gründe für den Einsatz eines lokalen Mailservers:<br />
# Die Publikation von Artikeln über den Mail-Publisher ist wesentlich schneller, da keine Netzwerk-Kommunikation notwendig ist. Gerade beim Versand von Newslettern an sehr viele Adressaten ist hier ein signifikanter Performanzvorteil zu erkennen.<br />
# Bei Problemen im lokalen Netzwerk bzw. der temp. Überlastung des Mailservers werden keine E-Mails verschickt. Ein späterer Versand würde nicht erfolgen, da der IES nicht ''spooled''. Dies ist Aufgabe eines Mailservers und würde durch einen lokalen Mailserver auf ideale Weise erfüllt.<br />
<br />
Die Konfiguration des lokalen Mailservers sollte daher bereits bei der Installation des IES erfolgen. Der IES ist grundsätzlich für die lokale E-Mail-Auslieferung konfiguriert.<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 100]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Installation_unter_Linux&diff=10499Installation unter Linux2022-09-28T12:43:36Z<p>Sed: </p>
<hr />
<div>Bitte stellen Sie vor der Installation sicher, dass alle [[Systemvoraussetzungen]] erfüllt sind.<br />
<br />
==Download==<br />
Für die Installation des IES ist das Script <code>ies-installer-$VERSION.bin</code> zu verwenden. Die URL für den Download der entsprechenden Version erhalten Sie direkt von Sitepark. Bitte sprechen Sie den Support an.<br />
<br />
Stellen Sie sicher, dass das Script Ausführungsrechte besitzt.<br />
chmod u+x ies-installer-*.bin<br />
Führen sie das Script aus<br />
./ies-installer-*.bin<br />
<br />
==Installation==<br />
Folgende Installationsschritte sind nun auszuführen:<br />
# Bitte geben Sie zunächst ein Installationsverzeichnis an, in dem der IES installiert werden soll. Das Verzeichnis wird angelegt, wenn es noch nicht existiert.<br />
# Vor der Installation wird geprüft, ob alle für den IES notwendigen Pakete installiert sind. Ist dies nicht der Fall wird die Installation abgebrochen. Notwendige Pakete sind z.B. Bibliotheken für die Bildskalierung (libjpeg, libpng, ...). Die Installationsroutinen liefern eine aktuelle Version der Java VM mit, die bei Update auch automatisch aktualisiert wird.<br />
# Es folgt die Installation des IES<br />
# Während der Installation wird ein neuer Nutzer '''ies''' mit einer eigenen Gruppe '''ies''' angelegt. Der IES wird später unter diesem Account gestartet. Alle Daten werden von diesem Nutzer geschrieben. In der Konfiguration lässt sich die verwendete UMASK manuell anpassen.<br />
# Die Commandline-Tools (<code>$SITEPARK_HOME/bin/iesadmin</code>, <code>$SITEPARK_HOME/bin/iesclient</code>, ...) werden in die $PATH-Variable übernommen und stehen somit einfach zur Verfügung.<br />
# Für den transparenten Zugriff auch via ''sudo'' werden für diese Tools auch Symlinks in <code>/usr/sbin</code> angelegt<br />
# Es wird ein sog. Symlink <code>/etc/sitepark</code> nach <code>$SITEPARK_HOME/conf</code> angelegt<br />
# Je nach Linux-Version wird das Start-Script (<code>$SITEPARK_HOME/bin/ies-sysd</code>) für <code>systend</code> oder noch <code>init.d</code> konfiguriert.<br />
# Der Dienst wird für den automatischen Start konfiguriert.<br />
# Nachfolgend können noch initiale Startparameter des IES festgelegt werden:<br />
:* Initialer Speicher für den IES. Bei gut skalierten Systemen kann hier der maximal zu verwendende Speicher angegeben werden, da so zur Laufzeit kein Speicher alloziert werden muss.<br />
:* Maximaler Speicher. Hier wird der maximal für den IES zu verwendende Speicher angegeben. Die Angabe richtet sich nach der Größe des Datenbestandes Repository).<br />
<br />
Der IES wird nun gestartet. Nach dem Start des IES können alle weiteren Konfigurationen im Webinterface vorgenommen werden.<br />
<br />
==Konfiguration==<br />
Da der IES primär für die Dateien in den <code>DocumentRoots</code> zuständig ist, benötigt dieser die vollen Zugriffs-Rechte. Da aber in der Praxis hin und wieder PHP (über den Apache) in Teile des DocumentRoots Lesen bzw. Schreiben muss, muss wir den Nutzer des Apache (i.d.R. <code>wwwrun</code>, <code>www-data</code>, <code>apache</code> o.ä.) in die Gruppe des IES aufzunehmen. Das wird bei der Installation automatisch durchgeführt. Die Rechte mit denen der IES Dateien schreibt, sind in der Regel mit der <code>UMASK=0002</code> ausgeführt. Damit kann der Apache (und damit PHP) alle Dateien des IES lesen und schreiben.<br />
Die UMASK kann über die Konfigurationsdatei angepasst werden: [[Administration_und_Konfiguration_unter_Linux#Dateien_in_.2Fetc.2Fsitepark|sitepark.conf]]<br />
<br />
Die weitere Konfiguration ist nun über folgende URL im Browser vorzunehmen:<br />
http://localhost:8080/ies/admin<br />
Der IES kann unter dem Port 8080 nur lokal erreicht werden. Bei der Installation wird für den angegebenen Hostnamen bereits eine Apache-Konfiguration mit Proxy-Regeln angelegt, die den direkten Zugriff über die Domain erlaubt. I.d.R. reicht es aus, wenn Sie eine Datei <code>/etc/apache2/includes/ssl.conf</code> mit den Angaben zur SSL-Konfiguration anlegen. Sie finden alle weitere Informationen zur Integration hier: [[Integration des IES in den Apache]].<br />
<br />
Beachten Sie bei der Einrichtung von MySQL noch folgende [[Hinweise zu MySQL]].<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 200]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Administration_und_Konfiguration_unter_Linux&diff=10498Administration und Konfiguration unter Linux2022-09-28T12:26:01Z<p>Sed: /* Start-Script $SITEPARK_HOME/bin/ies-sysd */</p>
<hr />
<div>__TOC__<br />
<br />
Unter Linux sind keine graphischen Werkzeuge vorgesehen, da Linuxserver i.d.R. lediglich über die Console administriert werden. Typischerweise gibt es hier zum einen ein Start-Script, sowie einen Ordner mit Konfigurationen unter <code>/etc</code>.<br />
<br />
===Start-Script <code>$SITEPARK_HOME/bin/ies-sysd</code>===<br />
Ist der IES-Prozess erfolgreich gestartet, wird in die Datei <code>/etc/sitepark/ies.pid</code> die PID des IES-Prozesses geschrieben.<br />
<br />
Das Start-Script dient zum Starten und Stoppen des IES-Prozesses. Es kann aber auch zur Abfrage weiterer Informationen verwendet werden.<br />
<br />
Standardmäßig wird der [[IES]] mit der Konfigurationsdatei <code>$SITEPARK_HOME/conf/ies-server.xml</code> und der Lizenz-Datei <code>$SITEPARK_HOME/conf/ies-key.xml</code> gestartet.<br />
<br />
Folgende Steuer-Parameter stehen für das Start-Script zur Verfügung:<br />
<br />
;start: Startet den IES-Prozess im Hintergrund. Das Script wird dennoch erst beendet, wenn der Server gestartet ist. Ein Abbrechen des Init-Scriptes mit Strg-C beendet nur das Script, nicht aber den IES-Prozess.<br />
;stop: Stoppt den IES-Prozess.<br />
;restart: Stoppt den IES-Prozess und startet ihn danach im Hindergrund neu. Wird das Init-Script während der Stop-Phase mit Strg-C beendet, wird das Stoppen des IES-Prozesses abgeschlossen ohne den IES-Prozess neu zu starten. Bei einem Stop in der Start-Phase wird nur das Init-Script beendet, nicht der IES-Prozess.<br />
;status: Liefert den aktuellen Status des IES. Folgende Stati sind möglich:<br />
:{| class="prettytable"<br />
|- class="hintergrundfarbe1"<br />
! Status<br />
! Beschreibung<br />
|-<br />
| stopped<br />
| Der IES oder der gesamte IES-Prozess ist gestoppt<br />
|-<br />
| started<br />
| Der IES ist gestartet<br />
|-<br />
| busy<br />
| Der IES ist zur Zeit nicht in der Lage den Status zurückzugeben<br />
|-<br />
| unknown<br />
| Der Status des IES ist unbekannt<br />
|-<br />
| error: <message><br />
| Der IES-Prozess ist gestartet. Es ist aber ein Fehler aufgetreten<br />
|}<br />
;check: Gibt die aktuellen Parameter des Prozesses aus<br />
;pid: Liefert die PID des IES-Prozesses.<br />
;kill: Schickt das <code>KILL</code> Signal an den IES-Prozess<br />
;jstack: Sichert den Java-Stack des IES-Prozesses nach <code>$SITEPARK_HOME/ies.jstack</code><br />
<br />
===Dateien in <code>/etc/sitepark</code>===<br />
Im Folgenden wird die Bedeutung der im Verzeichnis <code>/etc/sitepark</code> liegenden Dateien beschrieben. Hierbei handelt es sich um einen sog. Symlink auf das Konfigurationsverzeichnis <code>$SITEPARK_HOME/conf</code>.<br />
<br />
;ies-key.xml: Verschlüsselte XML-Datei, die die Lizenz dieser IES-Instanz beinhaltet<br />
;ies.pid: Enthält die PID des gestarteten IES-Prozesses. Diese Datei wird nach einem erfolgreichen Aufruf von <code>/etc/init.d/ies stop</code> gelöscht<br />
;ies-server.xml: Zentrale Konfigurationsdatei des [[IES]]. Bei manuellen Änderungen dieser Datei muss sie über IES-Admin neu eingelesen werden<br />
:Eine beispielhafte Konfiguration kann [[IES_Konfiguration#Beispiel_einer_ies-server.xml|hier]] eingesehen werden.<br />
;sitepark.conf: Enthält Konfigurationen für das Systemd-Script:<br />
:;SITEPARK_HOME: Installations-Verzeichnis des IES<br />
:;JAVA_HOME: Vom IES verwendete Java-Installation<br />
:;IES_PID_FILE: Name und Pfad der Datei, in der die PID des IES-Prozesses geschrieben werden soll<br />
:;IES_MEM_MAX: Maximaler Speicher, der für den Java-Heap angefordert werden darf<br />
:;IES_MEM_INIT: Speicher, der Initial für den Java-Heap angefordert wird<br />
:;IES_PERM_MAX: Maximaler Speicher, der für den Java-Non-Heap angefordert werden darf<br />
:;IES_MIN_HEAD_RATIO: Steuerung des Speicherverhaltens der JVM<br />
:;IES_MAX_HEAD_RATIO: Steuerung des Speicherverhaltens der JVM<br />
:;IES_USER: Nutzer, unter dem der IES gestartet wird<br />
:;IES_LANG: Standard-Sprache, mit der der IES läuft<br />
:;IES_UMASK: umask Setzungen für den Nutzer des IES<br />
:;IES_BIND_ADDRESS: Die IP, auf die der IES gebunden werden soll. Standardmäßig ist dort <code>localhost</code> konfiguriert, um das System von Außen zu schützen. Wird dort <code>0.0.0.0</code> konfiguriert, so ist der Zugriff über das Netzwerk möglich. Informationen hierzu finden Sie auch unter [[:Kategorie:Installation]]<br />
:;IES_IMGFILE_DEFAULT_PROVIDER: Konfiguration der Bildberechnungsroutine. Mögliche Werte sind <code>gfx</code> (Standard unter Linux; Eigenentwicklung von Sitepark), <code>gfxcmd</code> Aufruf der Bibliothek in einem eigenen Prozess (gfx muss konfiguriert sein), <code>imagemagick</code><br />
;version.properties: Enthält die aktuelle Versionsnummer des IES<br />
<br />
===Werkzeuge in <code>$SITEPARK_HOME/bin</code>===<br />
Für die Administration und Steuerung des [[IES]] stehen unter <code>$SITEPARK_HOME/bin</code> noch einzelne BASH-Skripte zur Verfügung. Diese waren bis zum Release 2.5 in <code>/usr/bin/</code> verlinkt. Dies ist aus Sicherheitsgründen umgestellt worden. Nun stehen die Skripte über die <code>$PATH</code> Variable zur Verfügung.<br />
<br />
Damit diese auch über einen <code>sudo</code> Aufruf gefunden werden empfiehlt sich die Erweiterung der Datei <code>/etc/sudoers</code> um den folgenden Eintrag:<br />
Defaults !secure_path<br />
<br />
Der Aufruf ist grundsätzlich nur als Nutzer <code>root</code> oder <code>ies</code> erlaubt. Die Scripte selber setzen nur notwendige JAVA-Parameter zusammen. Die eigentliche Ausführung erfolgt in einem Java-Prozess.<br />
<br />
Folgende Scripte sind verfügbar:<br />
;iesadmin: Standard-Werkzeug zur Administration des IES. Weitere Informationen gibt die Option <code>-h</code> oder folgende Dokumentation: [[:Kategorie:IES-Admin (commandline)]]<br />
;iesclient: Werkzeug zu Steuerung von Eingaben in der Console. Es können beliebige Klassen zur Ausführung angegeben werden.<br />
;iesxip: Werkzeug für XIP-Importe und -Exporte; basiert auf ''iesclient''<br />
<br />
<noinclude><br />
[[Kategorie:Administration und Konfiguration]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Integration_des_IES_in_den_Apache&diff=10497Integration des IES in den Apache2022-09-28T12:25:15Z<p>Sed: /* Apache-Konfiguration Version < 2.2.5 */</p>
<hr />
<div>==Allgemeines==<br />
Der IES ist i.d.R. für sämtliche Dateien im <code>DocumentRoot</code> eines Publishers zuständig. Die Dateien werden entsprechend über den Nutzer des IES angelegt. Da jedoch der Apache diese lesen bzw. über PHP verändern / ergänzen können sollte, empfehlen wir die Zugriffsrechte entsprechend einzustellen. Unter Linux kann das einfach erreicht werden, indem der Nutzer des Webservers auch in die Gruppe <code>ies</code> aufgenommen wird. Die UMASK des IES ist entsprechend voreingestellt.<br />
<br />
==Konfiguration des ''DocumentRoot''==<br />
Im ''DocumentRoot'' eines Publikationsbereiches werden neben den eigentlichen Artikeldaten auch noch Systemdaten der IES-Module gespeichert. Diese dienen u.a. zum Aufbau einer Sitemap o.ä.<br />
Damit diese vor direkten URL-Aufrufen geschützt werden können, werden entsprechende ''.htaccess''-Dateien durch die Module generiert.<br />
Hierzu muss im Apache (und im Microsoft IIS über die Erweiterung ''Helicon Ape'') die Auswertung dieser Daten erlaubt werden.<br />
<br />
Da der IES sämtliche Daten der Module in das Unterverzeichnis ''/WEB-IES/'' speichert ist die Konfiguration wie folgt möglich:<br />
<br />
<source lang="apache"><br />
<VirtualHost *:80><br />
<Directory "....$PATH_TO_DOCUMENT_ROOT.../WEB-IES"><br />
Options -Indexes<br />
AllowOverride LIMIT<br />
</Directory><br />
</VirtualHost><br />
</source><br />
<br />
==Allgemeine Hinweise zur Integration==<br />
''Die Integration des [[IES]] in den "Internet Information Server" von Microsoft ist über den sog. JK-Connector prinzipiell möglich. Weitere Informationen hierzu finden Sie im Internet''<br />
<br />
Für die optionale Integration des [[IES]] in den Apache Webserver empfehlen wird das Apache-Modul <code>proxy_http</code>. Folgende Konfiguration kann als Vorlage dienen. Die <code>ProxyPassMatch</code> Anweisungen sind jedoch erst ab der Version 2.2.5 verfügbar.<br />
<br />
Folgende Module sind für die unten aufgeführten Konfigurationsvorlagen notwendig:<br />
mod_proxy<br />
mod_proxy_balancer<br />
mod_proxy_http<br />
mod_lbmethod_byrequests # ab Apache 2.4 für proxy notwendig!!!<br />
mod_rewrite<br />
mod_ssl<br />
mod_headers <br />
<br />
<br />
Da Passwörter und andere vertrauliche Daten mit dem [[IES]] ausgetauscht werden, muss immer '''HTTPS''' für den Apache eingerichtet werden.<br />
<br />
<div class="note"><br />
Die Setzung '''ProxyPreserveHost''' legt fest, ob der ursprünglich im Request übergebene Hostname auch beim Proxy-Request angegeben wird, oder ob der Hostname der Balancer-Konfiguration verwendet wird.<br />
<br />
Die Proxy-Regeln leiten alle relevanten Anfragen an den CMS-Server weiter. Je nach Ziel-Port, der in der Balance-Konfiguraion angegeben wird, wird der Request an den Apache oder den IES auf dem CMS-Server weitergeleitet. Wir empfehlen hier die Kommunikation über den Apache (Port 80 bei internen Requests, sonst Port 443). Soll der Zugriff direkt auf den IES erfolgen, ist folgende Anpassung der Bind-Address in der sitepark.conf notwendig: IES_BIND_ADDRESS="0.0.0.0" erforderlich. Damit ist der IES aber auch von allen anderen Rechern aus direkt erreichbar.<br />
<br />
Im IES sind alle Domains und Aliase in den Publisher-Konfigurationen automatisch für HTTP-Anfragen gebunden, wenn diese für Live-Abfragen aktiviert wurden (''Publikationsbereich als Modul verwenden'' - Wir raten in diesem Zusammenhang dringend zu der Einschränkung auf ein bestimmtes Verzeichnis). Das bedeutet, dass alle Anfragen an eine der in den Publishern konfigurierten Domains, die an den IES geleitet werden, über den IES mit entsprechenden DocumentRoot ausgeführt werden. Aufrufe von IES-Modulen sind mit diesen URLs damit daher nicht möglich. Sollen direkt Funktionen des IES (z.B. InfoSite oder IES-API) angesprochen werden, muss der IES über einen Domain-Namen oder eine IP aufgerufen werden, die in keinen Publisher konfiguriert wurde.<br />
</div><br />
<br />
==Hinweise zur Integration des IES in den Apache==<br />
Für die Integration des IES in den Apache sollte ein eigener Virtueller Host eingerichtet werden. Für diesen Virtueller Host ist '''kein''' DocumentRoot notwendig!<br />
<br />
===Aufruf des IES Über den Apache===<br />
<br />
<source lang="apache"><br />
<VirtualHost *:80><br />
<br />
ServerName <<cms-host>><br />
<br />
# Alle gültigen IES-Anfragen, die auf Port 80 erfolgen, sollten vollständig an Port 443 umgelenkt werden. Diese Aufrufe können zum einen durch<br />
# Redakteure erfolgen, die häufig URLs ohne "https" eingeben, zum anderen aber auch durch Aufrufe, die durch SPML- bzw. JSP-Seiten erzeugt werden,<br />
# da diese intern über "http" auf Port 8080 bearbeitet werden und keine Informationen dazu haben, dass SSL von Außen eingesetzt wird.<br />
RedirectMatch ^(.*)$ https://<<cms-host>>$1<br />
<br />
</VirtualHost><br />
<VirtualHost *:80><br />
# Redirects<br />
ServerName infosite.<<cms-domain>><br />
ServerAlias citygov.<<cms-domain>><br />
ServerAlias newsdesk.<<cms-domain>><br />
ServerAlias infosite5.<<cms-domain>><br />
ServerAlias infosite6.<<cms-domain>><br />
<br />
<IfModule mod_rewrite.c><br />
RewriteEngine on<br />
<br />
RewriteCond %{HTTP_HOST} infosite6.<<cms-domain>> [OR]<br />
RewriteCond %{HTTP_HOST} infosite.<<cms-domain>><br />
RewriteRule ^/$ https://<<cms-host>>/ies/infosite6/ [L,R=301]<br />
<br />
RewriteCond %{HTTP_HOST} infosite5.<<cms-domain>><br />
RewriteRule ^/$ https://<<cms-host>>/ies/infosite/control/ [L,R=301]<br />
<br />
RewriteCond %{HTTP_HOST} newsdesk.<<cms-domain>><br />
RewriteRule ^/$ https://<<cms-host>>/ies/infosite/control/?SYS_gui=gui2 [L,R=301]<br />
<br />
RewriteCond %{HTTP_HOST} citygov.<<cms-domain>><br />
RewriteRule ^/$ https://<<cms-host>>/ies/module/city-gov/ [L,R=301]<br />
</IfModule><br />
</VirtualHost><br />
<VirtualHost *:443><br />
<br />
ServerName <<cms-host>><br />
<br />
ErrorLog /var/log/apache2/<<cms-host>>.err<br />
CustomLog /var/log/apache2/<<cms-host>>.log combined<br />
<br />
RewriteCond %{REQUEST_METHOD} !^(GET|POST|HEAD)<br />
RewriteRule .* - [R=405,L]<br />
<br />
# Infosite redirect<br />
RewriteEngine On<br />
RewriteRule ^/$ /ies/admin/ [R,L]<br />
<br />
<br />
###################################<br />
# IES integration using mod_proxy #<br />
###################################<br />
<br />
# security<br />
ProxyRequests Off<br />
<br />
# timeout<br />
ProxyTimeout 3600<br />
<br />
# always keep the host header<br />
ProxyPreserveHost On<br />
#X-Forwarded-Proto<br />
#X-Forwarded-Port<br />
#X-Forwarded-Host<br />
<br />
# load balancer<br />
<Proxy balancer://ies-balancer><br />
Require all granted<br />
<br />
#AuthType Basic<br />
#AuthName "IES Server"<br />
#AuthUserFile "/etc/.htpasswd"<br />
#Require valid-user<br />
#Require ip 192.168.1<br />
<br />
BalancerMember http://localhost:8080 timeout=3600 retry=0<br />
</Proxy><br />
# Weiterleitung aller IES-Modul Anfragen an den IES<br />
ProxyPassMatch ^(/ies/.*)$ balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# Sollte es Pulikationsbereiche mit Live spml Seiten geben, muss dieser Match ergänzt werden!!!<br />
#ProxyPassMatch ^(.*\.spml(;jsessionid=\w+)?(\?.*)?)$ balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On<br />
<br />
# Innerhalb eines Virtuellen Hosts für HTTPS sollte immer der Header X-IES-SCHEME auf https gesetzt werden, da nur so<br />
# innerhalb von IES-Applikationen ${system.baseurl} richtig aufgelöst wird. Weitere X-IES Header-Angaben sind i.d.R. nicht notwendig<br />
#RequestHeader set X-IES-SERVER-NAME "ies.intern.net" # evtl. abweichender ServerName<br />
#RequestHeader set X-IES-SERVER-PORT "1443" # evtl. abweichender Port<br />
RequestHeader set X-IES-SCHEME "https"<br />
<br />
Header set X-Frame-Options SAMEORIGIN<br />
<br />
<LocationMatch "/ies/.*/rpc"><br />
Header Set Cache-Control "max-age=0, no-store, no-cache, must-revalidate"<br />
Header Unset ETag<br />
FileETag None<br />
</LocationMatch><br />
<br />
</VirtualHost><br />
</source><br />
<br />
==Hinweise zur Integration von IES-Anfragen in dem Apache des Webservers==<br />
<br />
===Webseiten-Apache-Konfiguration mit Zugriff auf den lokalen Webnode===<br />
Für Zugriffe des Apache auf den lokalen IES-Webnode (z.B. für Solr-Suchen) ist folgende Konfiguration notwendig:<br />
<br />
<source lang="apache"><br />
<VirtualHost *:80><br />
...<br />
ProxyTimeout 3600<br />
<Proxy balancer://ies-webnode-balancer><br />
# Apache >= 2.4<br />
#Require all denied<br />
#Require host localhost<br />
#Require ip 82.140.11.34 127.0.0.1<br />
<br />
# Apache 2.2<br />
Order Deny,Allow<br />
Deny from all<br />
Allow from 82.140.11.34 127.0.0.1 localhost<br />
<br />
BalancerMember http://localhost:8381<br />
</Proxy><br />
ProxyPassMatch ^(/ies-webnode/.*)$ balancer://ies-webnode-balancer$1<br />
...<br />
</VirtualHost><br />
</source><br />
<br />
===Webseiten-Apache-Konfiguration mit IES-API Zugriff===<br />
<br />
Dies Konfiguration ist notwendig für: <br />
*den I-Link im SRPC-Modus in InfoSite6 <br />
*Module und Komponenten mit Live-Abfragen (zB. Verzeichnismodul mit der Möglichkeit Objekte anzulegen)<br />
*CityCall mit Anbindung an das Ticketsystem<br />
<br />
<source lang="apache"><br />
<VirtualHost *:80><br />
<br />
ServerName <<hostname>><br />
DocumentRoot ...<br />
<br />
ErrorLog ...<br />
CustomLog ...<br />
...<br />
<br />
###################################<br />
# IES integration using mod_proxy #<br />
###################################<br />
<br />
# security<br />
ProxyRequests Off<br />
<br />
# always keep the host header<br />
ProxyPreserveHost Off<br />
<br />
# Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren<br />
SSLProxyEngine On<br />
SSLProxyVerify none<br />
SSLProxyCheckPeerCN Off<br />
SSLProxyCheckPeerName Off<br />
SSLProxyCheckPeerExpire Off<br />
<br />
# timeout<br />
ProxyTimeout 3600<br />
<br />
# load balancer IES-API<br />
<Proxy balancer://ies-api-balancer><br />
# Apache >= 2.4<br />
#Require all granted<br />
<br />
# Apache 2.2<br />
Order Deny,Allow<br />
Allow from All<br />
<br />
# Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0<br />
BalancerMember https://<<cms-host>>:443 timeout=3600 retry=0<br />
</Proxy><br />
<br />
ProxyPassMatch ^(/ies/api/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
####### oder auf bestimmte Module begrenzt: ######<br />
# ProxyPassMatch ^(/ies/MODUL/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# Beispiele: <br />
# ProxyPassMatch ^(/ies/formservice/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# ProxyPassMatch ^(/ies/infoticket/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# ProxyPassMatch ^(/ies/jslibs/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
<br />
</VirtualHost><br />
</source><br />
<br />
===Webseiten-Apache-Konfiguration für Publikationsbereiche mit Live-Komponenten===<br />
<br />
Publikationsbereiche des IES die Live-Komponenten verwenden und somit auf den IES zugreifen müssen, werden wie folgt konfiguriert.<br />
Diese Konfiguration kann für aktuelle Anforderungen mit Zugriffen auf den IES über die IES-API nicht verwendet werden.<br />
<br />
<source lang="apache"><br />
<VirtualHost *:80><br />
<br />
ServerName ...<br />
DocumentRoot ...<br />
<br />
ErrorLog ...<br />
CustomLog ...<br />
<br />
...<br />
<br />
###################################<br />
# IES integration using mod_proxy #<br />
###################################<br />
<br />
# security<br />
ProxyRequests Off<br />
<br />
# always keep the host header<br />
ProxyPreserveHost On<br />
<br />
# timeout<br />
ProxyTimeout 3600<br />
<br />
# Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren<br />
SSLProxyEngine On<br />
SSLProxyVerify none<br />
SSLProxyCheckPeerCN Off<br />
SSLProxyCheckPeerName Off<br />
SSLProxyCheckPeerExpire Off<br />
<br />
<br />
# load balancer<br />
<Proxy balancer://ies-balancer><br />
# Apache >= 2.4<br />
#Require all granted<br />
<br />
# Apache 2.2<br />
Order Deny,Allow<br />
Allow from All<br />
<br />
# Werden nur spml Seiten aufgerufen, kann der Zugriff, der nur über php erfolgen soll,<br />
# auf den Webserver selbst beschränkt werden<br />
# Apache >= 2.4<br />
#Require all granted<br />
#Require host localhost [Hostname des Webservers]<br />
#Require ip 127.0.0.1 [IP-Adresse des Webservers]<br />
# Apache 2.2<br />
#Deny from all<br />
#Allow from localhost [IP-Adresse des Webservers]<br />
<br />
BalancerMember https://<<cms-host>>:443 timeout=3600 retry=0<br />
<br />
# Alternativ kann auch direkt der Apache des CMS-Systems angesprochen werden,<br />
# da dieser Anfragen automatisch intern an den IES weiterleitet.<br />
#BalancerMember http://<<cms-host>>:80 timeout=3600 retry=0<br />
<br />
# Bei Zugriff via SSL empfehlen wir die Verschlüsselung über den Apache zu konfigurieren.<br />
# Dieser leitet dann die unverschlüsselte Anfrage an den lokalen IES (intern über Port 8080)<br />
# Wird der BalanceMember via HTTPS angesprochen muss noch SSLProxyEngine auf ON gesetzt werden (s.o.)<br />
#BalancerMember https://<<cms-host>>:443 timeout=3600 retry=0<br />
</Proxy><br />
<br />
# Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für "<<spml_live_folder>>" eingesetzt werden<br />
ProxyPassMatch ^(/<<spml_live_folder>>/.*\.spml(;jsessionid=\w+)?(\?.*)?)$ balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On<br />
ProxyPassMatch ^(/<<spml_live_folder>>/ies/binary/.*)$ balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden<br />
<Directory <<DocumentRoot>>/WEB-INF><br />
# Apache >= 2.4<br />
#Require all denied<br />
<br />
# Apache 2.2<br />
Order deny,allow<br />
Deny from all<br />
</Directory><br />
<br />
<br />
# COUNTER <br />
# Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)<br />
#RedirectMatch ^/ies/counter(.*) https://<<cms-host>>/ies/infosite/counter$1<br />
<br />
# Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.<br />
# Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken<br />
RewriteEngine on<br />
<br />
# Zugriff auf das CMS nur über den Webserver (als Proxy)<br />
RewriteRule ^/ies/counter(.*) https://<<cms-host>>/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind<br />
RewriteRule ^/infosite/counter(.*) https://<<cms-host>>/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind<br />
RewriteRule ^/ies/infosite/counter(.*) https://<<cms-host>>/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind<br />
<br />
</VirtualHost><br />
</source><br />
<br />
===Alternative Variante, wenn IES-API UND SPML-Seite unterstützt werden müssen===<br />
<br />
''Für den I-Link im SRPC-Modus in InfoSite6 muss der Zugriff auf die IES-API konfiguriert werden.''<br />
<br />
Damit nun sowohl Live-Abfragen (SPML-Seiten im DocumentRoot eines Publishers), als auch IES-Funktionen (wie die IES-API) von einer URL aufgerufen werden können ist ein kleiner Umweg notwendig, der hier beschrieben wird:<br />
<br />
Es ist für jede Domain, für die diese zwei Formen des Zugriffs auf den IES notwendig sind, ein eigener Domain-Name, der auf den CMS-Server zeigt notwendig. Dieser kann entweder im DNS oder auch nur in den HOST-Dateien des CMS- und Webservers eingetragen werden. Weiterhin wird dieser Domain-Name über IES-Admin als Alias im entsprecheden Publisher konfiguriert. Auch sollte der Domain-Name im Apache als ServerAlias für den IES konfiguriert werden.<br />
<br />
Unterschiedliche Balancer-Regeln auf dem Webserver sorgen nun dafür, dass so entwerder IES-Funktionen oder Live-Funktionen des Publishers ausgeführt werden, indem entweder die Alias-URL des Publishers oder die URL des IES verwendet wird.<br />
<br />
In dem unten aufgeführten Beispiel wird die Kommunikation via HTTPs realisiert. Der Domain-Name <<ies-alias-hostname>> und CMS-Host <<cms-host>> ist entsprechend zu ersetzen.<br />
<br />
Beispiel:<br />
www.stadt-goldenberg.de<br />
<<cms-host>: ies.stadt-goldenberg.de<br />
<<ies-alias-hostname>>: ies-www.stadt-goldenberg.de<br />
<<spml_live_folder>>: /live<br />
<br />
<source lang="apache"><br />
<VirtualHost *:80><br />
<br />
ServerName ...<br />
DocumentRoot ...<br />
<br />
ErrorLog ...<br />
CustomLog ...<br />
<br />
...<br />
<br />
###################################<br />
# IES integration using mod_proxy #<br />
###################################<br />
<br />
# security<br />
ProxyRequests Off<br />
<br />
# always keep the host header<br />
############# WICHTIG: muss auf 'Off' stehen, damit der Wert des Balancers übertragen wird #################<br />
ProxyPreserveHost Off<br />
<br />
# Bei Zugriff auf BalanceMember via HTTPS einzelne Setzungen aktivieren<br />
SSLProxyEngine On<br />
SSLProxyVerify none<br />
SSLProxyCheckPeerCN Off<br />
SSLProxyCheckPeerName Off<br />
SSLProxyCheckPeerExpire Off<br />
<br />
# timeout<br />
ProxyTimeout 3600<br />
<br />
# load balancer IES<br />
<Proxy balancer://ies-balancer><br />
# Apache >= 2.4<br />
#Require all granted<br />
<br />
# Apache 2.2<br />
Order Deny,Allow<br />
Allow from All<br />
<br />
# Werden nur spml Seiten aufgerufen, kann der Zugriff, der nur über php erfolgen soll,<br />
# auf den Webserver selbst beschränkt werden<br />
# Apache >= 2.4<br />
#Require all granted<br />
#Require host localhost [Hostname des Webservers]<br />
#Require ip 127.0.0.1 [IP-Adresse des Webservers]<br />
# Apache 2.2<br />
#Deny from all<br />
#Allow from localhost [IP-Adresse des Webservers]<br />
<br />
############# WICHTIG: Es muss der richtige Hostname gesetzt werden #################<br />
BalancerMember https://<<ies-alias-hostname>>:443 timeout=3600 retry=0<br />
</Proxy><br />
<br />
# Der Ordner, der am Publisher für SPML-Live-Seiten konfiguriert wurde muss für "<<spml_live_folder>>" eingesetzt werden<br />
ProxyPassMatch ^(/<<spml_live_folder>>/.*\.spml(;jsessionid=\w+)?(\?.*)?)$ balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On<br />
ProxyPassMatch ^(/<<spml_live_folder>>/ies/binary/.*)$ balancer://ies-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# danach sollte, um die taglibs und andere für den IES notwendigen Elemente NICHT vom Apache ausliefern zu lassen, der Zugriff durch den Apache verboten werden<br />
<Directory <<DocumentRoot>>/WEB-INF><br />
# Apache >= 2.4<br />
#Require all denied<br />
<br />
# Apache 2.2<br />
Order deny,allow<br />
Deny from all<br />
</Directory><br />
<br />
# load balancer IES-API<br />
<Proxy balancer://ies-api-balancer><br />
# Apache >= 2.4<br />
#Require all granted<br />
<br />
# Apache 2.2<br />
Order Deny,Allow<br />
Allow from All<br />
<br />
# Wenn lokal: BalancerMember http://localhost:8080 timeout=3600 retry=0<br />
BalancerMember https://<<cms-host>>:443 timeout=3600 retry=0<br />
</Proxy><br />
ProxyPassMatch ^(/ies/api/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
####### weitere Module ######<br />
# ProxyPassMatch ^(/ies/MODUL/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# Beispiele: <br />
# ProxyPassMatch ^(/ies/formservice/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# ProxyPassMatch ^(/ies/infoticket/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
# ProxyPassMatch ^(/ies/jslibs/.*)$ balancer://ies-api-balancer$1 stickysession=JSESSIONID nofailover=On<br />
<br />
# COUNTER <br />
# Variante 1: RedirectMatch auf den Server (CMS muss öffentlich erreichbar sein)<br />
#RedirectMatch ^/ies/counter(.*) https://<<cms-host>>/ies/infosite/counter$1<br />
<br />
# Variante 2: Rewrite, wenn über eine RewriteCondition noch Bedingungen angegeben werde sollen.<br />
# Rewrite um die Counter-Aufrufe (unabhaengig von Aliases) an das CMS (mit der konfigurierten Publisher-URL) zu schicken<br />
RewriteEngine on<br />
<br />
# Zugriff auf das CMS nur über den Webserver (als Proxy)<br />
RewriteRule ^/ies/counter(.*) http[s]://<<cms-host>>/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind<br />
RewriteRule ^/infosite/counter(.*) http[s]://<<cms-host>>/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind<br />
RewriteRule ^/ies/infosite/counter(.*) http[s]://<<cms-host>>/ies/infosite/counter$1 [L,NE,P] # Proxy NICHT, wenn CMS- und Webserver ein Host sind<br />
<br />
</VirtualHost><br />
</source><br />
<br />
=== Counter Konfiguration für einen Virtual-Host, der von verschiedenen CMS-Server geschrieben wird (z.B. für CityCall115). ===<br />
In der Virtual-Host Konfiguration des Webservers genügt dieser Eintrag für die Weiterleitung der Counter-Aufrufe:<br />
<source lang="apache"><br />
...<br />
# Alle Counter-Requests an eine vom CMS gepflegte PHP-Seite:<br />
RewriteRule ^/ies/counter(.*) /counter.php$1 [L,NE]<br />
...<br />
</source><br />
<br />
Hier der Inhalt der php Seite 'counter.php' am Beispiel CityCall für Stadt und Kreis Goldenberg<br />
<source lang="php"><br />
<?php<br />
if (!empty($_GET)) {<br />
$client = substr(htmlspecialchars($_GET["SYS_CNTR_id"]),0,5);<br />
$prefix = "";<br />
<br />
// Für den Fall, dass es auch auf Testservern eingesetzt wird<br />
if (strrpos($_SERVER['SERVER_NAME'],"test")) {<br />
$prefix = ".test";<br />
}<br />
<br />
$url = null;<br />
<br />
//<br />
// Unterscheide anhand der Server- und ClientId des übergebenen <br />
// Counter-Artikels die Server für die Weiterleitung<br />
<br />
// Stadt Goldenberg<br />
if ($client === "10123") {<br />
$url = "http://cms".$prefix.".stadt-goldenberg.de/ies/infosite/counter";<br />
<br />
// Kreis Goldenberg<br />
} else if ($client === "10456") {<br />
$url = "http://cms".$prefix.".kreis-goldenberg.de/ies/infosite/counter";<br />
<br />
}<br />
<br />
// Die Parameter des Aufrufes ergänzen und die Seite mit einem Timeout (3 bis 5 Sekunden) aufrufen. <br />
if ($url !== null) {<br />
$url .= "?".$_SERVER['QUERY_STRING'];<br />
<br />
$context = stream_context_create(array("http" => array("timeout" => 3)));<br />
return file_get_contents($url, NULL, $context);<br />
}<br />
}<br />
?><br />
</source><br />
<br />
== Integration eines sog. Client Zertifikats für die Kommunikation mit dem CMS-Server (optionale Konfiguration) ==<br />
<br />
Um dem Webserver zu gestatten sich dem CMS gegenüber als valider Client zu authentifizieren kann ein client-Zertifikat eingebunden werden.<br />
Allgemein empfiehlt sich das genaue Studium der Apache-Doku zu diesem Thema: http://httpd.apache.org/docs/2.4/ssl/ssl_howto.html<br />
<br />
Folgendes Szenario wird hier exemplarisch vorgestellt:<br />
Web-Client <--> öffentlicher Webserver mit Client-Zertifikat <-- HTTPS --> CMS-Server intern<br />
D.h. der Webbrowser sendet über den öffentlichen Webserver als Proxy seine Anforderungen an das CMS.<br />
Dabei verwendet der Proxy das konfigurierte Client-Zertifikat, um sich dem CMS-Server gegenüber zu autorisieren.<br />
Ob der Webbrowser über HTTP oder HTTPS mit dem Proxy kommuniziert ist unerheblich. Die Kommunikation mit dem CMS erfolgt immer über HTTPS.<br />
<br />
=== Konfiguration auf dem öffentlichen Webserver / Proxy ===<br />
<br />
Zunächst wird eine Datei both.pem aus dem nicht verschlüsselten Zertifikat und dem zugehörigen Schlüssel erzeugt:<br />
<pre> cat client.pem client.key > both.pem </pre><br />
<br />
Diese Datei wird als Client-Zertifikat eingebunden, z.B.:<br />
<br />
<source lang="apache"><br />
SSLProxyMachineCertificateFile /etc/httpd/ssl/both.pem<br />
</source><br />
<br />
=== Konfiguration auf dem CMS-System ===<br />
<br />
Bei der klassischen SSL-Konfiguration muss dem Server zusätzlich das Haupt-CA-Zertifikat CA.pem, mit dem die Client-Schlüssel erzeugt wurden,<br />
bekannt gemacht werden:<br />
<br />
<source lang="apache"><br />
SSLEngine on<br />
SSLProxyEngine on<br />
SSLCipherSuite ALL:!ADH:!EXPORT:+RSA:+HIGH:+MEDIUM:-RC4:-LOW<br />
SSLProtocol All -SSLv2 -SSLv3<br />
SSLCertificateFile /etc/httpd/ssl/server.cert<br />
SSLCertificateKeyFile /etc/httpd/ssl/server.key<br />
SSLCACertificateFile /etc/httpd/ssl/CA/CA.pem<br />
</source><br />
<br />
In dem betreffenden geschützten Verzeichnis ist dann eine Art Schein-Basic-Authentication nach dem folgenden Muster einzurichten:<br />
<br />
<source lang="apache"><br />
<Directory /webserver-path><br />
SSLVerifyClient require<br />
SSLVerifyDepth 5<br />
SSLOptions +FakeBasicAuth<br />
SSLRequireSSL<br />
AuthName "Secure Area"<br />
AuthType basic<br />
AuthBasicProvider file<br />
AuthUserFile .htpasswd<br />
Require valid-user<br />
ErrorDocument 403 "You need a client side certificate issued by CAcert to access this site"<br />
<br />
# Optionale Freigabe Für Let's Encrypt<br />
#Require expr %{REQUEST_URI} =~ m#^/.well-known/acme-challenge/#<br />
</Directory><br />
</source><br />
<br />
Es wird also gegen die .htpasswd-Datei authentifiziert, in welcher alle validen Client-Zertifikate eingetragen sein müssen.<br />
<br />
=== .htpasswd-Beispiel für die Client-Authentifizierung ===<br />
<br />
Ist für den Client der CommonName '/C=DE/ST=NRW/L=M\xC3\xBCnster/O=SitePark GmbH/OU=Administration/CN=MyClient' vergeben worden,<br />
so lautet der Inhalt der .htpasswd :<br />
<br />
<source lang="text"><br />
/C=DE/ST=NRW/L=M\xC3\xBCnster/O=SitePark GmbH/OU=Administration/CN=MyClient:xxj31ZMTZzkVA<br />
</source><br />
<br />
Das Passwort entspricht dabei der DES-verschlüsselten Zeichenkette "password". Es wird anscheinend nicht wirklich benutzt.<br />
<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 300]]<br />
[[Kategorie:Administration und Konfiguration]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Solr_Konfiguration&diff=10496Solr Konfiguration2022-09-28T12:24:29Z<p>Sed: Sed verschob die Seite Solr Konfiguration (ab Version 1.13) nach Solr Konfiguration, ohne dabei eine Weiterleitung anzulegen</p>
<hr />
<div>==Allgemein==<br />
<br />
Das Solr-Modul ist ein Modul im IES, welches die Software Solr von Apache nahtlos mit dem CMS integriert. Hierbei wird über die Oberfläche des Solr-Moduls pro Publikationskanal ein Solr-Index angelegt und konfiguriert.<br />
<br />
Pro Index können mehrere Quellen definiert werden, über die der Index gefüllt werden soll.<br />
;Interne Quelle: Die Interne Quelle ist die Standard-Quelle für einen Solr-Index. Diese kann es pro Index nur einmal geben und steht für alle Artikel des Systems, die in dem Publikationskanal publiziert sind. Für diese Quelle gibt es eine Ad-hoc Indizierung. Dies bedeutet das unmittelbar nach dem Publizieren eines neuen oder geänderten Artikels oder nach dem Depublizieren eines Artikels die Index für dieses Artikel aktualisiert wird.<br />
;Externe Quellen: Externe Quellen sind Webseiten (HTML) oder Datenquellen (XML), die mit in den Volltext-Index aufgenommen werden sollen. Für Webseiten steht ein Crawler zur Verfügung der ggf. die gesamte Site abcrawlen kann. Das genauer Verhalten des Crawlers lässt sich konfigurieren. Für Datenquellen im XML-Format können XSLT-Definitionen angegeben werden um die Daten für den Solr-Index so aufzubereiten, das sie in den Index übernommen werden können.<br />
<br />
Für die eigentliche Suche stellt das Modul Basis-PHP-Klassen zur Verfügung die im Normalfall aber nicht direkt genutzt werden. Für die Integration der Suche in einer Webseite werden von der [[Infosite 6 Enterprise Edition]] fertige Komponenten bereit gestellt. Das Solr-Modul dient hauptsächlich der Erstellung und Verwaltung der Solr-Indizes.<br />
<br />
== Solr-Installation ==<br />
<br />
Um die Volltextsuche über das Solr-Modul zu realisieren muss auf den entsprechenden Webserver der sog. IES-Webnode installiert werden. Beim IES-Webnode handelt es sich um einen Java-Applikations- Server auf Basis des [http://www.eclipse.org/jetty/ Jetty 9]. Dieser dient als Basis für erweiterte Funktionen auf dem Webserver.<br />
<br />
[[IES-Webnode]] <br />
<br />
Allgemeine Informationen zur Konstellation und Funktionsweise einzelner Module oder des IESWebnode werden auch im IES-Ökosystem beschrieben: <br />
<br />
[[IES-Ökosystem]] <br />
<br />
Wenn die Lizenz entsprechend konfiguriert ist, ist der Download der notwendigen Module direkt über IES-Admin möglich. Mit der Installation des Solr-Moduls im IES werden die notwendigen Dateien automatisch auf die konfigurierten IES-Webnodes installiert. Damit sind die technischen Voraussetzungen erfüllt. <br />
<br />
== Solr-Konfiguration ==<br />
<br />
Die Konfiguration der Indizes erfolgt über ein eigenes Webinterface. Klicken Sie hierzu im IES-Admin-Modul under Module auf die URL des Solr-Modules. Oder verwenden Sie direkt die URL<br />
<pre>/ies/solr/</pre> <br />
Für den Login verwenden Sie bitte die Zugangsdaten von IES-Admin. <br />
<br />
<br> <br />
<br />
=== Übersicht ===<br />
<br />
[[Image:SolrÜbersicht.png|center|1000px]] <br />
<br />
In der Übersicht sehen Sie nun alle konfigurierten Indices. Hier können auch weitere Indices angelegt werden. Ein Doppenklick öffnet den Bearbeitungsdialog. Alle hier vorgenommenen Angaben werden automatisch an die IES-Webnodes übertragen.<br>Diese führen dann jeweils lokal die Indizierung durch crawlen der Website durch. Über die Toolbar kann dieser Prozess auch manuell initiiert werden.<br>In der Spalte Status wird der vom Crawler erstellte Rückgabewert angezeigt. <br />
<br />
<br> <br />
<br />
;start <br />
:Startzeitpunkt der Indizierung <br />
;time <br />
:Dauer des Crawlprozesses <br />
;agents <br />
:Anzahl der Threads für die Indizierung <br />
;fetched <br />
:Anzahl der geladenen Seiten <br />
;errors <br />
:Anzahl der Fehler (HTML-Syntax, HTTP-Errors, etc.) <br />
;bytes <br />
:geladenes Datenvolumen während des Crawlprozesses <br />
;bps <br />
:Daten pro Sekunde<br />
<br />
<br><br />
<br />
=== Details ===<br />
<br />
Über den Button Crawl-Result öffnet sich ein neuer Tab mit einer Liste der durchlaufenen Urls. Standardmäßig ist ein Häkchen oben gesetzt, sodass nur Fehler und Warnungen angezeigt werden. <br />
<br />
<br> <br />
<br />
=== Konfiguration ===<br />
<br />
Per Doppelklick auf den Index, oder bei klicken auf den Index bearbeiten Button bei ausgewähltem Index, öffnen sie einen Tab zur Konfiguration. <br />
<br />
[[Image:SolrKonfiguration.png]] <br />
<br />
Im linken Feld wird der Name des Index und die sog. Core-ID konfiguriert. Diese wird später für den Zugriff auf die Daten verwendet. Das XML-Schema ist zwingend auszuwählen. Weiterhin muss der entsprechende Publikationsbereich konfiguriert werden. Dadurch wird die Verknüpfung zwischen Index und Publisher festgelegt. <br />
<br />
Hinweis: Dieser Publisher muss seinerseits mit dem entsprechenden Webnode verknüpft sein. <br />
<br />
Darunter können Quellen hinzugefügt werden. Durch klicken auf das Dreieck können sie festlegen ob die Quelle Interne oder Externe Inhalte haben soll. Für Intern gibt es folgende Reiter: <br />
<br />
<br> <br />
<br />
==== Allgemein ====<br />
<br />
Enthält Felder für ID und Name. <br />
<br />
==== Crawler ====<br />
<br />
[[Image:SolrCrawler.png]] <br />
<br />
Hier wird das Verhalten des Crawlers bestimmt. Die Anzahl der parallelen Threads wird festgelegt.<br>Der Timeout legt die Zeit fest, die ein einzelner URL-Aufruf maximal benötigen darf. Die Angabe erfolgt in Millisekunden. Bedenken Sie hier bitte, dass größere Downloads auch länger benötigen. Die Option „Check Links“ aktiviert den im Crawler implementierten Link-Checker. Entsprechende fehlerhafte URLs werden im Crawler-Result angezeigt.<br>Die Mindestanzahl an gecrawlten Seiten kann als Sicherheitsfunktion verstanden werden. Findet ein Durchlauf nicht mind. die hier konfigurierte Anzahl an Seiten, gilt das Ergebnis als invalide. Das passiert z.B. wenn der Webserver technische Probleme hat und nur eine Fehlerseite zurückliefert. Der Index wird dann nicht entfernt.<br>Die Einstellung „Maximale Dateigröße“ legt fest bis zu welcher Größe Dateien indiziert werden. Der Agent-Name des Crawlers kann hier ebenfalls bestimmt werden. Im Normalfall ist die Angabe eines Agent-Namens nicht notwendig. Ist für den Zugriff auf die konfigurierten URLs ein Proxy notwendig, muss dieser hier ebenfalls konfiguriert werden. <br />
<br />
<br> <br />
<br />
==== Synchronisation ====<br />
<br />
[[Image:SolrSynchronisation.png]] <br />
<br />
Im Bereich Synchronisation kann festgelegt werden, ob der Index automatisch neu aufgebaut werden soll.<br>Hier ist zum einen eine regelmäßig Neuindizierung mit einem bestimmten Intervall möglich. Diese Funktion wird i.d.R. nur für besondere Indices verwendet und sollte nicht gewählt werden.<br>Weiterhin gibt es noch die direkte Ad-hoc-Synchronisation. Diese ist ein Haupt-Feature des IES, bei dem der IES die Webnodes eines Publishers über Änderungen an Dateien oder ganzen Ordnerstrukturen mitteilt. Dieser triggert das Solr-Modul, welches automatisch die relevanten Strukturen im Dokumentenbaum erneut indiziert.<br>Damit sind alle redaktionellen Änderungen direkt auch für die Volltextsuche verfügbar. <br />
<br />
<br> <br />
<br />
==== URL-Filter ====<br />
<br />
In diesem Bereich werden die Regeln für gültige und ungültige URLs in Form von regulären Ausdrücken bestimmt. Alle URLs die vom Crawler geladen werden, werden gegen alle hier definierten Regeln geprüft. Soll eine externe Domain in den Index ausgenommen werden, so muss neben der Start-URL auch hier ein entsprechender Filter den Zugriff erlauben. <br />
<br />
<br> <br />
<br />
==== Link-CheckerFilter ====<br />
<br />
Für alle Links die geprüft werden, wenn der hacken Check Links im Crawler gesetzt ist, können hier Ausnahmen festgelegt werden.<br />
<div class="note"><br />
Bei Verwendung der Link-Checkers sollten alle verwendeten Google-Adressen herausgefiltert werden, da sonst über die IP-Adresse mit der der Crawler den Link prüft z.B. Google-Maps nicht mehr (oder nur noch mit einem Captcher) aufrufen kann. Weiter sollte bei Integration von Piwik auch die URL des Piwik-Servers herausgefiltert werden.<br />
Z.B.<br />
* ^https://www.google.com.*<br />
* ^https://www.google.de.*<br />
* ^https://maps.google.de.*<br />
* ^https://piwik.domain.de.*<br />
</div><br />
<br />
<br />
Externe Inhalte haben die zusätzlichen Reiter: <br />
<br />
<br> <br />
<br />
==== Start-URL's ====<br />
<br />
Hier gibt man einen oder mehrere Url's als Startpunkte an.&nbsp;<br />
<br />
==== URL-Normalizer ====<br />
<br />
Damit URLs nicht doppelt im Index stehen (z.B. /bibliothek und /bibliothek/ und /bibliothek/index.php) müssen diese nach den crawlen „normalisiert“ werden. Damit erkannt werden kann, dass es sich um die gleiche URL handelt.<br>Der Welcome-Normalizer behandelt die Start-Seiten wie index.php, die i.d.R. auch im Apache eingestellt sind.<br>Der Standard-Normalizer behandelt doppelte oder fehlerhafte URL-Pattern und korrigiert diese.<br>Der Url-Normalizer erlaubt es alle nicht explizit genannten URL-Parameter zu ignorieren. <br />
<br />
== Suche direkt über die Solr-API ==<br />
<br />
Für die Durchführung von Suchen auf Basis eines Solr-Index wird über das Solr-Module eine PHP-Api zur Verfügung gestellt. Die hier genannten Informationen stehen auch im Wiki unter <br />
<br />
[[Anwenden der Solr-Suche mit Hilfe der PHP-API]] <br />
<br />
zur Verfügung. <br />
<br />
<noinclude><br />
[[Kategorie:Administration und Konfiguration]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Kategorie:Administration&diff=10495Kategorie:Administration2022-09-28T12:22:09Z<p>Sed: /* Alle notwendigen Informationen zu den Themen Installation, Konfiguration und Administration des IES */</p>
<hr />
<div>===Alle notwendigen Informationen zu den Themen ''Installation'', ''Konfiguration'' und ''Administration'' des IES===<br />
<br />
Der [[IES]] ist eine Java Anwendung auf Basis des Jetty. Er ist integraler Bestandteil der [[IES]] Installation. Beim Starten des [[IES]] wird zunächst der Jetty-Server gestartet und anschließend die IES-Applikation. Die IES-Applikation kann über das [[:Kategorie:Iesadmin (web)|Webinterface]] aufgerufen werden.<br />
<br />
Die Logdateien der IES-Applikation liegen in dem Verzeichnis <code>$SITEPARK_HOME/logs</code>.<br />
<br />
Die IES-Prozess verwendet einige Ports, die nicht von anderen Prozessen belegt sein dürfen. Diese sind [[Verwendete Ports des IES|hier]] aufgeführt.<br />
<br />
Administration des IES ist entweder über das [[:Kategorie:Iesadmin (web)|Webinterface]] oder das Konsolen-Tool [[:Kategorie:Iesadmin (commandline)|iesadmin]] möglich.</div>Sedhttps://wiki.sitepark.com/index.php?title=IES_Konfiguration&diff=10494IES Konfiguration2022-09-28T05:47:51Z<p>Sed: /* Passwort-Steuerung */</p>
<hr />
<div>__TOC__<br />
<br />
=IES-Konfiguration=<br />
Der IES ist ein Java-Prozess, dessen Start-Parameter in der Datei <code>/etc/sitepark/sitepark.conf</code> konfiguriert wird. Hier werden Angaben zum Speicherverbrauch o.ä. vorgenommen. Details hierzu finden Sie [[Administration und Konfiguration unter Linux|hier]] für Linux.<br />
<br />
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<br />
iesadmin reload-config<br />
bzw. der entsprechende Button im IESAdmin-Webinterface laden diese Datei neu ein.<br />
<br />
==Beispiel einer <code>ies-server.xml</code>==<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<ies-server><br />
<br />
<!-- System-Bundles bilden typische Kombinationen von Modulen ab --><br />
<bundles><br />
<bundle>cms</bundle><br />
</bundles><br />
<br />
<!-- Globale Parameter --><br />
<settings><br />
<property name="dataDir" value="/srv/sitepark/data" /><br />
<property name="sessionTimeout" value="120" /><br />
<property name="maxRepositoryVersions" value="50" /><br />
<property name="maxObjectCacheSize" value="10000" /><br />
<property name="objectCacheLifetime" value="43200" /><br />
<property name="maxLockTime" value="10" /><br />
<property name="defaultLocale" value="de_DE" /><br />
<property name="privateCryptKey" value="963249068513792696390639" /><br />
<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" /><br />
<property name="bindbScaleSteps" value="40,100,500,h40" /><br />
<property name="iesadmin.update.url" value="http://user:password@ies.sitepark.com/updater/" /><br />
<property name="http.proxyHost" value="" /><br />
<property name="http.proxyPort" value="" /><br />
<property name="https.proxyHost" value="" /><br />
<property name="https.proxyPort" value="" /><br />
<property name="http.nonProxyHosts" value="localhost,127.0.0.1" /><br />
</settings><br />
<br />
<!-- Zugriffe auf IESAdmin --><br />
<security><br />
<user login="manager" password="b29fa62a183463dd119bf22cde912b9f" roles="management" /><br />
</security><br />
<br />
<!-- Konfiguration des Logging --><br />
<logging><br />
<appender name="IES" type="rolling-file" file="/srv/sitepark/ies.log" append="true" maxFileSize="100MB" maxBackups="1" /><br />
<logger name="com.sitepark.ies" level="TRACE" appender="IES" /><br />
<logger name="com.sitepark.ies.management.servlet" level="ERROR" appender="IES" /><br />
<logger name="com.sitepark.imgfile" level="ERROR" appender="IES" /><br />
<logger name="net.sf.jmimemagic" level="ERROR" appender="IES" /><br />
</logging><br />
<br />
<!-- Datenbank- und Mandanten-Konfigurationen und Root-Zugänge der jeweiligen Datenbank-Server --><br />
<persistence><br />
<admin type="1" host="localhost" user="root" password="secret" /><br />
<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"><br />
<client id="1" anchor="testclient" name="Testsystem" webapps="infosite," disabled="false"><br />
<attributes /><br />
<ref element="publisher" id="1" type="file" /><br />
<ref element="publisher" id="2" type="file" /><br />
<ref element="publisher" id="3" type="database" /><br />
</client><br />
</db><br />
<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" /><br />
</persistence><br />
<br />
<!-- Konfiguration der IES Dienste --><br />
<services><br />
<service id="lock-scheduler" status="stop" /><br />
<service id="publisher" /><br />
<service id="link" /><br />
<service id="ldap" /><br />
<service id="email-validator" /><br />
<service id="compiler" /><br />
<service id="report" /><br />
<service id="article-observer" /><br />
<service id="counter" disabled="false" /><br />
<service id="linktree" /><br />
<service id="r" /><br />
<service id="task" /><br />
<service id="indexer"><br />
<br />
<!-- Konfiguration von Indices werden innerhalb des Service abgelegt --><br />
<index id="1" anchor="testindex" client="100010100000000000-0" name="testindex" indexdir="/srv/sitepark/data/indexes/1-1/testindex"><br />
<field name="sp_headline" default="" type="text" boost="2.0" store="true" /><br />
</index><br />
<br />
</service><br />
<service id="ldap-import" /><br />
<service id="observer" /><br />
<service id="dependencies" disabled="false" /><br />
</services><br />
<br />
<!-- Optionale Konfiguration einer LDAP Anbindung --><br />
<ldap /><br />
<br />
<!-- Konfiguration der Publisher (jeder Publisher-Typ wird in einem separatem Bereich konfiguriert) --><br />
<publisher><br />
<file><br />
<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&#xA;https://www.domain.loc&#xA;http://domain.loc" anchor="www"><br />
<attributes /><br />
</file-publisher><br />
<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&#xA;http://preview.domain.loc:80&#xA;http://preview.domain.loc:80/irgendwo/"><br />
<attributes /><br />
</file-publisher><br />
</file><br />
<database><br />
<database-publisher id="3" name="DB" database="2"><br />
<attributes /><br />
</database-publisher><br />
</database><br />
</publisher><br />
<br />
<!-- Konfiguration der Module --><br />
<modules><br />
<module id="ies" disabled="false" /><br />
<module id="infosite" disabled="false" /><br />
</modules><br />
<br />
</ies-server><br />
</source><br />
<br />
==Erweiterte Datenbank-Parameter==<br />
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:<br />
;max-pool-size="20":Konfiguration des Pools für parallelen Datenbank-Verbindungen<br />
: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)''<br />
;blocking-timeout-millis="30000":Konfiguration der Dauer in Millisekunden, die der IES maximal auf eine Datenbank-Verbindungen des Pools wartet<br />
:Auch dieser Wert muss i.d.R. nicht verändert werden. ''(Default: 30000)''<br />
;track-statements="false":Erweitertes Logging bei Datenbank-Problemen<br />
:Dieser Wert wird aktuell noch nicht verwendet. ''(Default: false)''<br />
Diese müssen bei Bedarf direkt in der Konfiguration der jeweiligen Datenbankverbindung angegeben werden. Danach bleiben diese auch bei Änderungen im IESAdmin erhalten.<br />
<br />
==IES-Backupverzeichnis (<code>$SITEPARK_BACKUP</code>)==<br />
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 [[:Kategorie:Backup|hier]].<br />
<br />
Über das Property '''<code>backupDir</code>''' kann das Backupverzeichnis des IES geändert werden. Ist keine Konfiguration vorhanden, so wird der Ordner <code>$SITEPARK_HOME/backup</code> angenommen. Stellen sicher, dass der IES wieder vollen Zugriff auf den Ordner erhält (chown -R ies.ies).<br />
<br />
==IES-Datenverzeichnis (<code>$SITEPARK_DATA</code>)==<br />
Im Datenverzeichnis des IES werden alle Daten der Module und die <code>BinDB</code> mit allen Medien gespeichert.<br />
<br />
Über das Property '''<code>dataDir</code>''' 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).<br />
<br />
==Zugriff auf den IES per Ilink, wenn dieser per htaccess geschützt ist==<br />
In diesem Fall muss der Browser via JavaScript entsprechende Header setzen. Dazu sind im Webserver folgende HEADER-Setzungen zu machen:<br />
Header set Access-Control-Allow-Origin "https://www.website.de"<br />
Header set Access-Control-Allow-Methods "POST, GET, OPTIONS"<br />
Header set Access-Control-Allow-Credentials true<br />
<br />
Und in der IES-Konfiguration ist ein manueller Eintrag notwendig:<br />
<property name="host.withCredentials" value="true" /><br />
<br />
==Systeme unterscheiden (Test- oder Schulungssysteme)==<br />
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:<br />
* Label<br />
* Farbe (bekannter Name (z.B. "white") oder Farbcode (z.B. "#FFFFFF")<br />
<br />
In der IES-Konfiguration (XML-Encoded) sind das z.B. wie folgt aus:<br />
<source lang="xml"><br />
<property name="systemIdentification" value="{label:&quot;Testsystem&quot;,color:&quot;#fc9c34&quot;}" /><br />
</source><br />
<br />
Um im Mandanten diese globale Einstellung zu überschreiben kann in IES-Admin bei den Attributen des Mandaten folgende Setzung vorgenommen werden:<br />
<source lang="text"><br />
systemIdentification={label:"Demosystem"}<br />
</source><br />
oder<br />
<source lang="text"><br />
systemIdentification={label:"Schulungssystem", color:"green"}<br />
</source><br />
oder um die globale Setzung zurückzunehmen<br />
<source lang="text"><br />
systemIdentification={}<br />
</source><br />
<br />
==Session-Steuerung==<br />
Das System erlaubt die freie Konfiguration der Sitzungsdauer für Redakteure und WebAccounts.<br />
Die Sitzungsdauer für WebSessions und redaktionelle Arbeiten im CMS ist in Minuten anzugeben.<br />
Hier werden die Standard-Setzungen angezeigt (2 Stunden, 10 Tage):<br />
<br />
<source lang="xml"><br />
<property name="sessionTimeout" value="120" /><br />
<property name="webSessionTimeout" value="14400" /><br />
</source><br />
<br />
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).<br />
<br />
==Passwort-Steuerung==<br />
Über verschiedene, optionale Attribute in der Konfiguration kann die Verwaltung von Passwörtern gesteuert werden.<br />
<br />
<source lang="xml"><br />
<property name="password.expirationPeriod" value="90" /><br />
<property name="password.minLength" value="4" /><br />
<property name="password.regexp" value="^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&amp;+=])(?=\S+$).{8,}$" /><br />
<property name="password.regexp.text" value="Beschreibung der Passwort-Regeln für Redakteure" /><br />
<property name="password.algorithm" value="scrypt" /><br />
<property name="password.bcrypt.params" value="{cost=10}" /><br />
<property name="password.scrypt.params" value="{N=16384,r=8,p=1}" /><br />
<property name="password.pbkdf2.params" value="{iterations=1000,keyLength=512}" /><br />
</source><br />
<br />
===Gültigkeitsdauer===<br />
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):<br />
password.expirationPeriod<br />
<br />
===Minimale Passwort-Länge===<br />
Anzahl der Zeichen, die ein Passwort mind. lang sein soll.<br />
password.minLength<br />
<br />
===Regulärer Ausdruck als Regel für Passwörter===<br />
Ü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.<br />
password.regexp<br />
<br />
Beispiel:<br />
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$<br />
<br />
^ # Beginn des Passwortes<br />
(?=.*[0-9]) # min. eine Zahl<br />
(?=.*[a-z]) # mind. ein kleingeschriebener Buchstabe<br />
(?=.*[A-Z]) # mind. ein großgeschriebener Buchstabe<br />
(?=.*[@#$%^&+=]) # mind. eins dieser Sonderzeichen "@#$%^&+="<br />
(?=\S+$) # Leerzeichen sind nicht erlaubt<br />
.{8,} # mind. 8 Zeichen<br />
$ # Ende des Passwortes<br />
<br />
<div class="note">Bitte beachten Sie die Angaben in der XML-Datei entsprechend zu encoden (Beispiel: &amp; -&gt; &amp;amp;)</div><br />
<br />
===Algorithmus zur Verschlüsselung===<br />
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).<br />
<br />
* PBKDF2<br />
* scrypt<br />
* bcrypt<br />
* md5<br />
* sha (1, 256, 384, 512)<br />
* unixcrypt<br />
<br />
password.algorithm<br />
<br />
===Steuerung des Algorithmus zur der Verschlüsselung===<br />
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.<br />
password.bcrypt.params<br />
Default: "{cost=10}"<br />
<br />
password.scrypt.params<br />
Default: "{N=16384,r=8,p=1}", auf virtuellen Servern u.U. wie folgt zu reduzieren: "{N=1024, r=1, p=1}"<br />
<br />
password.pbkdf2.params<br />
Default: "{iterations=1000,keyLength=512}"<br />
<br />
===Hinweise zu den Passwort-Regeln===<br />
Hier kann eine von Menschen lesbare Beschreibung der Passwort-Regeln angegeben werden. Diese Regeln werden nur in Infosite ausgegeben, nicht für WebAccounts auf der Website. Hier sind Optionen in der Mehrsprachigkeit von Sitekit verfügbar.<br />
password.regexp.text<br />
<br />
=sitepark.conf=<br />
<br />
==IES_JAVA_OPTIONS==<br />
Java Optionen die mit -D angegeben werden<br />
<br />
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)<br />
com.sitepark.net.HttpClient.disableChunked=true<br />
<br />
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.<br />
com.sitepark.imgfile.imagemagick.command.Command.priority=0<br />
<br />
=Mail-Server Konfiguration=<br />
Der Mail-Server wird anders als die IES-Konfigurationen global beim Start der JVM angegeben. Wir empfehlen hier die Einstellungen mit einem lokalen Mail-Server zu belassen und eine entsprechende Weiterleitung des SMTP-Dienstes zu konfigurieren (Relay). Details hierzu finden Sie [[Systemvoraussetzungen#Mailserver|hier]].<br />
<br />
<noinclude><br />
[[Kategorie:Administration und Konfiguration]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=IES_Konfiguration&diff=10493IES Konfiguration2022-09-28T05:45:58Z<p>Sed: /* Passwort-Steuerung */</p>
<hr />
<div>__TOC__<br />
<br />
=IES-Konfiguration=<br />
Der IES ist ein Java-Prozess, dessen Start-Parameter in der Datei <code>/etc/sitepark/sitepark.conf</code> konfiguriert wird. Hier werden Angaben zum Speicherverbrauch o.ä. vorgenommen. Details hierzu finden Sie [[Administration und Konfiguration unter Linux|hier]] für Linux.<br />
<br />
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<br />
iesadmin reload-config<br />
bzw. der entsprechende Button im IESAdmin-Webinterface laden diese Datei neu ein.<br />
<br />
==Beispiel einer <code>ies-server.xml</code>==<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<ies-server><br />
<br />
<!-- System-Bundles bilden typische Kombinationen von Modulen ab --><br />
<bundles><br />
<bundle>cms</bundle><br />
</bundles><br />
<br />
<!-- Globale Parameter --><br />
<settings><br />
<property name="dataDir" value="/srv/sitepark/data" /><br />
<property name="sessionTimeout" value="120" /><br />
<property name="maxRepositoryVersions" value="50" /><br />
<property name="maxObjectCacheSize" value="10000" /><br />
<property name="objectCacheLifetime" value="43200" /><br />
<property name="maxLockTime" value="10" /><br />
<property name="defaultLocale" value="de_DE" /><br />
<property name="privateCryptKey" value="963249068513792696390639" /><br />
<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" /><br />
<property name="bindbScaleSteps" value="40,100,500,h40" /><br />
<property name="iesadmin.update.url" value="http://user:password@ies.sitepark.com/updater/" /><br />
<property name="http.proxyHost" value="" /><br />
<property name="http.proxyPort" value="" /><br />
<property name="https.proxyHost" value="" /><br />
<property name="https.proxyPort" value="" /><br />
<property name="http.nonProxyHosts" value="localhost,127.0.0.1" /><br />
</settings><br />
<br />
<!-- Zugriffe auf IESAdmin --><br />
<security><br />
<user login="manager" password="b29fa62a183463dd119bf22cde912b9f" roles="management" /><br />
</security><br />
<br />
<!-- Konfiguration des Logging --><br />
<logging><br />
<appender name="IES" type="rolling-file" file="/srv/sitepark/ies.log" append="true" maxFileSize="100MB" maxBackups="1" /><br />
<logger name="com.sitepark.ies" level="TRACE" appender="IES" /><br />
<logger name="com.sitepark.ies.management.servlet" level="ERROR" appender="IES" /><br />
<logger name="com.sitepark.imgfile" level="ERROR" appender="IES" /><br />
<logger name="net.sf.jmimemagic" level="ERROR" appender="IES" /><br />
</logging><br />
<br />
<!-- Datenbank- und Mandanten-Konfigurationen und Root-Zugänge der jeweiligen Datenbank-Server --><br />
<persistence><br />
<admin type="1" host="localhost" user="root" password="secret" /><br />
<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"><br />
<client id="1" anchor="testclient" name="Testsystem" webapps="infosite," disabled="false"><br />
<attributes /><br />
<ref element="publisher" id="1" type="file" /><br />
<ref element="publisher" id="2" type="file" /><br />
<ref element="publisher" id="3" type="database" /><br />
</client><br />
</db><br />
<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" /><br />
</persistence><br />
<br />
<!-- Konfiguration der IES Dienste --><br />
<services><br />
<service id="lock-scheduler" status="stop" /><br />
<service id="publisher" /><br />
<service id="link" /><br />
<service id="ldap" /><br />
<service id="email-validator" /><br />
<service id="compiler" /><br />
<service id="report" /><br />
<service id="article-observer" /><br />
<service id="counter" disabled="false" /><br />
<service id="linktree" /><br />
<service id="r" /><br />
<service id="task" /><br />
<service id="indexer"><br />
<br />
<!-- Konfiguration von Indices werden innerhalb des Service abgelegt --><br />
<index id="1" anchor="testindex" client="100010100000000000-0" name="testindex" indexdir="/srv/sitepark/data/indexes/1-1/testindex"><br />
<field name="sp_headline" default="" type="text" boost="2.0" store="true" /><br />
</index><br />
<br />
</service><br />
<service id="ldap-import" /><br />
<service id="observer" /><br />
<service id="dependencies" disabled="false" /><br />
</services><br />
<br />
<!-- Optionale Konfiguration einer LDAP Anbindung --><br />
<ldap /><br />
<br />
<!-- Konfiguration der Publisher (jeder Publisher-Typ wird in einem separatem Bereich konfiguriert) --><br />
<publisher><br />
<file><br />
<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&#xA;https://www.domain.loc&#xA;http://domain.loc" anchor="www"><br />
<attributes /><br />
</file-publisher><br />
<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&#xA;http://preview.domain.loc:80&#xA;http://preview.domain.loc:80/irgendwo/"><br />
<attributes /><br />
</file-publisher><br />
</file><br />
<database><br />
<database-publisher id="3" name="DB" database="2"><br />
<attributes /><br />
</database-publisher><br />
</database><br />
</publisher><br />
<br />
<!-- Konfiguration der Module --><br />
<modules><br />
<module id="ies" disabled="false" /><br />
<module id="infosite" disabled="false" /><br />
</modules><br />
<br />
</ies-server><br />
</source><br />
<br />
==Erweiterte Datenbank-Parameter==<br />
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:<br />
;max-pool-size="20":Konfiguration des Pools für parallelen Datenbank-Verbindungen<br />
: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)''<br />
;blocking-timeout-millis="30000":Konfiguration der Dauer in Millisekunden, die der IES maximal auf eine Datenbank-Verbindungen des Pools wartet<br />
:Auch dieser Wert muss i.d.R. nicht verändert werden. ''(Default: 30000)''<br />
;track-statements="false":Erweitertes Logging bei Datenbank-Problemen<br />
:Dieser Wert wird aktuell noch nicht verwendet. ''(Default: false)''<br />
Diese müssen bei Bedarf direkt in der Konfiguration der jeweiligen Datenbankverbindung angegeben werden. Danach bleiben diese auch bei Änderungen im IESAdmin erhalten.<br />
<br />
==IES-Backupverzeichnis (<code>$SITEPARK_BACKUP</code>)==<br />
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 [[:Kategorie:Backup|hier]].<br />
<br />
Über das Property '''<code>backupDir</code>''' kann das Backupverzeichnis des IES geändert werden. Ist keine Konfiguration vorhanden, so wird der Ordner <code>$SITEPARK_HOME/backup</code> angenommen. Stellen sicher, dass der IES wieder vollen Zugriff auf den Ordner erhält (chown -R ies.ies).<br />
<br />
==IES-Datenverzeichnis (<code>$SITEPARK_DATA</code>)==<br />
Im Datenverzeichnis des IES werden alle Daten der Module und die <code>BinDB</code> mit allen Medien gespeichert.<br />
<br />
Über das Property '''<code>dataDir</code>''' 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).<br />
<br />
==Zugriff auf den IES per Ilink, wenn dieser per htaccess geschützt ist==<br />
In diesem Fall muss der Browser via JavaScript entsprechende Header setzen. Dazu sind im Webserver folgende HEADER-Setzungen zu machen:<br />
Header set Access-Control-Allow-Origin "https://www.website.de"<br />
Header set Access-Control-Allow-Methods "POST, GET, OPTIONS"<br />
Header set Access-Control-Allow-Credentials true<br />
<br />
Und in der IES-Konfiguration ist ein manueller Eintrag notwendig:<br />
<property name="host.withCredentials" value="true" /><br />
<br />
==Systeme unterscheiden (Test- oder Schulungssysteme)==<br />
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:<br />
* Label<br />
* Farbe (bekannter Name (z.B. "white") oder Farbcode (z.B. "#FFFFFF")<br />
<br />
In der IES-Konfiguration (XML-Encoded) sind das z.B. wie folgt aus:<br />
<source lang="xml"><br />
<property name="systemIdentification" value="{label:&quot;Testsystem&quot;,color:&quot;#fc9c34&quot;}" /><br />
</source><br />
<br />
Um im Mandanten diese globale Einstellung zu überschreiben kann in IES-Admin bei den Attributen des Mandaten folgende Setzung vorgenommen werden:<br />
<source lang="text"><br />
systemIdentification={label:"Demosystem"}<br />
</source><br />
oder<br />
<source lang="text"><br />
systemIdentification={label:"Schulungssystem", color:"green"}<br />
</source><br />
oder um die globale Setzung zurückzunehmen<br />
<source lang="text"><br />
systemIdentification={}<br />
</source><br />
<br />
==Session-Steuerung==<br />
Das System erlaubt die freie Konfiguration der Sitzungsdauer für Redakteure und WebAccounts.<br />
Die Sitzungsdauer für WebSessions und redaktionelle Arbeiten im CMS ist in Minuten anzugeben.<br />
Hier werden die Standard-Setzungen angezeigt (2 Stunden, 10 Tage):<br />
<br />
<source lang="xml"><br />
<property name="sessionTimeout" value="120" /><br />
<property name="webSessionTimeout" value="14400" /><br />
</source><br />
<br />
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).<br />
<br />
==Passwort-Steuerung==<br />
Über verschiedene, optionale Attribute in der Konfiguration kann die Verwaltung von Passwörtern gesteuert werden.<br />
<br />
<source lang="xml"><br />
<property name="password.expirationPeriod" value="90" /><br />
<property name="password.minLength" value="4" /><br />
<property name="password.regexp" value="^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&amp;+=])(?=\S+$).{8,}$" /><br />
<property name="password.algorithm" value="scrypt" /><br />
<property name="password.bcrypt.params" value="{cost=10}" /><br />
<property name="password.scrypt.params" value="{N=16384,r=8,p=1}" /><br />
<property name="password.pbkdf2.params" value="{iterations=1000,keyLength=512}" /><br />
<property name="password.text" value="Beschreibung der Passwort-Regeln für Redakteure" /><br />
</source><br />
<br />
===Gültigkeitsdauer===<br />
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):<br />
password.expirationPeriod<br />
<br />
===Minimale Passwort-Länge===<br />
Anzahl der Zeichen, die ein Passwort mind. lang sein soll.<br />
password.minLength<br />
<br />
===Regulärer Ausdruck als Regel für Passwörter===<br />
Ü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.<br />
password.regexp<br />
<br />
Beispiel:<br />
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$<br />
<br />
^ # Beginn des Passwortes<br />
(?=.*[0-9]) # min. eine Zahl<br />
(?=.*[a-z]) # mind. ein kleingeschriebener Buchstabe<br />
(?=.*[A-Z]) # mind. ein großgeschriebener Buchstabe<br />
(?=.*[@#$%^&+=]) # mind. eins dieser Sonderzeichen "@#$%^&+="<br />
(?=\S+$) # Leerzeichen sind nicht erlaubt<br />
.{8,} # mind. 8 Zeichen<br />
$ # Ende des Passwortes<br />
<br />
<div class="note">Bitte beachten Sie die Angaben in der XML-Datei entsprechend zu encoden (Beispiel: &amp; -&gt; &amp;amp;)</div><br />
<br />
===Algorithmus zur Verschlüsselung===<br />
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).<br />
<br />
* PBKDF2<br />
* scrypt<br />
* bcrypt<br />
* md5<br />
* sha (1, 256, 384, 512)<br />
* unixcrypt<br />
<br />
password.algorithm<br />
<br />
===Steuerung des Algorithmus zur der Verschlüsselung===<br />
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.<br />
password.bcrypt.params<br />
Default: "{cost=10}"<br />
<br />
password.scrypt.params<br />
Default: "{N=16384,r=8,p=1}", auf virtuellen Servern u.U. wie folgt zu reduzieren: "{N=1024, r=1, p=1}"<br />
<br />
password.pbkdf2.params<br />
Default: "{iterations=1000,keyLength=512}"<br />
<br />
===Hinweise zu den Passwort-Regeln===<br />
Hier kann eine von Menschen lesbare Beschreibung der Passwort-Regeln angegeben werden. Diese Regeln werden nur in Infosite ausgegeben, nicht für WebAccounts auf der Website. Hier sind Optionen in der Mehrsprachigkeit von Sitekit verfügbar.<br />
password.text<br />
<br />
=sitepark.conf=<br />
<br />
==IES_JAVA_OPTIONS==<br />
Java Optionen die mit -D angegeben werden<br />
<br />
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)<br />
com.sitepark.net.HttpClient.disableChunked=true<br />
<br />
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.<br />
com.sitepark.imgfile.imagemagick.command.Command.priority=0<br />
<br />
=Mail-Server Konfiguration=<br />
Der Mail-Server wird anders als die IES-Konfigurationen global beim Start der JVM angegeben. Wir empfehlen hier die Einstellungen mit einem lokalen Mail-Server zu belassen und eine entsprechende Weiterleitung des SMTP-Dienstes zu konfigurieren (Relay). Details hierzu finden Sie [[Systemvoraussetzungen#Mailserver|hier]].<br />
<br />
<noinclude><br />
[[Kategorie:Administration und Konfiguration]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Administration_und_Konfiguration_unter_Linux&diff=10487Administration und Konfiguration unter Linux2022-09-21T07:52:41Z<p>Sed: </p>
<hr />
<div>__TOC__<br />
<br />
Unter Linux sind keine graphischen Werkzeuge vorgesehen, da Linuxserver i.d.R. lediglich über die Console administriert werden. Typischerweise gibt es hier zum einen ein Start-Script, sowie einen Ordner mit Konfigurationen unter <code>/etc</code>.<br />
<br />
===Start-Script <code>$SITEPARK_HOME/bin/ies-sysd</code>===<br />
Ist der IES-Prozess erfolgreich gestartet, wird in die Datei <code>/etc/sitepark/ies.pid</code> die PID des IES-Prozesses geschrieben.<br />
<br />
Das Start-Script dient zum Starten und Stoppen des IES-Prozesses. Es kann aber auch zur Abfrage weiterer Informationen verwendet werden.<br />
<br />
Standardmäßig wird der [[IES]] mit der Konfigurationsdatei <code>$SITEPARK_HOME/conf/ies-server.xml</code> und der Lizenz-Datei <code>$SITEPARK_HOME/conf/ies-key.xml</code> gestartet.<br />
<br />
Folgende Steuer-Parameter stehen für das Start-Script zur Verfügung:<br />
<br />
;run: Startet den IES-Prozess nicht im Hintergrund. Die Standard-Ausgabe wird in der Konsole angezeigt. Der Prozess lässt sich mit Strg-C beenden.<br />
;start: Startet den IES-Prozess im Hintergrund. Das Script wird dennoch erst beendet, wenn der Server gestartet ist. Ein Abbrechen des Init-Scriptes mit Strg-C beendet nur das Script, nicht aber den IES-Prozess.<br />
;stop: Stoppt den IES-Prozess.<br />
;restart: Stoppt den IES-Prozess und startet ihn danach im Hindergrund neu. Wird das Init-Script während der Stop-Phase mit Strg-C beendet, wird das Stoppen des IES-Prozesses abgeschlossen ohne den IES-Prozess neu zu starten. Bei einem Stop in der Start-Phase wird nur das Init-Script beendet, nicht der IES-Prozess.<br />
;status: Liefert den aktuellen Status des IES. Folgende Stati sind möglich:<br />
:{| class="prettytable"<br />
|- class="hintergrundfarbe1"<br />
! Status<br />
! Beschreibung<br />
|-<br />
| stopped<br />
| Der IES oder der gesamte IES-Prozess ist gestoppt<br />
|-<br />
| started<br />
| Der IES ist gestartet<br />
|-<br />
| busy<br />
| Der IES ist zur Zeit nicht in der Lage den Status zurückzugeben<br />
|-<br />
| unknown<br />
| Der Status des IES ist unbekannt<br />
|-<br />
| error: <message><br />
| Der IES-Prozess ist gestartet. Es ist aber ein Fehler aufgetreten<br />
|}<br />
;check: Gibt die aktuellen Parameter des Prozesses aus<br />
;pid: Liefert die PID des IES-Prozesses.<br />
;kill: Schickt das <code>KILL</code> Signal an den IES-Prozess<br />
;jstack: Sichert den Java-Stack des IES-Prozesses nach <code>$SITEPARK_HOME/ies.jstack</code><br />
<br />
===Dateien in <code>/etc/sitepark</code>===<br />
Im Folgenden wird die Bedeutung der im Verzeichnis <code>/etc/sitepark</code> liegenden Dateien beschrieben. Hierbei handelt es sich um einen sog. Symlink auf das Konfigurationsverzeichnis <code>$SITEPARK_HOME/conf</code>.<br />
<br />
;ies-key.xml: Verschlüsselte XML-Datei, die die Lizenz dieser IES-Instanz beinhaltet<br />
;ies.pid: Enthält die PID des gestarteten IES-Prozesses. Diese Datei wird nach einem erfolgreichen Aufruf von <code>/etc/init.d/ies stop</code> gelöscht<br />
;ies-server.xml: Zentrale Konfigurationsdatei des [[IES]]. Bei manuellen Änderungen dieser Datei muss sie über IES-Admin neu eingelesen werden<br />
:Eine beispielhafte Konfiguration kann [[IES_Konfiguration#Beispiel_einer_ies-server.xml|hier]] eingesehen werden.<br />
;sitepark.conf: Enthält Konfigurationen für das Systemd-Script:<br />
:;SITEPARK_HOME: Installations-Verzeichnis des IES<br />
:;JAVA_HOME: Vom IES verwendete Java-Installation<br />
:;IES_PID_FILE: Name und Pfad der Datei, in der die PID des IES-Prozesses geschrieben werden soll<br />
:;IES_MEM_MAX: Maximaler Speicher, der für den Java-Heap angefordert werden darf<br />
:;IES_MEM_INIT: Speicher, der Initial für den Java-Heap angefordert wird<br />
:;IES_PERM_MAX: Maximaler Speicher, der für den Java-Non-Heap angefordert werden darf<br />
:;IES_MIN_HEAD_RATIO: Steuerung des Speicherverhaltens der JVM<br />
:;IES_MAX_HEAD_RATIO: Steuerung des Speicherverhaltens der JVM<br />
:;IES_USER: Nutzer, unter dem der IES gestartet wird<br />
:;IES_LANG: Standard-Sprache, mit der der IES läuft<br />
:;IES_UMASK: umask Setzungen für den Nutzer des IES<br />
:;IES_BIND_ADDRESS: Die IP, auf die der IES gebunden werden soll. Standardmäßig ist dort <code>localhost</code> konfiguriert, um das System von Außen zu schützen. Wird dort <code>0.0.0.0</code> konfiguriert, so ist der Zugriff über das Netzwerk möglich. Informationen hierzu finden Sie auch unter [[:Kategorie:Installation]]<br />
:;IES_IMGFILE_DEFAULT_PROVIDER: Konfiguration der Bildberechnungsroutine. Mögliche Werte sind <code>gfx</code> (Standard unter Linux; Eigenentwicklung von Sitepark), <code>gfxcmd</code> Aufruf der Bibliothek in einem eigenen Prozess (gfx muss konfiguriert sein), <code>imagemagick</code><br />
;version.properties: Enthält die aktuelle Versionsnummer des IES<br />
<br />
===Werkzeuge in <code>$SITEPARK_HOME/bin</code>===<br />
Für die Administration und Steuerung des [[IES]] stehen unter <code>$SITEPARK_HOME/bin</code> noch einzelne BASH-Skripte zur Verfügung. Diese waren bis zum Release 2.5 in <code>/usr/bin/</code> verlinkt. Dies ist aus Sicherheitsgründen umgestellt worden. Nun stehen die Skripte über die <code>$PATH</code> Variable zur Verfügung.<br />
<br />
Damit diese auch über einen <code>sudo</code> Aufruf gefunden werden empfiehlt sich die Erweiterung der Datei <code>/etc/sudoers</code> um den folgenden Eintrag:<br />
Defaults !secure_path<br />
<br />
Der Aufruf ist grundsätzlich nur als Nutzer <code>root</code> oder <code>ies</code> erlaubt. Die Scripte selber setzen nur notwendige JAVA-Parameter zusammen. Die eigentliche Ausführung erfolgt in einem Java-Prozess.<br />
<br />
Folgende Scripte sind verfügbar:<br />
;iesadmin: Standard-Werkzeug zur Administration des IES. Weitere Informationen gibt die Option <code>-h</code> oder folgende Dokumentation: [[:Kategorie:IES-Admin (commandline)]]<br />
;iesclient: Werkzeug zu Steuerung von Eingaben in der Console. Es können beliebige Klassen zur Ausführung angegeben werden.<br />
;iesxip: Werkzeug für XIP-Importe und -Exporte; basiert auf ''iesclient''<br />
<br />
<noinclude><br />
[[Kategorie:Administration und Konfiguration]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Administration_und_Konfiguration_unter_Linux&diff=10486Administration und Konfiguration unter Linux2022-09-21T07:47:04Z<p>Sed: /* Dateien in /etc/sitepark */</p>
<hr />
<div>__TOC__<br />
<br />
Unter Linux sind keine graphischen Werkzeuge vorgesehen, da Linuxserver i.d.R. lediglich über die Console administriert werden. Typischerweise gibt es hier zum einen ein Init-Script, sowie einen Ordner mit Konfigurationen unter <code>/etc</code>.<br />
<br />
===Init-Script <code>/etc/init.d/ies</code>===<br />
Unter Linux wird der IES-Prozess über das Init-Script <code>/etc/init.d/ies</code> mit Hilfe des Parameters <code>start</code> gestartet und mit dem Parameter <code>stop</code> gestoppt.<br />
<br />
Unter Linux wird ein übermäßiges Anwachsen der Logdatei <code>$SITEPARK_HOME/ies.out</code> durch Log-Rotating mit Hilfe des Scripts <code>$SITEPARK_HOME/bin/logrot</code> verhindert. Das Script sorgt dafür, dass die <code>ies.out</code>-Datei nicht mehr als 1.000.000 Zeilen enthält. Ist diese Zahl erreicht, wird die Datei<br />
umbenannt und eine neue Logdatei angelegt. Die Anzahl der Log-Dateien ist auf 5 begrenzt. Diese Einstellungen können in der Konfiguration <code>/etc/sitepark/sitepark.conf</code> in der Variable </code>IES_LOG_ROTATE</code> geändert werden. Der Schalter <code>-l</code> gibt die Maximalen Zeilen einer Log-Datei an. Der<br />
Schalter <code>-n</code> bestimmt die Anzahl der maximalen Log-Dateien.<br />
<br />
Ist der IES-Prozess erfolgreich gestartet, wird in die Datei <code>/etc/sitepark/ies.pid</code> die PID des IES-Prozesses geschrieben.<br />
<br />
Das Init-Script dient zum Starten und Stoppen des IES-Prozesses. Es kann aber auch zur Abfrage weiterer Informationen verwendet werden.<br />
<br />
Standardmäßig wird der [[IES]] mit der Konfigurationsdatei <code>$SITEPARK_HOME/conf/ies-server.xml</code> und der Lizenz-Datei <code>$SITEPARK_HOME/conf/ies-key.xml</code> gestartet. Es ist jedoch möglich einen anderen Konfigurationssatz zu verwenden, indem vor den eigentlichen Steuerparameter (start,stop,...) ein<br />
Konfigurationsname angegeben wird. Wird das Script z.B. mit den Parametern<br />
/etc/init.d/ies testing start<br />
aufgerufen, so wird die Konfigurationsdatei <code>$SITEPARK_HOME/conf/ies-testing-server.xml</code> und die Lizenz-Datei <code>$SITEPARK_HOME/conf/ies-testing-key.xml</code> verwendet.<br />
<br />
Folgende Steuer-Parameter stehen für das Init-Script zur Verfügung:<br />
<br />
;server: Startet den IES-Prozess nicht im Hintergrund. Die Standard-Ausgabe wird in der Konsole angezeigt. Der Prozess lässt sich mit Strg-C beenden.<br />
;start: Startet den IES-Prozess im Hintergrund. Das Script wird dennoch erst beendet, wenn der Server gestartet ist. Ein Abbrechen des Init-Scriptes mit Strg-C beendet nur das Script, nicht aber den IES-Prozess.<br />
;stop: Stoppt den IES-Prozess.<br />
;restart: Stoppt den IES-Prozess und startet ihn danach im Hindergrund neu. Wird das Init-Script während der Stop-Phase mit Strg-C beendet, wird das Stoppen des IES-Prozesses abgeschlossen ohne den IES-Prozess neu zu starten. Bei einem Stop in der Start-Phase wird nur das Init-Script beendet, nicht der IES-Prozess.<br />
;status: Liefert den aktuellen Status des IES. Folgende Stati sind möglich:<br />
:{| class="prettytable"<br />
|- class="hintergrundfarbe1"<br />
! Status<br />
! Beschreibung<br />
|-<br />
| stopped<br />
| Der IES oder der gesamte IES-Prozess ist gestoppt<br />
|-<br />
| started<br />
| Der IES ist gestartet<br />
|-<br />
| busy<br />
| Der IES ist zur Zeit nicht in der Lage den Status zurückzugeben<br />
|-<br />
| unknown<br />
| Der Status des IES ist unbekannt<br />
|-<br />
| error: <message><br />
| Der IES-Prozess ist gestartet. Es ist aber ein Fehler aufgetreten<br />
|}<br />
;cmd: Gibt die Kommandozeile aus, mit der der IES gestartet wird<br />
;pid: Liefert die PID des IES-Prozesses.<br />
;kill: Schickt das <code>KILL</code> Signal an den IES-Prozess<br />
;dumpstack: Sichert den Java-Stack des IES-Prozesses nach <code>$SITEPARK_HOME/ies.jstack</code><br />
;chkcnf: Prüft die Konfigurationsdatei <code>/etc/sitepark/ies-server.xml</code> auf Gültigkeit.<br />
;chkports: Prüft, ob alle für den IES-Prozess [[Verwendete Ports des IES|nötigen Ports]] nicht schon verwendet werden.<br />
<br />
<br />
===Dateien in <code>/etc/sitepark</code>===<br />
Im Folgenden wird die Bedeutung der im Verzeichnis <code>/etc/sitepark</code> liegenden Dateien beschrieben. Hierbei handelt es sich um einen sog. Symlink auf das Konfigurationsverzeichnis <code>$SITEPARK_HOME/conf</code>.<br />
<br />
;ies-key.xml: Verschlüsselte XML-Datei, die die Lizenz dieser IES-Instanz beinhaltet<br />
;ies.pid: Enthält die PID des gestarteten IES-Prozesses. Diese Datei wird nach einem erfolgreichen Aufruf von <code>/etc/init.d/ies stop</code> gelöscht<br />
;ies-server.xml: Zentrale Konfigurationsdatei des [[IES]]. Bei manuellen Änderungen dieser Datei muss sie über IES-Admin neu eingelesen werden<br />
:Eine beispielhafte Konfiguration kann [[IES_Konfiguration#Beispiel_einer_ies-server.xml|hier]] eingesehen werden.<br />
;sitepark.conf: Enthält Konfigurationen für das Systemd-Script:<br />
:;SITEPARK_HOME: Installations-Verzeichnis des IES<br />
:;JAVA_HOME: Vom IES verwendete Java-Installation<br />
:;IES_PID_FILE: Name und Pfad der Datei, in der die PID des IES-Prozesses geschrieben werden soll<br />
:;IES_MEM_MAX: Maximaler Speicher, der für den Java-Heap angefordert werden darf<br />
:;IES_MEM_INIT: Speicher, der Initial für den Java-Heap angefordert wird<br />
:;IES_PERM_MAX: Maximaler Speicher, der für den Java-Non-Heap angefordert werden darf<br />
:;IES_MIN_HEAD_RATIO: Steuerung des Speicherverhaltens der JVM<br />
:;IES_MAX_HEAD_RATIO: Steuerung des Speicherverhaltens der JVM<br />
:;IES_USER: Nutzer, unter dem der IES gestartet wird<br />
:;IES_LANG: Standard-Sprache, mit der der IES läuft<br />
:;IES_UMASK: umask Setzungen für den Nutzer des IES<br />
:;IES_BIND_ADDRESS: Die IP, auf die der IES gebunden werden soll. Standardmäßig ist dort <code>localhost</code> konfiguriert, um das System von Außen zu schützen. Wird dort <code>0.0.0.0</code> konfiguriert, so ist der Zugriff über das Netzwerk möglich. Informationen hierzu finden Sie auch unter [[:Kategorie:Installation]]<br />
:;IES_IMGFILE_DEFAULT_PROVIDER: Konfiguration der Bildberechnungsroutine. Mögliche Werte sind <code>gfx</code> (Standard unter Linux; Eigenentwicklung von Sitepark), <code>gfxcmd</code> Aufruf der Bibliothek in einem eigenen Prozess (gfx muss konfiguriert sein), <code>imagemagick</code><br />
;version.properties: Enthält die aktuelle Versionsnummer des IES<br />
<br />
===Werkzeuge in <code>$SITEPARK_HOME/bin</code>===<br />
Für die Administration und Steuerung des [[IES]] stehen unter <code>$SITEPARK_HOME/bin</code> noch einzelne BASH-Skripte zur Verfügung. Diese waren bis zum Release 2.5 in <code>/usr/bin/</code> verlinkt. Dies ist aus Sicherheitsgründen umgestellt worden. Nun stehen die Skripte über die <code>$PATH</code> Variable zur Verfügung.<br />
<br />
Damit diese auch über einen <code>sudo</code> Aufruf gefunden werden empfiehlt sich die Erweiterung der Datei <code>/etc/sudoers</code> um den folgenden Eintrag:<br />
Defaults !secure_path<br />
<br />
Der Aufruf ist grundsätzlich nur als Nutzer <code>root</code> oder <code>ies</code> erlaubt. Die Scripte selber setzen nur notwendige JAVA-Parameter zusammen. Die eigentliche Ausführung erfolgt in einem Java-Prozess.<br />
<br />
Folgende Scripte sind verfügbar:<br />
;iesadmin: Standard-Werkzeug zur Administration des IES. Weitere Informationen gibt die Option <code>-h</code> oder folgende Dokumentation: [[:Kategorie:IES-Admin (commandline)]]<br />
;iesclient: Werkzeug zu Steuerung von Eingaben in der Console. Es können beliebige Klassen zur Ausführung angegeben werden.<br />
;iesxip: Werkzeug für XIP-Importe und -Exporte; basiert auf ''iesclient''<br />
<br />
<noinclude><br />
[[Kategorie:Administration und Konfiguration]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=IES-%C3%96kosystem&diff=10485IES-Ökosystem2022-09-21T07:43:34Z<p>Sed: /* IES */</p>
<hr />
<div>=Ökosystem=<br />
Das IES-Ökosystem ist ein individuell für den einzelnen Kunden aufgebautes System, dass üblicherweise aus verschiedenen Servern besteht und auf die Infrastruktur des Kunden angepasst ist. Je nach Anforderung besteht das System aus Standard-Komponenten und –Diensten sowie individuell angepassten oder neu entwickelten Komponenten und Diensten. Die Integration von Diensten, die der Kunde bereits betreibt oder die Integration von Diensten Dritter ist ebenfalls Teil des IES-Ökosystems.<br />
<br />
Prinzipiell kann ein IES-Ökosystem in unterschiedlichsten Konstellationen betrieben werden. Eine einfache Installation für kleine und mittlere Anforderungen kann u.U. mit einem Server realisiert werden, bei dem der IES, die Datenbank und der Webserver auf einem Server laufen.<br />
<br />
Für größere Installationen ist eine Trennung von IES-Server, Datenbank und (n unterschiedliche) Webservern sinnvoll.<br />
<br />
In der Regel ist ein E-Mail-Server ebenfalls Teil des IES-Ökosystems. Dieser existiert im Normalfall bereits beim Kunden und wird im IES-Ökosystem verwendet. Der IES und der/die Web-Server müssen E-Mails versenden können (SMTP) und verwenden hierfür den Email-Server. Je nach Anforderung z.B. bei Verwendung von InfoTicket werden auch IMAP-Konten vom System verwendet.<br />
<br />
Existiert beim Kunden ein LDAP-Server der angebunden werden soll wird dieser in das IES-Ökosystems aufgenommen. Hier müssen Nutzer-Daten aus dem LDAP-System ausgelesen und Authentifizierungen gegen den LDAP-Server ausgeführt werden können.<br />
<br />
Je nach Kunde ist diese Netzwerkstruktur unterschiedlich. Für den Betrieb des Ökosystems ist es erforderlich, das Komponenten mit Diensten anderer Komponenten Serverübergreifend Kommunizieren können. Je nach Netzwerkstruktur müssen hier ggf. Firewall und/oder Proxy-Regeln zur Gewährleistung der Kommunikation gesetzt werden.<br />
<br />
In der Regel gibt es im IES-Ökosystem einen IES-Server, n Web-Server, einen E-Mail-Server und ggf. einen LDAP-Server. Je nach Anforderung des IES-Servers wird die Datenbank auf dem IES-Server selber oder auf einem eigenen Server installiert.<br />
<br />
Folgende Grafik zeigt eine '''beispielhafte''' Einbindung der einzelnen Komponenten in ein bestehendes Netzwerk mit internem Netz und DMZ sowie unterschiedlichen Firewalls.<br />
<br />
[[Datei:IES-Netzwerktopologie-screen.png|IES-Netzworktopologie]]<br />
<br />
=IES=<br />
Der IES ist ein von Sitepark entwickelter Applikation-Server auf Basis des Jetty. Er ermöglicht Sitepark die Entwicklung von Produkten auf einer einheitlichen Basis und stellt unter anderem ein produktübergreifendes Daten-, und Benutzermanagement bereit. Der IES ist die Technologie-Plattform von Sitepark.<br />
<br />
=Webserver=<br />
Die Webserver im IES-Ökosystem haben unter anderen die Aufgabe Dateien auszuliefern, die vom IES generiert wurden. Meistens besteht die vom IES generierte Website nicht nur aus einfachen Webseiten, sondern enthält Web-Applikationen die in der Webseite genutzt werden (Volltextsuchen, Veranstaltungskalender, Newsletter-Anmeldung, …)<br />
<br />
Hier wird die Trennung zwischen CMS (auf IES-Server) und Webserver deutlich. Die Pflege der Daten erfolgt über den IES-Server. Die für eine Webseite relevante Daten werden laufend auf den Webserver übertragen. Damit kann der Webserver weitestgehend autonom vom CMS arbeiten. Nur für interaktive Funktionen der Webseite, bei der Daten direkt vom CMS gelesen oder geändert werden, ist die Kommunikation des Webservers mit dem IES-Server notwendig ist.<br />
In diesem Fall kommuniziert der Webserver mit dem IES-Server über RPC-basierte Aufrufe mittels der einer von Sitepark bereitgestellten PHP-API. Ein direkter Zugriff auf den IES-Server aus dem Internet ist i.d.R. ''nicht'' erforderlich.<br />
<br />
==IES-Webnode==<br />
Der IES-Webnode ist ein Java-Applikations-Server auf Basis des Jetty. Er wird auf Web-Servern installiert, die vom IES generierte Webseiten ausliefern. Innerhalb des IES-Webnode werden Module installiert, die erweiterte Funktionalitäten für die Webseite bereitstellen (z.B. Volltextsuche). Der IES-Webnode ist der „lange Arm“ des IES zum Webserver, um so IES-Technik auf dem Webserver bereitzustellen. Alle Daten des CMS sind jedoch weiterhin nur über RPC-Aufrufe des Webnodes verfügbar.<br />
Prinzipiell erfüllt der IES-Webnode zwei wesentliche Funktionen auf dem Webserver:<br />
* Bereitstellung lokaler Funktionen, die über PHP hinausgehen. Hierzu zählt zum Beispiel die Volltextsuche oder aber auch mögliche Verwendung anderer Services wie Piwik o.ä.<br />
* Gegenstelle des IES auf dem Webserver.<br />
<br />
==ProfilePlus==<br />
Das Modul ProfilePlus ermöglicht durch das Sitepark Auth-Modul die Authentifizierung eines Nutzers über die Website am IES bzw. IES-Webnode.<br />
Sollen Inhalte auf dem Webserver personalisiert werden bedeutet dies, dass ein Nutzer sich am Webserver anmelden muss/kann.<br />
<br />
Er erreicht dann über die zugewiesenen Gruppenrechte Zugriff auf mehr oder weniger Inhalte der Website. Auch ist der Nutzer für mögliche Online-Funktionen bereits bekannt und kann so z.B. Formulare absenden oder Kommentare posten. Voraussetzung hierfür ist das Modul ProfilePlus von Sitepark. Dieses erlaubt die Anmeldung über die IES-API am IES oder einem anderen konfiguriertem IES-Webnode mit separater Datenbank-Konfiguration. Funktionen zur autonomen Registrierung und Profil-Verwaltung auf der Website werden ebenfalls über dieses Modul bereit gestellt.<br />
<br />
Details können je nach Projekt entsprechend abgestimmt werden.<br />
<br />
=Kommunikation vom IES-Server=<br />
<br />
==Remote-File-System zum Webserver (NFS-mount, rsync, …)==<br />
Damit der Webserver autonom vom IES-Server arbeiten kann werden alle relevanten Daten auf das Dateisystem des Webservers übertragen. Hierbei handelt es sich in der Regel um PHP-, CSS- und JavaScript-Dateien, die über Templates vom System stets konsistent generiert werden. Alle verwendeten Medien werden in den tatsächlich verwendeten Formaten mit ausgeliefert. Weiterhin werden Bibliotheken des IES (z.B. PHP IES-API) im DocumentRoot des Webserver kopiert und aktuell gehalten.<br />
<br />
Idealerweise ist eine synchrone Verbindung zwischen den beiden Systemen vorzusehen, bei der auf dem Webserver ein Ordner im Dateisystem für den IES-Server freigeben wird. Dieser wird dann vom IES-Server gemountet. Eine entsprechende Performanz dieser Verbindung ist zwingend notwendig. Je nach technischer Reglementierung kann dieser Mount über SSH oder HTTP(S) getunnelt werden und per NFS, WebDAV o.ä. erfolgen. Alternativ kann auch eine Lösung wie ein NAS oder SAN eingesetzt werden.<br />
<br />
Ist eine direkte Verbindung zwischen den beiden Systemen technisch nicht möglich kann eine Übertragung der Daten auch per Synchronisation (rsync o.ä.) erfolgen. In diesem Fall müssen aber auf dem IES-System lokale Domains konfiguriert werden über die Redakteure Vorschau-Ansichten erzeugen und aufrufen können.<br />
Wird der IES beendet, so kann der Webserver auch weiterhin die lokal gespeicherte Website ausliefern. Alle relevanten Dienste wie z.B. Suchen werden vom Webserver direkt bereit gestellt.<br />
<br />
==IES-Webnode des Webservers==<br />
Der IES hat mit dem IES-Webnode einen klaren, gerichteten Kommunikationskanal zum Webserver. Dieser ist über HTTPS geschützt und erlaubt die Übertragung von Daten des IES auf den Webserver, sowie die Bereitstellung von Information vom Webserver für den IES.<br />
<br />
Änderungen an einzelnen Artikel werden vom IES-Server dem IES-Webnode auf dem Webserver kommuniziert, damit dieser z.B. den Solr-Suchindex partiell aktualisiert.<br />
<br />
Ein Funktionsbeispiel für den IES-Webnode ist folgendes: Im IES-Server werden vom Redakteur inhaltliche Änderungen an einem Artikel vorgenommen. Der IES generiert alle relevanten Dateien neu. Diese sind über entsprechende Mounts direkt auf dem Webserver verfügbar. Die Volltextsuche ist aber damit nicht mehr aktuell. Für diesen Zweck sendet der IES einen entsprechenden Request an den IES-Webnode und nennt geändert URLs. Der IES-Webnode stößt in diesem Fall dann z.B. das Solr-Modul für die Volltextsuche an, welches die genannten URLs im Index aktualisiert. Damit ist die Konsistenz der Website gewährleistet.<br />
<br />
==Email-Server==<br />
Der IES versendet für verschiedene Anwendungsfälle E-Mails. In der Regel kann hierfür ein bereits vorhandene E-Mail-Server verwendet werden. Je nach gewünschter Konfiguration schickt der IES-Server die E-Mails zunächst an einen SMTP-Dienst auf dem eigenen Server (localhost). Dieser kann dann über Relay-Konfigurationen die E-Mail weiterleiten. Alternativ kann auch direkt der E-Mail-Server des Kunden angesprochen werden.<br />
<br />
Einige IES-Applikationen wie z.B. Infoticket benötigen ein oder mehrere IMAP-Konten um eingehende E-Mails zu verarbeiten. In diesem Fall wird der E-Mail-Server des Kunden auch über SMTP angesprochen.<br />
<br />
==LDAP-Server==<br />
Um eine doppelte Pflege von Nutzerdaten zu vermeiden, wird häufig ein LDAP-Server angebunden. Der IES importiert und synchronisiert in regelmäßigen Abständen die Nutzer-Daten, die im IES zur Verfügung stehen sollen. Hierfür wird ein lesender Zugriff auf das LDAP-System benötigt. Erfahrungsgemäß sind die Importregeln von LDAP-Daten individuell. Auf diese Anforderung hat sich Sitepark eingestellt und stellt einen Import zur Verfügung, der bisher alle Anforderungen erfüllten konnte.<br />
<br />
Passwörter der LDAP-Nutzer werden nie importiert. Die Authentifizierung der LDAP-Nutzer erfolgt immer direkt gegen den LDAP-Server.<br />
<br />
<br />
=Kommunikation vom Webserver=<br />
<br />
==IES-Server==<br />
Sind auf der erzeugten Website Funktionen vorgesehen, bei denen Daten vom Webserver an den IES-Server übertragen oder Daten vom IES-Server abgefragt werden müssen, ist dies über entsprechende Konfigurationen vorzusehen. Es wird zwischen folgenden Aufrufen unterschieden:<br />
<br />
Für alle der genannten Fälle ist somit kein direkter Zugriff von Nutzern auf das IES-System notwendig. Alle Zugriffe erfolgen grundsätzlich über den Webserver.<br />
<br />
* Zugriff auf sog. Live-GUIs. Dabei handelt es sich um den Aufruf von Modules des IES, die bestimmte Dienstleistungen bereitstellen. Beispiel hierfür ist z.B. der NewsDesk.<br />
* Zugriff auf Funktionen der IES-API in JavaScript oder PHP z.B. über das Verzeichnismodul, bei dem Besucher der Website Beiträge erfassen können.<br />
* Zugriff auf IES-Module wie z.B. den Counter. Auch der Zugriff auf z.B. InfoSite ließe sich auf diese Form konfigurieren.<br />
<br />
Die oben genannten Anfragen werden an den Host des Webservers gestellt. Dieser verfügt über fein justierte Proxy-Einstellungen, die entsprechende Anfragen (URL-RegExp z.B. /ies/infosite/control/) über eine weitere Firewall an den IES-Server im internen Netz übertragen. Dieser liefert dann die Antwort an den Webserver, der diese zurück an den Benutzer schickt.<br />
<br />
Zwischen dem Webserver und dem IES-Server kann auch eine gut konfigurierte Application-Firewall eingesetzt werden. Diese erlaubt weitere sicherheitsrelevante Konfiguration bzgl. der übertragenen Daten. Auch weitere Proxy-Hosts könnten hier verwendet werden.<br />
<br />
Die Kommunikation zwischen dem Webserver und dem IES-Server erfolgt stets über HTTP bzw. HTTPS (Port 80 und 443) und wird auf dem IES-Server vom Apache lokal über weitere Proxy-Regeln an den IES-Prozess geleitet.<br />
* Der IES wird nie direkt angesprochen!<br />
* Im IES ist ein integrierter Jetty-Server für die Ausführung von entsprechenden Servlets verantwortlich.<br />
Der IES fungiert im Prinzip über die genannten Schnittstellen als eine Art Webservice. Bei dem Aufruf der IES-API (RPC-Call) erfolgt die Kommunikation mit dem IES ausschließlich im JSON-Format. Alle relevanten Informationen wie eine Session-ID werden entsprechend mit gesendet (stateless).<br />
<br />
==Email-Server==<br />
In der Regel ist es erforderlich, dass der Web-Server E-Mails versenden kann (z.B. bei Verwendung eines Kontakt-Formulars). Dies sind E-Mails die an konfigurierbare Empfänger gesendet werden. Hier wird normalerweise der E Mail Server des Kunden angebunden.<br />
<br />
<br />
=IES-Update-Server=<br />
Der IES besteht aus einem Kern und vielen Modulen, die kontinuierlich weiter entwickelt werden. Für den einfachen und reibungslosen Ablauf eines Updates eine HTTP(S)-Verbindung zum IES-Update-Server erforderlich (https://ies.sitepark.com/updater/).<br />
<br />
=Kommunikationsdiagramm=<br />
Das IES-Ökosystem ist ein auf Kundenwünsche kontinuierlich angepasstes, erweitertes und optimiertes System. Die Erfahrung hat gezeigt, dass eine optimale Unterstützung von Sitepark für die Wartung und Pflege des IES-Ökosystems nur über einen guten Wartungszugang erfolgen kann.<br />
<br />
Das IES-Ökosystem kann komplex und sehr individuell sein. Es wird bestmöglich an die Umgebung des Kunden angepasst. Fragen zu auftretende Fehler können daher in der Regel nicht pauschal beantwortet werden, sondern erfordern oft einen Blick in das System.<br />
<br />
<br />
[[Bild:IES-Kommunikation-screen.png|IES-Kommunikation]]<br />
<br />
<br />
<noinclude><br />
[[Kategorie:Administration| 500]]<br />
[[Category:Module]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=IES-%C3%96kosystem&diff=10484IES-Ökosystem2022-09-21T07:43:16Z<p>Sed: /* IES-Server */</p>
<hr />
<div>=Ökosystem=<br />
Das IES-Ökosystem ist ein individuell für den einzelnen Kunden aufgebautes System, dass üblicherweise aus verschiedenen Servern besteht und auf die Infrastruktur des Kunden angepasst ist. Je nach Anforderung besteht das System aus Standard-Komponenten und –Diensten sowie individuell angepassten oder neu entwickelten Komponenten und Diensten. Die Integration von Diensten, die der Kunde bereits betreibt oder die Integration von Diensten Dritter ist ebenfalls Teil des IES-Ökosystems.<br />
<br />
Prinzipiell kann ein IES-Ökosystem in unterschiedlichsten Konstellationen betrieben werden. Eine einfache Installation für kleine und mittlere Anforderungen kann u.U. mit einem Server realisiert werden, bei dem der IES, die Datenbank und der Webserver auf einem Server laufen.<br />
<br />
Für größere Installationen ist eine Trennung von IES-Server, Datenbank und (n unterschiedliche) Webservern sinnvoll.<br />
<br />
In der Regel ist ein E-Mail-Server ebenfalls Teil des IES-Ökosystems. Dieser existiert im Normalfall bereits beim Kunden und wird im IES-Ökosystem verwendet. Der IES und der/die Web-Server müssen E-Mails versenden können (SMTP) und verwenden hierfür den Email-Server. Je nach Anforderung z.B. bei Verwendung von InfoTicket werden auch IMAP-Konten vom System verwendet.<br />
<br />
Existiert beim Kunden ein LDAP-Server der angebunden werden soll wird dieser in das IES-Ökosystems aufgenommen. Hier müssen Nutzer-Daten aus dem LDAP-System ausgelesen und Authentifizierungen gegen den LDAP-Server ausgeführt werden können.<br />
<br />
Je nach Kunde ist diese Netzwerkstruktur unterschiedlich. Für den Betrieb des Ökosystems ist es erforderlich, das Komponenten mit Diensten anderer Komponenten Serverübergreifend Kommunizieren können. Je nach Netzwerkstruktur müssen hier ggf. Firewall und/oder Proxy-Regeln zur Gewährleistung der Kommunikation gesetzt werden.<br />
<br />
In der Regel gibt es im IES-Ökosystem einen IES-Server, n Web-Server, einen E-Mail-Server und ggf. einen LDAP-Server. Je nach Anforderung des IES-Servers wird die Datenbank auf dem IES-Server selber oder auf einem eigenen Server installiert.<br />
<br />
Folgende Grafik zeigt eine '''beispielhafte''' Einbindung der einzelnen Komponenten in ein bestehendes Netzwerk mit internem Netz und DMZ sowie unterschiedlichen Firewalls.<br />
<br />
[[Datei:IES-Netzwerktopologie-screen.png|IES-Netzworktopologie]]<br />
<br />
=IES=<br />
Der IES ist ein von Sitepark entwickelter Applikation-Server auf Basis des JBoss. Er ermöglicht Sitepark die Entwicklung von Produkten auf einer einheitlichen Basis und stellt unter anderem ein produktübergreifendes Daten-, und Benutzermanagement bereit. Der IES ist die Technologie-Plattform von Sitepark.<br />
<br />
<br />
=Webserver=<br />
Die Webserver im IES-Ökosystem haben unter anderen die Aufgabe Dateien auszuliefern, die vom IES generiert wurden. Meistens besteht die vom IES generierte Website nicht nur aus einfachen Webseiten, sondern enthält Web-Applikationen die in der Webseite genutzt werden (Volltextsuchen, Veranstaltungskalender, Newsletter-Anmeldung, …)<br />
<br />
Hier wird die Trennung zwischen CMS (auf IES-Server) und Webserver deutlich. Die Pflege der Daten erfolgt über den IES-Server. Die für eine Webseite relevante Daten werden laufend auf den Webserver übertragen. Damit kann der Webserver weitestgehend autonom vom CMS arbeiten. Nur für interaktive Funktionen der Webseite, bei der Daten direkt vom CMS gelesen oder geändert werden, ist die Kommunikation des Webservers mit dem IES-Server notwendig ist.<br />
In diesem Fall kommuniziert der Webserver mit dem IES-Server über RPC-basierte Aufrufe mittels der einer von Sitepark bereitgestellten PHP-API. Ein direkter Zugriff auf den IES-Server aus dem Internet ist i.d.R. ''nicht'' erforderlich.<br />
<br />
==IES-Webnode==<br />
Der IES-Webnode ist ein Java-Applikations-Server auf Basis des Jetty. Er wird auf Web-Servern installiert, die vom IES generierte Webseiten ausliefern. Innerhalb des IES-Webnode werden Module installiert, die erweiterte Funktionalitäten für die Webseite bereitstellen (z.B. Volltextsuche). Der IES-Webnode ist der „lange Arm“ des IES zum Webserver, um so IES-Technik auf dem Webserver bereitzustellen. Alle Daten des CMS sind jedoch weiterhin nur über RPC-Aufrufe des Webnodes verfügbar.<br />
Prinzipiell erfüllt der IES-Webnode zwei wesentliche Funktionen auf dem Webserver:<br />
* Bereitstellung lokaler Funktionen, die über PHP hinausgehen. Hierzu zählt zum Beispiel die Volltextsuche oder aber auch mögliche Verwendung anderer Services wie Piwik o.ä.<br />
* Gegenstelle des IES auf dem Webserver.<br />
<br />
==ProfilePlus==<br />
Das Modul ProfilePlus ermöglicht durch das Sitepark Auth-Modul die Authentifizierung eines Nutzers über die Website am IES bzw. IES-Webnode.<br />
Sollen Inhalte auf dem Webserver personalisiert werden bedeutet dies, dass ein Nutzer sich am Webserver anmelden muss/kann.<br />
<br />
Er erreicht dann über die zugewiesenen Gruppenrechte Zugriff auf mehr oder weniger Inhalte der Website. Auch ist der Nutzer für mögliche Online-Funktionen bereits bekannt und kann so z.B. Formulare absenden oder Kommentare posten. Voraussetzung hierfür ist das Modul ProfilePlus von Sitepark. Dieses erlaubt die Anmeldung über die IES-API am IES oder einem anderen konfiguriertem IES-Webnode mit separater Datenbank-Konfiguration. Funktionen zur autonomen Registrierung und Profil-Verwaltung auf der Website werden ebenfalls über dieses Modul bereit gestellt.<br />
<br />
Details können je nach Projekt entsprechend abgestimmt werden.<br />
<br />
=Kommunikation vom IES-Server=<br />
<br />
==Remote-File-System zum Webserver (NFS-mount, rsync, …)==<br />
Damit der Webserver autonom vom IES-Server arbeiten kann werden alle relevanten Daten auf das Dateisystem des Webservers übertragen. Hierbei handelt es sich in der Regel um PHP-, CSS- und JavaScript-Dateien, die über Templates vom System stets konsistent generiert werden. Alle verwendeten Medien werden in den tatsächlich verwendeten Formaten mit ausgeliefert. Weiterhin werden Bibliotheken des IES (z.B. PHP IES-API) im DocumentRoot des Webserver kopiert und aktuell gehalten.<br />
<br />
Idealerweise ist eine synchrone Verbindung zwischen den beiden Systemen vorzusehen, bei der auf dem Webserver ein Ordner im Dateisystem für den IES-Server freigeben wird. Dieser wird dann vom IES-Server gemountet. Eine entsprechende Performanz dieser Verbindung ist zwingend notwendig. Je nach technischer Reglementierung kann dieser Mount über SSH oder HTTP(S) getunnelt werden und per NFS, WebDAV o.ä. erfolgen. Alternativ kann auch eine Lösung wie ein NAS oder SAN eingesetzt werden.<br />
<br />
Ist eine direkte Verbindung zwischen den beiden Systemen technisch nicht möglich kann eine Übertragung der Daten auch per Synchronisation (rsync o.ä.) erfolgen. In diesem Fall müssen aber auf dem IES-System lokale Domains konfiguriert werden über die Redakteure Vorschau-Ansichten erzeugen und aufrufen können.<br />
Wird der IES beendet, so kann der Webserver auch weiterhin die lokal gespeicherte Website ausliefern. Alle relevanten Dienste wie z.B. Suchen werden vom Webserver direkt bereit gestellt.<br />
<br />
==IES-Webnode des Webservers==<br />
Der IES hat mit dem IES-Webnode einen klaren, gerichteten Kommunikationskanal zum Webserver. Dieser ist über HTTPS geschützt und erlaubt die Übertragung von Daten des IES auf den Webserver, sowie die Bereitstellung von Information vom Webserver für den IES.<br />
<br />
Änderungen an einzelnen Artikel werden vom IES-Server dem IES-Webnode auf dem Webserver kommuniziert, damit dieser z.B. den Solr-Suchindex partiell aktualisiert.<br />
<br />
Ein Funktionsbeispiel für den IES-Webnode ist folgendes: Im IES-Server werden vom Redakteur inhaltliche Änderungen an einem Artikel vorgenommen. Der IES generiert alle relevanten Dateien neu. Diese sind über entsprechende Mounts direkt auf dem Webserver verfügbar. Die Volltextsuche ist aber damit nicht mehr aktuell. Für diesen Zweck sendet der IES einen entsprechenden Request an den IES-Webnode und nennt geändert URLs. Der IES-Webnode stößt in diesem Fall dann z.B. das Solr-Modul für die Volltextsuche an, welches die genannten URLs im Index aktualisiert. Damit ist die Konsistenz der Website gewährleistet.<br />
<br />
==Email-Server==<br />
Der IES versendet für verschiedene Anwendungsfälle E-Mails. In der Regel kann hierfür ein bereits vorhandene E-Mail-Server verwendet werden. Je nach gewünschter Konfiguration schickt der IES-Server die E-Mails zunächst an einen SMTP-Dienst auf dem eigenen Server (localhost). Dieser kann dann über Relay-Konfigurationen die E-Mail weiterleiten. Alternativ kann auch direkt der E-Mail-Server des Kunden angesprochen werden.<br />
<br />
Einige IES-Applikationen wie z.B. Infoticket benötigen ein oder mehrere IMAP-Konten um eingehende E-Mails zu verarbeiten. In diesem Fall wird der E-Mail-Server des Kunden auch über SMTP angesprochen.<br />
<br />
==LDAP-Server==<br />
Um eine doppelte Pflege von Nutzerdaten zu vermeiden, wird häufig ein LDAP-Server angebunden. Der IES importiert und synchronisiert in regelmäßigen Abständen die Nutzer-Daten, die im IES zur Verfügung stehen sollen. Hierfür wird ein lesender Zugriff auf das LDAP-System benötigt. Erfahrungsgemäß sind die Importregeln von LDAP-Daten individuell. Auf diese Anforderung hat sich Sitepark eingestellt und stellt einen Import zur Verfügung, der bisher alle Anforderungen erfüllten konnte.<br />
<br />
Passwörter der LDAP-Nutzer werden nie importiert. Die Authentifizierung der LDAP-Nutzer erfolgt immer direkt gegen den LDAP-Server.<br />
<br />
<br />
=Kommunikation vom Webserver=<br />
<br />
==IES-Server==<br />
Sind auf der erzeugten Website Funktionen vorgesehen, bei denen Daten vom Webserver an den IES-Server übertragen oder Daten vom IES-Server abgefragt werden müssen, ist dies über entsprechende Konfigurationen vorzusehen. Es wird zwischen folgenden Aufrufen unterschieden:<br />
<br />
Für alle der genannten Fälle ist somit kein direkter Zugriff von Nutzern auf das IES-System notwendig. Alle Zugriffe erfolgen grundsätzlich über den Webserver.<br />
<br />
* Zugriff auf sog. Live-GUIs. Dabei handelt es sich um den Aufruf von Modules des IES, die bestimmte Dienstleistungen bereitstellen. Beispiel hierfür ist z.B. der NewsDesk.<br />
* Zugriff auf Funktionen der IES-API in JavaScript oder PHP z.B. über das Verzeichnismodul, bei dem Besucher der Website Beiträge erfassen können.<br />
* Zugriff auf IES-Module wie z.B. den Counter. Auch der Zugriff auf z.B. InfoSite ließe sich auf diese Form konfigurieren.<br />
<br />
Die oben genannten Anfragen werden an den Host des Webservers gestellt. Dieser verfügt über fein justierte Proxy-Einstellungen, die entsprechende Anfragen (URL-RegExp z.B. /ies/infosite/control/) über eine weitere Firewall an den IES-Server im internen Netz übertragen. Dieser liefert dann die Antwort an den Webserver, der diese zurück an den Benutzer schickt.<br />
<br />
Zwischen dem Webserver und dem IES-Server kann auch eine gut konfigurierte Application-Firewall eingesetzt werden. Diese erlaubt weitere sicherheitsrelevante Konfiguration bzgl. der übertragenen Daten. Auch weitere Proxy-Hosts könnten hier verwendet werden.<br />
<br />
Die Kommunikation zwischen dem Webserver und dem IES-Server erfolgt stets über HTTP bzw. HTTPS (Port 80 und 443) und wird auf dem IES-Server vom Apache lokal über weitere Proxy-Regeln an den IES-Prozess geleitet.<br />
* Der IES wird nie direkt angesprochen!<br />
* Im IES ist ein integrierter Jetty-Server für die Ausführung von entsprechenden Servlets verantwortlich.<br />
Der IES fungiert im Prinzip über die genannten Schnittstellen als eine Art Webservice. Bei dem Aufruf der IES-API (RPC-Call) erfolgt die Kommunikation mit dem IES ausschließlich im JSON-Format. Alle relevanten Informationen wie eine Session-ID werden entsprechend mit gesendet (stateless).<br />
<br />
==Email-Server==<br />
In der Regel ist es erforderlich, dass der Web-Server E-Mails versenden kann (z.B. bei Verwendung eines Kontakt-Formulars). Dies sind E-Mails die an konfigurierbare Empfänger gesendet werden. Hier wird normalerweise der E Mail Server des Kunden angebunden.<br />
<br />
<br />
=IES-Update-Server=<br />
Der IES besteht aus einem Kern und vielen Modulen, die kontinuierlich weiter entwickelt werden. Für den einfachen und reibungslosen Ablauf eines Updates eine HTTP(S)-Verbindung zum IES-Update-Server erforderlich (https://ies.sitepark.com/updater/).<br />
<br />
=Kommunikationsdiagramm=<br />
Das IES-Ökosystem ist ein auf Kundenwünsche kontinuierlich angepasstes, erweitertes und optimiertes System. Die Erfahrung hat gezeigt, dass eine optimale Unterstützung von Sitepark für die Wartung und Pflege des IES-Ökosystems nur über einen guten Wartungszugang erfolgen kann.<br />
<br />
Das IES-Ökosystem kann komplex und sehr individuell sein. Es wird bestmöglich an die Umgebung des Kunden angepasst. Fragen zu auftretende Fehler können daher in der Regel nicht pauschal beantwortet werden, sondern erfordern oft einen Blick in das System.<br />
<br />
<br />
[[Bild:IES-Kommunikation-screen.png|IES-Kommunikation]]<br />
<br />
<br />
<noinclude><br />
[[Kategorie:Administration| 500]]<br />
[[Category:Module]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=IES_Konfiguration&diff=10483IES Konfiguration2022-09-21T07:41:13Z<p>Sed: /* sitepark.conf */</p>
<hr />
<div>__TOC__<br />
<br />
=IES-Konfiguration=<br />
Der IES ist ein Java-Prozess, dessen Start-Parameter in der Datei <code>/etc/sitepark/sitepark.conf</code> konfiguriert wird. Hier werden Angaben zum Speicherverbrauch o.ä. vorgenommen. Details hierzu finden Sie [[Administration und Konfiguration unter Linux|hier]] für Linux.<br />
<br />
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<br />
iesadmin reload-config<br />
bzw. der entsprechende Button im IESAdmin-Webinterface laden diese Datei neu ein.<br />
<br />
==Beispiel einer <code>ies-server.xml</code>==<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<ies-server><br />
<br />
<!-- System-Bundles bilden typische Kombinationen von Modulen ab --><br />
<bundles><br />
<bundle>cms</bundle><br />
</bundles><br />
<br />
<!-- Globale Parameter --><br />
<settings><br />
<property name="dataDir" value="/srv/sitepark/data" /><br />
<property name="sessionTimeout" value="120" /><br />
<property name="maxRepositoryVersions" value="50" /><br />
<property name="maxObjectCacheSize" value="10000" /><br />
<property name="objectCacheLifetime" value="43200" /><br />
<property name="maxLockTime" value="10" /><br />
<property name="defaultLocale" value="de_DE" /><br />
<property name="privateCryptKey" value="963249068513792696390639" /><br />
<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" /><br />
<property name="bindbScaleSteps" value="40,100,500,h40" /><br />
<property name="iesadmin.update.url" value="http://user:password@ies.sitepark.com/updater/" /><br />
<property name="http.proxyHost" value="" /><br />
<property name="http.proxyPort" value="" /><br />
<property name="https.proxyHost" value="" /><br />
<property name="https.proxyPort" value="" /><br />
<property name="http.nonProxyHosts" value="localhost,127.0.0.1" /><br />
</settings><br />
<br />
<!-- Zugriffe auf IESAdmin --><br />
<security><br />
<user login="manager" password="b29fa62a183463dd119bf22cde912b9f" roles="management" /><br />
</security><br />
<br />
<!-- Konfiguration des Logging --><br />
<logging><br />
<appender name="IES" type="rolling-file" file="/srv/sitepark/ies.log" append="true" maxFileSize="100MB" maxBackups="1" /><br />
<logger name="com.sitepark.ies" level="TRACE" appender="IES" /><br />
<logger name="com.sitepark.ies.management.servlet" level="ERROR" appender="IES" /><br />
<logger name="com.sitepark.imgfile" level="ERROR" appender="IES" /><br />
<logger name="net.sf.jmimemagic" level="ERROR" appender="IES" /><br />
</logging><br />
<br />
<!-- Datenbank- und Mandanten-Konfigurationen und Root-Zugänge der jeweiligen Datenbank-Server --><br />
<persistence><br />
<admin type="1" host="localhost" user="root" password="secret" /><br />
<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"><br />
<client id="1" anchor="testclient" name="Testsystem" webapps="infosite," disabled="false"><br />
<attributes /><br />
<ref element="publisher" id="1" type="file" /><br />
<ref element="publisher" id="2" type="file" /><br />
<ref element="publisher" id="3" type="database" /><br />
</client><br />
</db><br />
<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" /><br />
</persistence><br />
<br />
<!-- Konfiguration der IES Dienste --><br />
<services><br />
<service id="lock-scheduler" status="stop" /><br />
<service id="publisher" /><br />
<service id="link" /><br />
<service id="ldap" /><br />
<service id="email-validator" /><br />
<service id="compiler" /><br />
<service id="report" /><br />
<service id="article-observer" /><br />
<service id="counter" disabled="false" /><br />
<service id="linktree" /><br />
<service id="r" /><br />
<service id="task" /><br />
<service id="indexer"><br />
<br />
<!-- Konfiguration von Indices werden innerhalb des Service abgelegt --><br />
<index id="1" anchor="testindex" client="100010100000000000-0" name="testindex" indexdir="/srv/sitepark/data/indexes/1-1/testindex"><br />
<field name="sp_headline" default="" type="text" boost="2.0" store="true" /><br />
</index><br />
<br />
</service><br />
<service id="ldap-import" /><br />
<service id="observer" /><br />
<service id="dependencies" disabled="false" /><br />
</services><br />
<br />
<!-- Optionale Konfiguration einer LDAP Anbindung --><br />
<ldap /><br />
<br />
<!-- Konfiguration der Publisher (jeder Publisher-Typ wird in einem separatem Bereich konfiguriert) --><br />
<publisher><br />
<file><br />
<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&#xA;https://www.domain.loc&#xA;http://domain.loc" anchor="www"><br />
<attributes /><br />
</file-publisher><br />
<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&#xA;http://preview.domain.loc:80&#xA;http://preview.domain.loc:80/irgendwo/"><br />
<attributes /><br />
</file-publisher><br />
</file><br />
<database><br />
<database-publisher id="3" name="DB" database="2"><br />
<attributes /><br />
</database-publisher><br />
</database><br />
</publisher><br />
<br />
<!-- Konfiguration der Module --><br />
<modules><br />
<module id="ies" disabled="false" /><br />
<module id="infosite" disabled="false" /><br />
</modules><br />
<br />
</ies-server><br />
</source><br />
<br />
==Erweiterte Datenbank-Parameter==<br />
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:<br />
;max-pool-size="20":Konfiguration des Pools für parallelen Datenbank-Verbindungen<br />
: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)''<br />
;blocking-timeout-millis="30000":Konfiguration der Dauer in Millisekunden, die der IES maximal auf eine Datenbank-Verbindungen des Pools wartet<br />
:Auch dieser Wert muss i.d.R. nicht verändert werden. ''(Default: 30000)''<br />
;track-statements="false":Erweitertes Logging bei Datenbank-Problemen<br />
:Dieser Wert wird aktuell noch nicht verwendet. ''(Default: false)''<br />
Diese müssen bei Bedarf direkt in der Konfiguration der jeweiligen Datenbankverbindung angegeben werden. Danach bleiben diese auch bei Änderungen im IESAdmin erhalten.<br />
<br />
==IES-Backupverzeichnis (<code>$SITEPARK_BACKUP</code>)==<br />
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 [[:Kategorie:Backup|hier]].<br />
<br />
Über das Property '''<code>backupDir</code>''' kann das Backupverzeichnis des IES geändert werden. Ist keine Konfiguration vorhanden, so wird der Ordner <code>$SITEPARK_HOME/backup</code> angenommen. Stellen sicher, dass der IES wieder vollen Zugriff auf den Ordner erhält (chown -R ies.ies).<br />
<br />
==IES-Datenverzeichnis (<code>$SITEPARK_DATA</code>)==<br />
Im Datenverzeichnis des IES werden alle Daten der Module und die <code>BinDB</code> mit allen Medien gespeichert.<br />
<br />
Über das Property '''<code>dataDir</code>''' 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).<br />
<br />
==Zugriff auf den IES per Ilink, wenn dieser per htaccess geschützt ist==<br />
In diesem Fall muss der Browser via JavaScript entsprechende Header setzen. Dazu sind im Webserver folgende HEADER-Setzungen zu machen:<br />
Header set Access-Control-Allow-Origin "https://www.website.de"<br />
Header set Access-Control-Allow-Methods "POST, GET, OPTIONS"<br />
Header set Access-Control-Allow-Credentials true<br />
<br />
Und in der IES-Konfiguration ist ein manueller Eintrag notwendig:<br />
<property name="host.withCredentials" value="true" /><br />
<br />
==Systeme unterscheiden (Test- oder Schulungssysteme)==<br />
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:<br />
* Label<br />
* Farbe (bekannter Name (z.B. "white") oder Farbcode (z.B. "#FFFFFF")<br />
<br />
In der IES-Konfiguration (XML-Encoded) sind das z.B. wie folgt aus:<br />
<source lang="xml"><br />
<property name="systemIdentification" value="{label:&quot;Testsystem&quot;,color:&quot;#fc9c34&quot;}" /><br />
</source><br />
<br />
Um im Mandanten diese globale Einstellung zu überschreiben kann in IES-Admin bei den Attributen des Mandaten folgende Setzung vorgenommen werden:<br />
<source lang="text"><br />
systemIdentification={label:"Demosystem"}<br />
</source><br />
oder<br />
<source lang="text"><br />
systemIdentification={label:"Schulungssystem", color:"green"}<br />
</source><br />
oder um die globale Setzung zurückzunehmen<br />
<source lang="text"><br />
systemIdentification={}<br />
</source><br />
<br />
==Session-Steuerung==<br />
Das System erlaubt die freie Konfiguration der Sitzungsdauer für Redakteure und WebAccounts.<br />
Die Sitzungsdauer für WebSessions und redaktionelle Arbeiten im CMS ist in Minuten anzugeben.<br />
Hier werden die Standard-Setzungen angezeigt (2 Stunden, 10 Tage):<br />
<br />
<source lang="xml"><br />
<property name="sessionTimeout" value="120" /><br />
<property name="webSessionTimeout" value="14400" /><br />
</source><br />
<br />
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).<br />
<br />
==Passwort-Steuerung==<br />
Über verschiedene, optionale Attribute in der Konfiguration kann die Verwaltung von Passwörtern gesteuert werden.<br />
<br />
<source lang="xml"><br />
<property name="password.expirationPeriod" value="90" /><br />
<property name="password.minLength" value="4" /><br />
<property name="password.regexp" value="^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&amp;+=])(?=\S+$).{8,}$" /><br />
<property name="password.algorithm" value="scrypt" /><br />
<property name="password.bcrypt.params" value="{cost=10}" /><br />
<property name="password.scrypt.params" value="{N=16384,r=8,p=1}" /><br />
<property name="password.pbkdf2.params" value="{iterations=1000,keyLength=512}" /><br />
</source><br />
<br />
===Gültigkeitsdauer===<br />
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):<br />
password.expirationPeriod<br />
<br />
===Minimale Passwort-Länge===<br />
Anzahl der Zeichen, die ein Passwort mind. lang sein soll.<br />
password.minLength<br />
<br />
===Regulärer Ausdruck als Regel für Passwörter===<br />
Ü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.<br />
password.regexp<br />
<br />
Beispiel:<br />
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$<br />
<br />
^ # Beginn des Passwortes<br />
(?=.*[0-9]) # min. eine Zahl<br />
(?=.*[a-z]) # mind. ein kleingeschriebener Buchstabe<br />
(?=.*[A-Z]) # mind. ein großgeschriebener Buchstabe<br />
(?=.*[@#$%^&+=]) # mind. eins dieser Sonderzeichen "@#$%^&+="<br />
(?=\S+$) # Leerzeichen sind nicht erlaubt<br />
.{8,} # mind. 8 Zeichen<br />
$ # Ende des Passwortes<br />
<br />
<div class="note">Bitte beachten Sie die Angaben in der XML-Datei entsprechend zu encoden (Beispiel: &amp; -&gt; &amp;amp;)</div><br />
<br />
===Algorithmus zur Verschlüsselung===<br />
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).<br />
<br />
* PBKDF2<br />
* scrypt<br />
* bcrypt<br />
* md5<br />
* sha (1, 256, 384, 512)<br />
* unixcrypt<br />
<br />
password.algorithm<br />
<br />
===Steuerung des Algorithmus zur der Verschlüsselung===<br />
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.<br />
password.bcrypt.params<br />
Default: "{cost=10}"<br />
<br />
password.scrypt.params<br />
Default: "{N=16384,r=8,p=1}", auf virtuellen Servern u.U. wie folgt zu reduzieren: "{N=1024, r=1, p=1}"<br />
<br />
password.pbkdf2.params<br />
Default: "{iterations=1000,keyLength=512}"<br />
<br />
=sitepark.conf=<br />
<br />
==IES_JAVA_OPTIONS==<br />
Java Optionen die mit -D angegeben werden<br />
<br />
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)<br />
com.sitepark.net.HttpClient.disableChunked=true<br />
<br />
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.<br />
com.sitepark.imgfile.imagemagick.command.Command.priority=0<br />
<br />
=Mail-Server Konfiguration=<br />
Der Mail-Server wird anders als die IES-Konfigurationen global beim Start der JVM angegeben. Wir empfehlen hier die Einstellungen mit einem lokalen Mail-Server zu belassen und eine entsprechende Weiterleitung des SMTP-Dienstes zu konfigurieren (Relay). Details hierzu finden Sie [[Systemvoraussetzungen#Mailserver|hier]].<br />
<br />
<noinclude><br />
[[Kategorie:Administration und Konfiguration]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=IES_Konfiguration&diff=10482IES Konfiguration2022-09-21T07:40:47Z<p>Sed: /* Mail-Server Konfiguration */</p>
<hr />
<div>__TOC__<br />
<br />
=IES-Konfiguration=<br />
Der IES ist ein Java-Prozess, dessen Start-Parameter in der Datei <code>/etc/sitepark/sitepark.conf</code> konfiguriert wird. Hier werden Angaben zum Speicherverbrauch o.ä. vorgenommen. Details hierzu finden Sie [[Administration und Konfiguration unter Linux|hier]] für Linux.<br />
<br />
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<br />
iesadmin reload-config<br />
bzw. der entsprechende Button im IESAdmin-Webinterface laden diese Datei neu ein.<br />
<br />
==Beispiel einer <code>ies-server.xml</code>==<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<ies-server><br />
<br />
<!-- System-Bundles bilden typische Kombinationen von Modulen ab --><br />
<bundles><br />
<bundle>cms</bundle><br />
</bundles><br />
<br />
<!-- Globale Parameter --><br />
<settings><br />
<property name="dataDir" value="/srv/sitepark/data" /><br />
<property name="sessionTimeout" value="120" /><br />
<property name="maxRepositoryVersions" value="50" /><br />
<property name="maxObjectCacheSize" value="10000" /><br />
<property name="objectCacheLifetime" value="43200" /><br />
<property name="maxLockTime" value="10" /><br />
<property name="defaultLocale" value="de_DE" /><br />
<property name="privateCryptKey" value="963249068513792696390639" /><br />
<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" /><br />
<property name="bindbScaleSteps" value="40,100,500,h40" /><br />
<property name="iesadmin.update.url" value="http://user:password@ies.sitepark.com/updater/" /><br />
<property name="http.proxyHost" value="" /><br />
<property name="http.proxyPort" value="" /><br />
<property name="https.proxyHost" value="" /><br />
<property name="https.proxyPort" value="" /><br />
<property name="http.nonProxyHosts" value="localhost,127.0.0.1" /><br />
</settings><br />
<br />
<!-- Zugriffe auf IESAdmin --><br />
<security><br />
<user login="manager" password="b29fa62a183463dd119bf22cde912b9f" roles="management" /><br />
</security><br />
<br />
<!-- Konfiguration des Logging --><br />
<logging><br />
<appender name="IES" type="rolling-file" file="/srv/sitepark/ies.log" append="true" maxFileSize="100MB" maxBackups="1" /><br />
<logger name="com.sitepark.ies" level="TRACE" appender="IES" /><br />
<logger name="com.sitepark.ies.management.servlet" level="ERROR" appender="IES" /><br />
<logger name="com.sitepark.imgfile" level="ERROR" appender="IES" /><br />
<logger name="net.sf.jmimemagic" level="ERROR" appender="IES" /><br />
</logging><br />
<br />
<!-- Datenbank- und Mandanten-Konfigurationen und Root-Zugänge der jeweiligen Datenbank-Server --><br />
<persistence><br />
<admin type="1" host="localhost" user="root" password="secret" /><br />
<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"><br />
<client id="1" anchor="testclient" name="Testsystem" webapps="infosite," disabled="false"><br />
<attributes /><br />
<ref element="publisher" id="1" type="file" /><br />
<ref element="publisher" id="2" type="file" /><br />
<ref element="publisher" id="3" type="database" /><br />
</client><br />
</db><br />
<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" /><br />
</persistence><br />
<br />
<!-- Konfiguration der IES Dienste --><br />
<services><br />
<service id="lock-scheduler" status="stop" /><br />
<service id="publisher" /><br />
<service id="link" /><br />
<service id="ldap" /><br />
<service id="email-validator" /><br />
<service id="compiler" /><br />
<service id="report" /><br />
<service id="article-observer" /><br />
<service id="counter" disabled="false" /><br />
<service id="linktree" /><br />
<service id="r" /><br />
<service id="task" /><br />
<service id="indexer"><br />
<br />
<!-- Konfiguration von Indices werden innerhalb des Service abgelegt --><br />
<index id="1" anchor="testindex" client="100010100000000000-0" name="testindex" indexdir="/srv/sitepark/data/indexes/1-1/testindex"><br />
<field name="sp_headline" default="" type="text" boost="2.0" store="true" /><br />
</index><br />
<br />
</service><br />
<service id="ldap-import" /><br />
<service id="observer" /><br />
<service id="dependencies" disabled="false" /><br />
</services><br />
<br />
<!-- Optionale Konfiguration einer LDAP Anbindung --><br />
<ldap /><br />
<br />
<!-- Konfiguration der Publisher (jeder Publisher-Typ wird in einem separatem Bereich konfiguriert) --><br />
<publisher><br />
<file><br />
<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&#xA;https://www.domain.loc&#xA;http://domain.loc" anchor="www"><br />
<attributes /><br />
</file-publisher><br />
<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&#xA;http://preview.domain.loc:80&#xA;http://preview.domain.loc:80/irgendwo/"><br />
<attributes /><br />
</file-publisher><br />
</file><br />
<database><br />
<database-publisher id="3" name="DB" database="2"><br />
<attributes /><br />
</database-publisher><br />
</database><br />
</publisher><br />
<br />
<!-- Konfiguration der Module --><br />
<modules><br />
<module id="ies" disabled="false" /><br />
<module id="infosite" disabled="false" /><br />
</modules><br />
<br />
</ies-server><br />
</source><br />
<br />
==Erweiterte Datenbank-Parameter==<br />
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:<br />
;max-pool-size="20":Konfiguration des Pools für parallelen Datenbank-Verbindungen<br />
: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)''<br />
;blocking-timeout-millis="30000":Konfiguration der Dauer in Millisekunden, die der IES maximal auf eine Datenbank-Verbindungen des Pools wartet<br />
:Auch dieser Wert muss i.d.R. nicht verändert werden. ''(Default: 30000)''<br />
;track-statements="false":Erweitertes Logging bei Datenbank-Problemen<br />
:Dieser Wert wird aktuell noch nicht verwendet. ''(Default: false)''<br />
Diese müssen bei Bedarf direkt in der Konfiguration der jeweiligen Datenbankverbindung angegeben werden. Danach bleiben diese auch bei Änderungen im IESAdmin erhalten.<br />
<br />
==IES-Backupverzeichnis (<code>$SITEPARK_BACKUP</code>)==<br />
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 [[:Kategorie:Backup|hier]].<br />
<br />
Über das Property '''<code>backupDir</code>''' kann das Backupverzeichnis des IES geändert werden. Ist keine Konfiguration vorhanden, so wird der Ordner <code>$SITEPARK_HOME/backup</code> angenommen. Stellen sicher, dass der IES wieder vollen Zugriff auf den Ordner erhält (chown -R ies.ies).<br />
<br />
==IES-Datenverzeichnis (<code>$SITEPARK_DATA</code>)==<br />
Im Datenverzeichnis des IES werden alle Daten der Module und die <code>BinDB</code> mit allen Medien gespeichert.<br />
<br />
Über das Property '''<code>dataDir</code>''' 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).<br />
<br />
==Zugriff auf den IES per Ilink, wenn dieser per htaccess geschützt ist==<br />
In diesem Fall muss der Browser via JavaScript entsprechende Header setzen. Dazu sind im Webserver folgende HEADER-Setzungen zu machen:<br />
Header set Access-Control-Allow-Origin "https://www.website.de"<br />
Header set Access-Control-Allow-Methods "POST, GET, OPTIONS"<br />
Header set Access-Control-Allow-Credentials true<br />
<br />
Und in der IES-Konfiguration ist ein manueller Eintrag notwendig:<br />
<property name="host.withCredentials" value="true" /><br />
<br />
==Systeme unterscheiden (Test- oder Schulungssysteme)==<br />
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:<br />
* Label<br />
* Farbe (bekannter Name (z.B. "white") oder Farbcode (z.B. "#FFFFFF")<br />
<br />
In der IES-Konfiguration (XML-Encoded) sind das z.B. wie folgt aus:<br />
<source lang="xml"><br />
<property name="systemIdentification" value="{label:&quot;Testsystem&quot;,color:&quot;#fc9c34&quot;}" /><br />
</source><br />
<br />
Um im Mandanten diese globale Einstellung zu überschreiben kann in IES-Admin bei den Attributen des Mandaten folgende Setzung vorgenommen werden:<br />
<source lang="text"><br />
systemIdentification={label:"Demosystem"}<br />
</source><br />
oder<br />
<source lang="text"><br />
systemIdentification={label:"Schulungssystem", color:"green"}<br />
</source><br />
oder um die globale Setzung zurückzunehmen<br />
<source lang="text"><br />
systemIdentification={}<br />
</source><br />
<br />
==Session-Steuerung==<br />
Das System erlaubt die freie Konfiguration der Sitzungsdauer für Redakteure und WebAccounts.<br />
Die Sitzungsdauer für WebSessions und redaktionelle Arbeiten im CMS ist in Minuten anzugeben.<br />
Hier werden die Standard-Setzungen angezeigt (2 Stunden, 10 Tage):<br />
<br />
<source lang="xml"><br />
<property name="sessionTimeout" value="120" /><br />
<property name="webSessionTimeout" value="14400" /><br />
</source><br />
<br />
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).<br />
<br />
==Passwort-Steuerung==<br />
Über verschiedene, optionale Attribute in der Konfiguration kann die Verwaltung von Passwörtern gesteuert werden.<br />
<br />
<source lang="xml"><br />
<property name="password.expirationPeriod" value="90" /><br />
<property name="password.minLength" value="4" /><br />
<property name="password.regexp" value="^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&amp;+=])(?=\S+$).{8,}$" /><br />
<property name="password.algorithm" value="scrypt" /><br />
<property name="password.bcrypt.params" value="{cost=10}" /><br />
<property name="password.scrypt.params" value="{N=16384,r=8,p=1}" /><br />
<property name="password.pbkdf2.params" value="{iterations=1000,keyLength=512}" /><br />
</source><br />
<br />
===Gültigkeitsdauer===<br />
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):<br />
password.expirationPeriod<br />
<br />
===Minimale Passwort-Länge===<br />
Anzahl der Zeichen, die ein Passwort mind. lang sein soll.<br />
password.minLength<br />
<br />
===Regulärer Ausdruck als Regel für Passwörter===<br />
Ü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.<br />
password.regexp<br />
<br />
Beispiel:<br />
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$<br />
<br />
^ # Beginn des Passwortes<br />
(?=.*[0-9]) # min. eine Zahl<br />
(?=.*[a-z]) # mind. ein kleingeschriebener Buchstabe<br />
(?=.*[A-Z]) # mind. ein großgeschriebener Buchstabe<br />
(?=.*[@#$%^&+=]) # mind. eins dieser Sonderzeichen "@#$%^&+="<br />
(?=\S+$) # Leerzeichen sind nicht erlaubt<br />
.{8,} # mind. 8 Zeichen<br />
$ # Ende des Passwortes<br />
<br />
<div class="note">Bitte beachten Sie die Angaben in der XML-Datei entsprechend zu encoden (Beispiel: &amp; -&gt; &amp;amp;)</div><br />
<br />
===Algorithmus zur Verschlüsselung===<br />
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).<br />
<br />
* PBKDF2<br />
* scrypt<br />
* bcrypt<br />
* md5<br />
* sha (1, 256, 384, 512)<br />
* unixcrypt<br />
<br />
password.algorithm<br />
<br />
===Steuerung des Algorithmus zur der Verschlüsselung===<br />
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.<br />
password.bcrypt.params<br />
Default: "{cost=10}"<br />
<br />
password.scrypt.params<br />
Default: "{N=16384,r=8,p=1}", auf virtuellen Servern u.U. wie folgt zu reduzieren: "{N=1024, r=1, p=1}"<br />
<br />
password.pbkdf2.params<br />
Default: "{iterations=1000,keyLength=512}"<br />
<br />
=sitepark.conf=<br />
<br />
==IES_OPTS==<br />
Java Optionen die mit -D angegeben werden<br />
<br />
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)<br />
com.sitepark.net.HttpClient.disableChunked=true<br />
<br />
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.<br />
com.sitepark.imgfile.imagemagick.command.Command.priority=0<br />
<br />
=Mail-Server Konfiguration=<br />
Der Mail-Server wird anders als die IES-Konfigurationen global beim Start der JVM angegeben. Wir empfehlen hier die Einstellungen mit einem lokalen Mail-Server zu belassen und eine entsprechende Weiterleitung des SMTP-Dienstes zu konfigurieren (Relay). Details hierzu finden Sie [[Systemvoraussetzungen#Mailserver|hier]].<br />
<br />
<noinclude><br />
[[Kategorie:Administration und Konfiguration]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=IES-Admin_(web)_Publikationsbereiche&diff=10481IES-Admin (web) Publikationsbereiche2022-09-21T07:39:17Z<p>Sed: </p>
<hr />
<div>__NOTOC__ <br />
Publikationsbereiche dienen zur Publikation von Daten des IES. Die Form der publizierten Daten wird über Templates definiert. Mit Hilfe von IES-Templates und IES-Artikeln werden textuelle Daten generiert, die an einen Publikationsbereich weiter gegeben werden. Je nach Publikationsbereich werden diese Daten weiter verarbeitet. Bei einem <span class="emphasis">''FilePublisher''</span> werden diese Daten beispielsweise in eine Datei geschrieben. Dem IES stehen folgende Publisher zur Verfügung:<br />
<br />
; FilePublisher<br />
: Schreibt die mit Hilfe der Templates und Artikel generierten Daten in eine Datei. Bei der Publikation eines Mediums wird das Medium in den Publikationsbereich geschrieben. Für den FilePublisher muss ein RootDirectory angegeben werden in das die Dateien geschrieben werden sollen. Verzeichnisstrukturen unterhalb dieses RootDirectories werden über ArtikelPools definiert. Um die in diesen Verzeichnissen abgelegten Dateien zu erreichen wird ein Webserver benötigt, der einen virtuelle Host mit diesem RootDirectory besitzt.Beispielsweise kann hier der Apache-Webserver verwendet werden. Dokumentation zur Konfiguration virtueller Hosts für den Apache-Webserver finden Sie unter http://httpd.apache.org/docs/2.2/vhosts/<br />
; HttpPublisher<br />
: Schickt die mit Hilfe der Templates und Artikel generierten Daten per HTTP-POST an die konfigurierte URL.<br />
; MailPublisher<br />
: Mit Hilfe von Templates und Artikeln werden XML-Daten erzeugt, die die Informationen zur Generierung einer oder mehrere E-Mails enthalten. Diese E-Mails werden an den, in den XML-Daten enthaltenen Empfängern, verschickt. Um die E-Mails verschicken zu können, wird empfohlen stets eine lokale Postfix-Installation als Relay zu verwenden. Soll anderer Service angesprochen werden, so ist dieser über ENV-Variablen an den IES zu übergeben. Die Konfiguration erfolgt über die <code>IES_OPS</code> in der Datei:<br />
SITEPARK_HOME/conf/sitepark.conf<br />
: Folgender Eintrag kann dort wie folgt angepasst/eingetragen werden:<br />
<source lang="xml"><br />
IES_JAVA_OPTIONS=-Dmail.smtp.host=localhost -Dmail.smtp.port=25 -Dmail.from=no-reply@sitepark.com<br />
</source><br />
; <span class="term">DatabasePublisher</span><br />
: Mit Hilfe von Templates und Artikeln werden XML-Daten erzeugt, über die der DatabasePublisher gesteuert wird. Der DatabasePublisher wird mit einer Datenbank verknüpft in der Daten mittels der XML-Daten Datenbankeinträge erzeugt, geändert und gelöscht werden können.<br />
<br />
Um in den Publikationsbereich zu wechseln, klicken Sie bitte den Menüpunkt 'Publikationsbereicher' in der Bereichsauswahl an.<br />
<br />
Ist der Publikationsbereich ausgewählt, wird in dem Hauptfenster jeweils eine Tabelle pro Publikationsbereiche-Typ dargestellt, in der alle vorhandenen Publikationsbereiche aufgelistet werden. Die Tabellen enthalten folgende gemeinsame Spalten:<br />
<br />
; Name<br />
: Name des Publikationsbereich<br />
; Anchor<br />
: Anchor, über den auf den Publikationsbereich mittels SPML zugeriffen werden kann.<br />
; Sprache<br />
: Ausgabesprache des Publikationsbereichs bei mehrsprachigen Templates<br />
; Zeichensatz<br />
: Ausgabe Zeichensatz der textuellen Daten.<br />
; Metadata<br />
: Meta-Informationen, die über Templates ausgelesen werden können.<br />
<br />
<br />
Je nach Publikationsbereich sind noch weitere Spalten vorhanden:<br />
<br />
; FilePublisher<br />
:; URL<br />
:: Basis URL, über die die publizierten Dateien durch einen Webserver erreichbar sind. URL die auf den DocumentRoot verweist.<br />
:; Document Root<br />
:: Verzeichnis im Datei System, in das die Dateien abgelegt werden sollen.<br />
:; Verzeichnis<br />
:: Zusätzliche Angabe eines Verzeichnisses, welches den Document Root erweitert, um dort die Dateien abzulegen.<br />
:; Aliases<br />
:: URLs, die ebenfalls auf den Document-Root verweisen.<br />
:; Scheme<br />
:: Zeichenkette, die vor oder hinter jeden Dateinamen angehangen wird. Beispielsweise könnte bei einem deutschsprachigem Publikationsbereich anstatt der Datei index.html die Datei index.de.html erzeugt werden, wenn als Scheme <code class="literal">.de</code> angegeben wird. Das macht Sinn, wenn <span class="emphasis">''Content Negotiation''</span> genutzt werden soll. Weitere Informationen hierzu finden sie unter http://httpd.apache.org/docs/2.2/content-negotiation.html.<br />
:; Personalization<br />
:: Sitepark hat ein eigenes Apache-Modul entwickelt, über das Web-Seiten personalisiert werden können. Für diese Personalisierung benötigte Daten müssen vom FilePublisher in eine Datenbank geschrieben werden. Diese Datenbank wird hier angegeben.<br />
:; Publikationsbereich als Modul verwenden<br />
:: Der Haken muss gesetzt werden, wenn der Publikationsbereich SPML-Seiten generiert. Ist der Publikationsbereich nicht als Modul aktiviert, können die SPML-Seiten nicht ausgeführt werden.<br />
<br />
; HttpPublisher<br />
:; URL<br />
:: URL, an die die Daten per HTTP-POST gesendet werden sollen.<br />
:; Content-Tye<br />
:: Content-Tye der zu sendenden Daten<br />
:; Header Daten<br />
:: HTTP-Header Daten<br />
; MailPublisher<br />
: Keine weiteren Spalten vorhanden<br />
; DatabasePublisher<br />
: Datenbank die der DatabasePublisher nutzen soll.<br />
<br />
===Publikationsbereich anlegen===<br />
<br />
Nach einem Klick auf die 'Neue Publikationsbereich anlegen'-Schaltfläche erscheint ein Menu mit dem der Publikationsbereich-Typ ausgewählt werden kann. Je nach ausgewähltem Typ sind nun Eingabefelder zu sehen, mit denen der Publikationsbereich konfiguriert werden kann. Die Bedeutung der Eingabefelder sind weiter oben bereits beschrieben worden.<br />
<br />
Klicken Sie auf die 'speichern'-Schaltfläche, um den Publikationsbereich anzulegen.<br />
<br />
<br />
===Publikationsbereich kopieren===<br />
<br />
Wählen Sie einen Publikationsbereich in dem Hauptfenster aus und klicken Sie auf die 'Publikationsbereich kopieren'-Schaltfläche. Ein Fenster erscheint, dessen Felder mit den Werten des zu kopierenden Publikationsbereich gefüllt sind. Die Bedeutung der Eingabefelder sind weiter oben bereits beschrieben worden. Passen Sie die Felder wie gewünscht an.<br />
<br />
Klicken Sie auf die 'speichern'-Schalftfläche, um den Publikationsbereich anzulegen.<br />
<br />
<br />
===Publikationsbereich bearbeiten===<br />
<br />
Wählen Sie einen Publikationsbereich in dem Hauptfenster aus und klicken Sie auf die 'Publikationsbereiche bearbeiten'-Schaltfläche. Ein Dialog erscheint, über den der Publikationsbereich konfiguriert werden kann. Die Bedeutung der Eingabefelder sind weiter oben bereits beschrieben worden.<br />
<br />
Klicken Sie auf die 'speichern'-Schaltfläche, um die Änderungen an dem Publikationsbereiche zu speichern.<br />
<br />
<br />
===Publikationsbereich löschen===<br />
<br />
Wählen Sie einen oder mehrere Publikationsbereich in dem Hauptfenster aus und klicken Sie auf die 'Publikationsbereich löschen'-Schaltfläche.<br />
<br />
Bestätigen Sie die Sicherheitsabfrage, um den Publisher zu löschen.</div>Sedhttps://wiki.sitepark.com/index.php?title=Verwendete_Ports_des_IES&diff=10480Verwendete Ports des IES2022-09-21T07:28:27Z<p>Sed: </p>
<hr />
<div><div class="note">Wir raten dringend dazu, unabhängig davon ob der IES oder der IES-Webnode nur auf ''localhost'' gebunden wird, den Zugriff nur über den Apache zu erlauben und eine Firewall vorzuschalten.</div><br />
Der IES verwendet zum Betrieb folgende Ports:<br />
<br />
==IES==<br />
{| class="prettytable"<br />
|- class="hintergrundfarbe1"<br />
! Port<br />
! Beschreibung<br />
|-<br />
| 8080<br />
| HTTP Port, des im IES<br />
|-<br />
| 8082<br />
| Web-Service Port<br />
|-<br />
| 1099<br />
| RMI Regestry Port<br />
|}<br />
<br />
==IES-Webnode==<br />
{| class="prettytable"<br />
|- class="hintergrundfarbe1"<br />
! Port<br />
! Beschreibung<br />
! Konfigurationsdatei<br />
|-<br />
| 8381<br />
| HTTP-Port des Webnodes<br />
| <code>/etc/default/ies-webnode</code><br />
|-<br />
| 8382<br />
| HTTP-Port des Solr-Daemon (wird über den Webnode verwaltet)<br />
| <code>/etc/default/ies-webnode</code><br />
|}<br />
<br />
==MySQL==<br />
{| class="prettytable"<br />
|- class="hintergrundfarbe1"<br />
! Port<br />
! Beschreibung<br />
! Konfigurationsdatei<br />
|-<br />
| 3306<br />
| MySQL<br />
| <code>/etc/mysql/my.cnf</code><br />
|}<br />
<br />
==Apache Webserver==<br />
{| class="prettytable"<br />
|- class="hintergrundfarbe1"<br />
! Port<br />
! Beschreibung<br />
! Konfigurationsdatei<br />
|-<br />
| 80<br />
| HTTP<br />
| <code>/etc/apache2/ports.conf</code><br />
|-<br />
| 443<br />
| HTTPS<br />
| <code>/etc/apache2/ports.conf</code><br />
|}<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 202]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=IES_Information_Enterprise_Server_%E2%80%93_die_Technologie-Plattform_von_Sitepark&diff=10479IES Information Enterprise Server – die Technologie-Plattform von Sitepark2022-09-21T07:22:30Z<p>Sed: </p>
<hr />
<div>__NOTOC__<br />
<br />
[[Bild:Logo_ies_450.png|rechts]]<br />
<br />
Der IES ist ein von Sitepark entwickelter Applikation-Server auf Basis des Jetty. Er ermöglicht Sitepark die Entwicklung von Produkten auf einer einheitlichen Basis und stellt unter anderem ein produktübergreifendes Daten-, und Benutzermanagement bereit.<br />
<br />
;Persistenz-Schicht<br />
:Hier wird die Persistenz der Daten sichergestellt. Die Daten werden in Datenbank (MySQL), Medien-Datenbank (Eigenentwicklung) und Volltext-Index (Lucene) abgelegt.<br />
<br />
;Steuerungs-Schicht<br />
:Hierüber werden Anfragen an den IES abgearbeitet. Darunter fällt z.B. die Prüfung der Rechte, Kapselung der Aktion innerhalb einer Transaktion um Datenkonsistenz sicherzustellen und das Validieren der Daten um ungültige Datensätze zu verhindern.<br />
<br />
;RPC-Schicht<br />
:Diese Schicht enthält Schnittstellen des IES. Über das HTTP-Protokoll werden die RPCs (Remote Procedure Calls) angesprochen. Das Datenaustausch-Format ist JSON. Diese Schicht ermöglicht es auch Browsern über JavaScript die Schnittstellen zu nutzen. Die Schnittstellen sind programmiersprachenunab-hängig. Die RPC- Schicht unterstützt die Entwicklung SOA basierter Produkte.<br />
<br />
;Client-API-Schicht<br />
:Diese Schicht stellt Client-Implementierungen der RPC-Schicht für Java, JavaScript und PHP zur Verfügung.<br />
<br />
;Abwärtskompatibilitäts-Schicht<br />
:Um den IES auf dem aktuellen Stand der Technik zu halten ist eine kontinuierliche Weiterentwicklung erforderlich. Dies macht u.U. Refactoring-Maßnahmen notwendig, bei denen auch veraltete Funktionsteile wegfallen, um die Wartbarkeit der Software zu gewährleisten. Diese Funktionsteile werden in die Abwärtskompatibilität-Schicht verschoben um dennoch die Abwärtskompatibilität sicher zu stellen.<br />
<br />
;Applikations-Schicht<br />
:Auf dieser Schicht befinden sich die Produkte, die auf dieser Technologie-Plattform aufsetzten. Produkte können, wenn nötig, eigene RPC-, API-, Client-API- und Abwärtskompatibilität-Schichten bereitstellen.<br />
<br />
<br />
==Daten-Management==<br />
Daten werden im IES als ObjektInstanzen zusammengefasst. Eine ObjektInstanz kann beliebige Felder, beliebige Listen und beliebige unter-Strukturen enthalten. Durch ein generisches Datenmodell ist die Modellierung solcher Objekte ohne Daten-bankanpassungen möglich.<br />
<br />
Außer Text, Nummer, Datum, Boolean-Daten und Objekt-Verknüpfungen können auch Binärdaten an Felder von Objekt-Instanzen gespeichert werden. Hier werden die gängigen Bildformate unterstützt. Der Bild-Prozessor des IES generiert Thumbnails, ermittelt Bildformate und Bildgrößen.<br />
<br />
Um in dem Datenbestand performant suchen zu können werden die Daten indiziert. Hierbei werden sowohl die einzelnen Werte der Felder und die Relationen der Objekte zueinander indiziert wie auch ein Volltext-Index auf Feldebene aufgebaut.<br />
<br />
Zur Kennzeichnung von ObjektInstanzen und zur Verknüpfung von Daten aus Fremd-Systemen können sogenannte Anchor auf ObjektInstanzen gesetzt werden. Diese werden häufig zur Synchronisation mit externen Daten verwendet und bilden eine zusätzliche, frei definierbare, Referenz auf die ObjektInstanz. <br />
<br />
ObjektInstanzen werden in hierarchischen Strukturen verwaltet. Sie werden in Gruppen zusammengefasst, wobei Gruppen Unter-Gruppen enthalten können. Gruppen sind ebenfalls ObjektInstanzen in einer erweiterten Form.<br />
<br />
ObjektInstanzen müssen immer einer bestimmten Gruppe zugeordnet werden. Über symbolische Links ist es möglich eine ObjektInstanz auch zu mehreren Gruppen zuzuordnen.<br />
<br />
Um bestimmte Objekt-Daten oder ganze ObjektInstanzen zu finden wird eine eigene Abfrage-Sprache verwendet.<br />
<br />
Die Verwaltung der ObjektInstanzen übernimmt das Repository.<br />
<br />
Hierüber können ObjektInstanzen erzeugt, geändert, gelöscht, gesperrt (lock), freigegeben (unlock), versioniert, in andere Gruppen verschoben, in andere Gruppen kopiert, in andere Gruppen verlinkt und durch eine eigene Abfrage-Sprache gesucht werden.<br />
<br />
Das Repository verwaltet zusätzlich einen eigenen Cache um eine performante Verarbeitung von ObjektInstanzen zu gewährleisten.<br />
<br />
==Benutzer-Management==<br />
Benutzer sind im IES eine erweiterte Form von ObjektInstanzen. Der Funktionsumfang von ObjektInstanzen gilt im vollen Umfang auch für Benutzer. Benutzer werden in einer erweiterten Form von Gruppen (den Benutzer-Gruppen) organisiert.<br />
<br />
Zum Benutzer-Management gehört eine Rechteverwaltung. Für jeden Benutzer und für jede Benutzer-Gruppe können Rechte definiert werden. Mögliche Rechte sind z.B. das anlegen, ändern und löschen von ObjektInstanzen und das anlegen, ändern und löschen von Gruppen. <br />
Die Authentifizierung von Nutzern erfolgt wahlweise intern oder gegen ein externes LDAP-System. Ein internes Session-Management übernimmt die Verwaltung der angemeldeten Nutzer.<br />
<br />
<br />
==Modul-Management==<br />
Module sind Software-Pakete, die den IES als Plattform verwenden. Dies können sein: komplette Applikationen (wie z.B. Infosite, CityGov, CityCall, …), externe Komponenten (wie z.B. OpenLayers, Zend-Framework), erweiterte Schnittstellen, Dienste, Erweiterungen des Funktionsumfangs von anderen Modulen oder Diensten, kundenspezifische Anpassungen oder Erweiterungen.<br />
<br />
Über integrierte Update-Mechanismen können Aktualisierungen über Online-Updates erfolgen oder durch das einspielen einzelner Modul-Pakete. Module unterliegen einem Versions- und Release-Management. Abhängigkeiten von Modulen und Modul-Versionen werden geprüft.<br />
<br />
Module können in verschiedene Kategorien aufgeteilt werden:<br />
* Kern-Module - Funktionen (API, Schnittstellen, Module, Dienste, ....) die im Standard-Lieferumfang immer enthalten sind und direkt zur Verfügung stehen.<br />
* Optionale-Kern-Module - Funktionen, die im Standard-Lieferumfang immer enthalten sind, aber erst durch eine Konfiguration oder Lizenzierung zur Verfügung stehen.<br />
* Optionale-Module - Funktionen, die nicht im Standard-Lieferumfang enthalten sind, aber als zusätzliche Pakete eingespielt werden können.<br />
* Kundenspezifische-Module - Funktionen, die nur für einen Kunden implementiert werden und nicht Teil eines Produktes sind.<br />
<br />
<br />
==Plugin-Konzept==<br />
Der IES dient als Plattform für verschiedenste Applikationen. Durch das Plugin-Konzept wird sichergestellt, das Module mit dem IES und Module untereinander interagieren können. Ein Modul kann somit auch nur ein Plugin für eine andere Applikation sein. Die Schnittstellen des IES ermöglichen es den Modulen auf Änderungen von ObjektInstanzen zu reagieren, Funktionen vorhandener Dienste zu erweitern oder zu beeinflussen und Funktionen von vorhandenen Modulen zu erweitern oder zu beeinflussen.<br />
<br />
<br />
==Dienste-Management==<br />
Module können als Dienste des IES verwendet oder eigene Dienste bereit stellen. Dienste sind z.B.<br />
* Scheduler – Einmalige oder wiederkehrende Aktionen zu bestimmten Zeitpunkten<br />
* Queue – Abarbeitung von Aktionen die sequenziell erfolgen sollen.<br />
* Publisher – Publizieren von Daten mit Hilfe von Templates als z.B. Datei, E-Mail oder HTTP-Request<br />
* Messaging – Versenden von Mitteilungen z.B. per E-Mail<br />
<br />
Der IES bieten die Funktionen um Dienste zu starten, zu stoppen, anzuhalten, zu überwachen, bestimmte Funktionen manuell auszuführen oder zu konfigurieren.<br />
<br />
<br />
==Mandantenfähigkeit==<br />
Auf einem IES können mehrere Mandanten eingerichtet werden, die die oben beschriebenen Funktionalitäten unabhängig voneinander nutzen können. Alle Daten der Mandanten werden separat von einander abgelegt und sind auch untereinander nicht sichtbar. Bei der Anmeldung eines Nutzers am System wird der gewünscht Mandant mit angegeben.<br />
<br />
<br />
==Import- und Export- Werkzeug==<br />
Durch den XIP (Export- Import- Prozessor) können Daten in den IES importiert und aus dem IES exportiert werden. Das Austausch-format ist ein auf die Anforderungen des IES ausgerichtetes offenes XML-Format. Die zu exportierenden Daten können über die Angaben von Listen, Gruppierungen oder Suchen definiert werden.<br />
Der Importer unterstützt verschiedene Import-Quellen wie LDAP, HTTP-Ressourcen, Datenbanken und XML-Dateien. Nicht XML-Formate werden in XML umgewandelt und können dann über frei definierbare XSLT's in das XIP-Format umgewandelt werden. Mit diesem umgewandelten Format kann dann der Import erfolgen.<br />
Das XIP-Werkzeug steht als Web 2.0 - Oberfläche und über die Kommandozeile zur Verfügung.<br />
<br />
<br />
==Administrationswerkzeuge==<br />
Zur Verwaltung und Administration der einzelnen System-Teile stellt der IES Administrations-Werkzeuge auf Kommandozeilen-Ebene und als Web-Oberfläche zur Verfügung. Unter anderem werden Werkzeuge für die folgenden Bereiche bereitgestellt:<br />
* Online-Updates des IES<br />
* Lizenzverwaltung<br />
* Modul-Verwaltung (einspielen, löschen, aktualisieren, starten, stoppen, …)<br />
* Logging-Konfiguration (Einstellungen für Log-Dateien)<br />
* Datenbank-Verwaltung (anlegen, konfigurieren und löschen von MySQL-Datenbanken und Datenbankverbindungen)<br />
* Mandanten-Verwaltung (anlegen, konfigurieren und löschen von Mandanten)<br />
* Dienste-Verwaltung (starten, stoppen, konfigurieren)<br />
* Backup und Recovery</div>Sedhttps://wiki.sitepark.com/index.php?title=Kategorie:Installation&diff=10478Kategorie:Installation2022-09-21T07:19:55Z<p>Sed: </p>
<hr />
<div>Installation des IES (ab Version 3)<br />
<div class="note">Wir raten dringend dazu, unabhängig davon ob der IES oder der IES-Webnode nur auf ''localhost'' gebunden wird, den Zugriff nur über den Apache zu erlauben und eine Firewall vorzuschalten.</div><br />
<noinclude><br />
[[Kategorie:Administration| 100]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Hauptseite&diff=10348Hauptseite2022-04-19T12:17:03Z<p>Sed: </p>
<hr />
<div><table class="boxes"><br />
<tr><br />
<td><br />
<div class="title">Willkommen im Sitepark Wiki</div><br />
<div class="contents"><br />
Der Sitepark Information Enterprise Server [[IES]] ist der Enterprise Content Management Kern aller Sitepark Produkte. Auf den IES bauen die CMS InfoSite und CitySite, CityCall115, InfoTicket, das Sitepark Wissensmanagement-System sowie eine aufeinander abgestimmte Sammlung von Fachanwendungen für den kommunalen Markt auf.<br />
<br />
Dieses Wiki enthält Informationen für unsere Kunden. Neben den Changelogs unserer Produkte [[Changelog|IES]], [[Changelog InfoSite 5|InfoSite 5]], [[Changelog InfoSite 6|InfoSite 6]], [[Changelog CityGov 3|CityGov 3]] sowie [[Changelog CityCall115|CityCall115]] enthält das Wiki das vollständige Referenzhandbuch für Webentwickler sowie eine Plattform zum Austausch von Codefragmenten und Lösungsvorschlägen.<br />
<br />
Nicht geeignet ist dieses Wiki für Supportanfragen oder Featurewünsche. Um diese zeitnah zu bearbeiten, haben wir hierfür einen speziellen [https://support.sitepark.com/otrs/customer.pl Support-Bereich auf unserer Website] eingerichtet.<br />
<br />
Wir wünschen Ihnen nun viel Freude am Wiki,<br/><br />
Ihr Sitepark-Team<br />
<br />
<br />
<div id="mainpage_sitelinks"><br />
'''[[FAQ|FAQ zum Sitepark Wiki]]''' &nbsp; | &nbsp;<br />
'''[https://meta.wikimedia.org/wiki/Help:Contents/de Hilfe zur Bedienung]''' &nbsp; | &nbsp;<br />
'''[[:SiteparkWiki:Impressum|Impressum]]''' &nbsp; | &nbsp;<br />
'''[[:SiteparkWiki:Datenschutz|Datenschutz]]''' &nbsp; | &nbsp;<br />
Changelogs: '''[[Changelog|IES]]''', '''[[Changelog InfoSite 6|InfoSite 6]]''', '''[[Changelog CityGov – Virtuelle Verwaltung|CityGov]]''', '''[[Changelog_CityCall115|CityCall115]]''', '''[[Sitekit Changelogs|Sitekit]]'''<br />
</div><br />
</div><br />
</td><br />
</tr><br />
</table><br />
<br />
<table class="boxes"><br />
<tr><br />
<td><br />
<div class="title">SPML-Handbuch</div><br />
<div class="contents"><br />
* [[Allgemeine Sprachelemente]]<br />
* [[SPEL|Expression Language (SPEL)]]<br />
* [[SPQL|Query Language (SPQL)]]<br />
* [[Regular-Expression|Reguläre Ausdrücke]]<br />
* [[Datumsformat]]<br />
* [[Zahlenformat]]<br />
* [[Symbolischer Link]]<br />
</div><br />
</td><br />
<td><br />
<div class="title">Referenz Handbuch</div><br />
<div class="contents"><br />
* [[:Kategorie:SP-Tags|SP-Tags]]<br />
* [[:Kategorie:SPT-Tags|SPT-Tags]]<br />
* [[:Kategorie:Objekte|Objekte]]<br />
* [[:Kategorie:Funktionen|Funktionen]]<br />
* [[:Kategorie:Handler|Handler]]<br />
* [[:Kategorie:Dienste|Dienste]]<br />
* [[:Kategorie:Administration|Administration]]<br />
* [[:Kategorie:Module|Module]]<br />
* [[Errorcode|Errorcodes]]<br />
</div><br />
</td><br />
<td><br />
<div class="title">Funktionsbeschreibungen</div><br />
<div class="contents"><br />
* [[IES-Ökosystem]]<br />
* [[XIP LDAP Import Beispiel|LDAP]]<br />
* [[Locking]]<br />
* [[Dokumentation der Funktionsweise vom Solr-Modul|Solr]]<br />
* [[:Kategorie:XIP|XIP]]<br />
</div><br />
</td><br />
</tr><br />
</table></div>Sedhttps://wiki.sitepark.com/index.php?title=MediaWiki:Sidebar&diff=10340MediaWiki:Sidebar2022-04-06T11:45:52Z<p>Sed: </p>
<hr />
<div>* SEARCH<br />
<br />
* Hauptseite|Hauptseite<br />
* Changelogs<br />
** Changelog|Übersicht<br />
** Changelog_IES-2|IES 2<br />
** Changelog_IES-3|IES 3<br />
** Changelog InfoSite 5|InfoSite 5<br />
** Changelog InfoSite 6|InfoSite 6<br />
** Changelog CityGov – Virtuelle Verwaltung|CityGov<br />
** Changelog_CityCall115|CityCall115<br />
** Sitekit_Changelogs|Sitekit<br />
<br />
* SPML-Handbuch<br />
** Allgemeine Sprachelemente|Sprachelemente<br />
** SPEL|Expression Language (SPEL)<br />
** SPQL|Query Language (SPQL)<br />
** Regular-Expression|Reguläre Ausdrücke<br />
** Datumsformat|Datumsformat<br />
** Zahlenformat|Zahlenformat<br />
** Symbolischer Link|Symbolischer Link<br />
** Content-Type|Content-Typen<br />
** Templates|Templates<br />
<br />
* Referenz-Handbuch<br />
** Kategorie:SP-Tags|SP-Tags<br />
** Kategorie:SPT-Tags|SPT-Tags<br />
** Kategorie:Objekte|Objekte<br />
** Kategorie:Funktionen|Funktionen<br />
** Kategorie:IES_API|IES-API<br />
** Kategorie:Handler|Handler<br />
** Kategorie:Dienste|Dienste<br />
** Kategorie:Module|Module<br />
** Kategorie:Administration|Administration<br />
** Errorcode|Errorcodes<br />
<br />
* Funktions-Handbuch<br />
<!--** LDAP--><br />
** Captcha|Captcha<br />
** Custom-Tags|Custom-Tags<br />
** Live-Seiten|Live-Seiten<br />
** Locking|Locking<br />
** Lucene-Index|Lucene-Index<br />
** Sitemap|Sitemap</div>Sedhttps://wiki.sitepark.com/index.php?title=MediaWiki:Sidebar&diff=10339MediaWiki:Sidebar2022-04-06T11:43:58Z<p>Sed: </p>
<hr />
<div>* SEARCH<br />
<br />
* Hauptseite|Hauptseite<br />
* Changelogs<br />
** Changelog|Übersicht<br />
** Changelog_IES-2|IES-2<br />
** Changelog_IES-3|IES-3<br />
** Changelog InfoSite 5|InfoSite 5<br />
** Changelog InfoSite 6|InfoSite 6<br />
** Changelog CityGov – Virtuelle Verwaltung|CityGov<br />
** Changelog_CityCall115|CityCall115<br />
** Sitekit_Changelogs|Sitekit<br />
<br />
* SPML-Handbuch<br />
** Allgemeine Sprachelemente|Sprachelemente<br />
** SPEL|Expression Language (SPEL)<br />
** SPQL|Query Language (SPQL)<br />
** Regular-Expression|Reguläre Ausdrücke<br />
** Datumsformat|Datumsformat<br />
** Zahlenformat|Zahlenformat<br />
** Symbolischer Link|Symbolischer Link<br />
** Content-Type|Content-Typen<br />
** Templates|Templates<br />
<br />
* Referenz-Handbuch<br />
** Kategorie:SP-Tags|SP-Tags<br />
** Kategorie:SPT-Tags|SPT-Tags<br />
** Kategorie:Objekte|Objekte<br />
** Kategorie:Funktionen|Funktionen<br />
** Kategorie:IES_API|IES-API<br />
** Kategorie:Handler|Handler<br />
** Kategorie:Dienste|Dienste<br />
** Kategorie:Module|Module<br />
** Kategorie:Administration|Administration<br />
** Errorcode|Errorcodes<br />
<br />
* Funktions-Handbuch<br />
<!--** LDAP--><br />
** Captcha|Captcha<br />
** Custom-Tags|Custom-Tags<br />
** Live-Seiten|Live-Seiten<br />
** Locking|Locking<br />
** Lucene-Index|Lucene-Index<br />
** Sitemap|Sitemap</div>Sedhttps://wiki.sitepark.com/index.php?title=MediaWiki:Sidebar&diff=10338MediaWiki:Sidebar2022-04-06T11:36:47Z<p>Sed: </p>
<hr />
<div>* SEARCH<br />
<br />
* Hauptseite|Hauptseite<br />
* Changelogs<br />
** Changelog|IES<br />
** Changelog InfoSite 5|InfoSite 5<br />
** Changelog InfoSite 6|InfoSite 6<br />
** Changelog CityGov – Virtuelle Verwaltung|CityGov<br />
** Changelog_CityCall115|CityCall115<br />
** Sitekit_Changelogs|Sitekit<br />
** recentchanges-url|Wiki<br />
** todo|Wartung und Qualität<br />
<br />
* SPML-Handbuch<br />
** Allgemeine Sprachelemente|Sprachelemente<br />
** SPEL|Expression Language (SPEL)<br />
** SPQL|Query Language (SPQL)<br />
** Regular-Expression|Reguläre Ausdrücke<br />
** Datumsformat|Datumsformat<br />
** Zahlenformat|Zahlenformat<br />
** Symbolischer Link|Symbolischer Link<br />
** Content-Type|Content-Typen<br />
** Templates|Templates<br />
<br />
* Referenz-Handbuch<br />
** Kategorie:SP-Tags|SP-Tags<br />
** Kategorie:SPT-Tags|SPT-Tags<br />
** Kategorie:Objekte|Objekte<br />
** Kategorie:Funktionen|Funktionen<br />
** Kategorie:IES_API|IES-API<br />
** Kategorie:Handler|Handler<br />
** Kategorie:Dienste|Dienste<br />
** Kategorie:Module|Module<br />
** Kategorie:Administration|Administration<br />
** Errorcode|Errorcodes<br />
<br />
* Funktions-Handbuch<br />
<!--** LDAP--><br />
** Captcha|Captcha<br />
** Custom-Tags|Custom-Tags<br />
** Live-Seiten|Live-Seiten<br />
** Locking|Locking<br />
** Lucene-Index|Lucene-Index<br />
** Sitemap|Sitemap</div>Sedhttps://wiki.sitepark.com/index.php?title=Changelog&diff=10327Changelog2022-04-06T09:58:01Z<p>Sed: Weiterleitung auf Changelog IES entfernt</p>
<hr />
<div>==Changelogs vom IES==<br />
*[[Changelog IES-2|IES-2]]<br />
*[[Changelog IES-3|IES-3]]<br />
<br />
==Changelogs von Kernmodulen==<br />
*[[Changelog IES Webnode|IES Webnode]]<br />
*[[Changelog IES Generator|IES Generator]]<br />
*[[Changelog IES API|IES API]]<br />
*[[Changelog IES API UI|IES API UI]]<br />
*[[Changelog IES Admin|IES Admin]]<br />
*[[Changelog IES XIP Manager|IES XIP Manager]]<br />
*[[Changelog IES Basis Modul|IES Basis Modul]]<br />
*[[Changelog IES Themes|IES Themes]]<br />
<br />
==Weitere Changelogs==<br />
*[[Changelog InfoSite 5|InfoSite 5]]<br />
*[[Changelog InfoSite 6|InfoSite 6]]<br />
*[[Changelog InfoSite 6 Legacy Tools|InfoSite 6 - Nutzerverwaltung (legacy)]]<br />
*[[Changelog CityGov – Virtuelle Verwaltung|CityGov]]<br />
*[[Changelog_CityCall115|CityCall115]]<br />
*[[Changelog InfoTicket|InfoTicket]]<br />
*[[Changelog Solr - Volltext Suchmaschine|Solr - Volltext Suchmaschine]]<br />
*[[Changelog Site API|Site API]]<br />
*[[Changelog Basis-PHP-API|Basis-PHP-API]]<br />
*[[Changelog IES WebDAV Schnittstelle|WebDAV Schnittstelle]]<br />
*[[Sitekit Changelogs|SiteKit]]<br />
<br />
==Anmerkungen==</div>Sedhttps://wiki.sitepark.com/index.php?title=IES-Webnode&diff=10281IES-Webnode2022-02-14T12:39:39Z<p>Sed: </p>
<hr />
<div>''Ab IES Version 2.5 verfügbar''<br />
<br />
Der IES-Webnode ist ein Java-Applikations-Server auf Basis des [http://www.eclipse.org/jetty/ Jetty]. Er wird auf Web-Servern installiert, die vom IES generierte Webseiten ausliefern.<br />
Innerhalb des IES-Webnode werden Module installiert, die Funktionalitäten für die Webseite bereite stellen (Z.B. Volltextsuche).<br />
<br />
<br />
<br />
==Systemvoraussetzungen==<br />
* Java Platform, Standard Edition '''JDK''' - Version 7<br />
* Der IES muss den Server auf dem der IES-Webnode installiert wird per HTTP(S) erreichen können.<br />
* Hardware-Anforderungen sind je nach Anwendungsfall zu prüfen.<br />
<br />
==Installation==<br />
===Installation unter Linux===<br />
<br />
Die Installations-Datei für den IES-Webnode wird mit dem IES mitgeliefert. In dem Verzeichnis IES_HOME/bin liegt die Datei<br />
ies-webnode-server.bin<br />
Diese muss auf das Linux-System kopiert werden, auf dem sich die Webseite befindet, die den IES-Webnode benötigt. Für die Installation vergeben Sie noch die nötigen Ausführungsrechte und führen das Installations-Script anschließend aus:<br />
chmod a+x ies-webnode-server.bin<br />
./ies-webnode-server.bin<br />
Befolgen Sie die Anweisungen.<br />
<br />
Das Installations-Script führt folgende Schritte aus:<br />
* Es wird einen Nutzer und eine Gruppe <code>ies-webnode</code> angelegt<br />
* Es wird ein init-Script unter <code>/etc/init.d/ies-webnode</code> abgelegt.<br />
* Es wird eine Konfigurations-Datei für das init-Script angelegt:<br />
:* bei systemd-Systemen unter /etc/sysconfig/ies-webnode<br />
:* bei init-v-Systemen unter /etc/default/ies-webnode<br />
:In dieser Datei können die Start-Optionen für den IES-Webnode angepasst werden (z.B. <code>JAVA_OPTIONS="-server -Xms512m -Xmx2048m -Xss8m"</code>).<br />
* Der Server wird unterhalb des angegebenen Installations-Verzeichnisses (Standardverzeichnis: <code>/srv/sitepark/ies-webnode</code>) installiert.<br />
<br />
===Apache Integration===<br />
<source lang="apache"><br />
<VirtualHost *:443><br />
<br />
...<br />
<br />
ProxyRequests Off<br />
ProxyPreserveHost On<br />
ProxyTimeout 3600<br />
<Proxy balancer://ies-webnode-balancer><br />
Order Deny,Allow<br />
Allow from All<br />
BalancerMember http://localhost:8381<br />
</Proxy><br />
ProxyPassMatch ^(/ies-webnode/.*)$ balancer://ies-webnode-balancer$1<br />
<br />
...<br />
<br />
</VirtualHost><br />
</source><br />
<br />
===IES-Konfiguration===<br />
Wenn der IES-Webnode auf dem Webserver installiert ist, muss die Verbindung für den IES über die Administrations-Oberfläche konfiguriert werden. Bei den Servereinstellungen erscheint der Menüpunkt 'Webnode'. Erstellen Sie hier einen neuen Eintrag und vergeben einen sprechenden Namen. die ''Basis URL des Webnodes'' ist der Host (oder IP-Adress) des Server, auf dem der Webnode installiert wurde. Sollte keine Apache-Einbindung konfiguriert sein, muss hier der Port (default 8381) ergänzt werden (Beispiel: http://my.webnode.de:8381/). Das Passwort wurde bei der Installation automatisch vergeben und befindet sich in der Datei ''[WEBNODE_HOME]/config/realm.properties'' (Beispiel: "api: 123456789abcdef, api" => Login 'api' Passwd: '123456789abcdef')<br />
<br />
====/etc/defaults/ies-webnode====<br />
<br />
=====IES_JAVA_OPTIONS=====<br />
Java Optionen die mit -D angegeben werden<br />
<br />
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)<br />
com.sitepark.net.HttpClient.disableChunked=true<br />
<br />
==Updates==<br />
Der IES-Webnode ist aus IES-Sicht ein IES-Modul und wird auch so wie alle anderen IES-Module über die IES-Admin Oberfläche aktualisiert. Die Update-Dateien werden vom IES-Admin vom zentralen Update-Server von Sitepark herunter geladen und auf die IES-Webnodes verteilt.<br />
Das Update auf den einzelnen IES-Webnodes muss dann allerdings manuell ausgeführt werden. Ob ein Update auf den IES-Webnodes zur Ausführung bereit steht kann innerhalb des IES-Admin im Bereich 'Webnode' nachgesehen werden.<br />
<br />
===Linux===<br />
Steht ein Update die IES-Webnode zur Verfügung kann das Update wie folgt ausgeführt werden<br />
/etc/init.d/ies-webnode stop<br />
/etc/init.d/ies-webnode update<br />
/etc/init.d/ies-webnode start<br />
<br />
==Status abfragen==<br />
Der Webnode kann einen Status-Bericht zum eigenen Prozess und zu den verwalteten Publishern liefern. Hierzu werden Anfragen und Antworten per JSON generiert. Der Kommunikationsaufruf ist dabei i.d.R. folgender:<br />
#Aufruf des Publisher-Status in IES-Admin im Browser -> HTTPS-Request vom Nutzer an den IES<br />
#IES stellt Anfrage an den Webnode des Publishers -> HTTPS-Request an den Webserver auf dem der Webnode installiert wurde (ggf. auch direkt auf Port 8381)<br />
#Webserver leitet Anfrage via Proxy-Request an den lokalen Webnode-Prozess -> HTTP-Request an Webnode<br />
#Webnode erstellt HTTPS-Anfrage an ein PHP-Script im Publisher -> HTTPS-Request an den lokalen Webserver<br />
<br />
Der Python-Aufruf am Ende der Aufrufe (s.u.) sorgt für eine lesbare Darstellung der JSON-Daten. Alternativ kann auch <code>jq</code> verwendet werden.<br />
<br />
<div class="note"><br />
Ein aktuell typisches Problem ist die Problematik von Apache 2.4 und '''PHP-FPM (Fast.CGI)'''. Hier ist Chunked-Transfer-Encoding nicht möglich. Dies muss in den Setzungen des Webnode über<br />
-Dcom.sitepark.net.HttpClient.disableChunked=true<br />
in den Java-Optionen deaktiviert werden.<br />
</div><br />
<br />
===Webnode-Status===<br />
Den Status des Webnode kann man auf dem lokalen System über folgenden <code>curl</code>-Aufruf abfragen:<br />
curl -s "http://api:'''XXX'''@localhost:8381/ies-webnode/admin/rpc/?rpcAction=Server&rpcMethod=getStatus" | python -m json.tool<br />
Die Authentifizierung erfolgt über die URL. Der Login ist <code>api</code>. Dass Passwort ist Ihr API-Key.<br />
Diesen können Sie der Datei <code>realm-properties</code> im Installationsverzeichnis des Webnode entnehmen.<br />
<br />
===Publisher-Status===<br />
Aufruf des Webnodes durch den IES (im Fall einer lokalen Installation):<br />
curl -s "http://api:'''XXX'''@localhost:8381/ies-webnode/admin/rpc/?rpcAction=WebChannel&rpcMethod=getStatus&protocol=https&host='''hostname'''" | python -m json.tool<br />
Die Authentifizierung erfolgt über die URL. Der Login ist <code>api</code>. Dass Passwort ist Ihr API-Key.<br />
<br />
URL für Request des Webnodes auf den Publisher:<br />
curl -k "https://api:'''XXX'''@'''hostname'''/WEB-IES/sitekit-module/php/SP/SiteKit/Rpc/Server/Port.php?rpcAction=SP\\SiteKit\\Rpc\\WebChannel\\Info&rpcMethod=getInfo" | python -m json.tool<br />
<br />
Der Parameter Host ist der Domain-Name des Publisher.<br />
<br />
<div class="note">Zum Debuggen von Problemen kann es hilfreich sein die HTTPS-Konfiguration temp. abzustellen (macro siteNoSSL statt site) und das zippen der Daten (mod_deflate) zu deaktivieren. Anschließend kann die Kommunikation mit <code>ngrep</code> untersucht werden.</div><br />
<br />
<br />
<noinclude><br />
[[Kategorie:Administration| 500]]<br />
[[Category:Module]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=IES_Konfiguration&diff=10268IES Konfiguration2022-01-28T11:24:38Z<p>Sed: /* Systeme unterscheiden (Test- oder Schulungssysteme) */</p>
<hr />
<div>__TOC__<br />
<br />
=IES-Konfiguration=<br />
Der IES ist ein Java-Prozess, dessen Start-Parameter in der Datei <code>/etc/sitepark/sitepark.conf</code> konfiguriert wird. Hier werden Angaben zum Speicherverbrauch o.ä. vorgenommen. Details hierzu finden Sie [[Administration und Konfiguration unter Linux|hier]] für Linux.<br />
<br />
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<br />
iesadmin reload-config<br />
bzw. der entsprechende Button im IESAdmin-Webinterface laden diese Datei neu ein.<br />
<br />
==Beispiel einer <code>ies-server.xml</code>==<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<ies-server><br />
<br />
<!-- System-Bundles bilden typische Kombinationen von Modulen ab --><br />
<bundles><br />
<bundle>cms</bundle><br />
</bundles><br />
<br />
<!-- Globale Parameter --><br />
<settings><br />
<property name="dataDir" value="/srv/sitepark/data" /><br />
<property name="sessionTimeout" value="120" /><br />
<property name="maxRepositoryVersions" value="50" /><br />
<property name="maxObjectCacheSize" value="10000" /><br />
<property name="objectCacheLifetime" value="43200" /><br />
<property name="maxLockTime" value="10" /><br />
<property name="defaultLocale" value="de_DE" /><br />
<property name="privateCryptKey" value="963249068513792696390639" /><br />
<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" /><br />
<property name="bindbScaleSteps" value="40,100,500,h40" /><br />
<property name="iesadmin.update.url" value="http://user:password@ies.sitepark.com/updater/" /><br />
<property name="http.proxyHost" value="" /><br />
<property name="http.proxyPort" value="" /><br />
<property name="https.proxyHost" value="" /><br />
<property name="https.proxyPort" value="" /><br />
<property name="http.nonProxyHosts" value="localhost,127.0.0.1" /><br />
</settings><br />
<br />
<!-- Zugriffe auf IESAdmin --><br />
<security><br />
<user login="manager" password="b29fa62a183463dd119bf22cde912b9f" roles="management" /><br />
</security><br />
<br />
<!-- Konfiguration des Logging --><br />
<logging><br />
<appender name="IES" type="rolling-file" file="/srv/sitepark/ies.log" append="true" maxFileSize="100MB" maxBackups="1" /><br />
<logger name="com.sitepark.ies" level="TRACE" appender="IES" /><br />
<logger name="com.sitepark.ies.management.servlet" level="ERROR" appender="IES" /><br />
<logger name="com.sitepark.imgfile" level="ERROR" appender="IES" /><br />
<logger name="net.sf.jmimemagic" level="ERROR" appender="IES" /><br />
</logging><br />
<br />
<!-- Datenbank- und Mandanten-Konfigurationen und Root-Zugänge der jeweiligen Datenbank-Server --><br />
<persistence><br />
<admin type="1" host="localhost" user="root" password="secret" /><br />
<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"><br />
<client id="1" anchor="testclient" name="Testsystem" webapps="infosite," disabled="false"><br />
<attributes /><br />
<ref element="publisher" id="1" type="file" /><br />
<ref element="publisher" id="2" type="file" /><br />
<ref element="publisher" id="3" type="database" /><br />
</client><br />
</db><br />
<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" /><br />
</persistence><br />
<br />
<!-- Konfiguration der IES Dienste --><br />
<services><br />
<service id="lock-scheduler" status="stop" /><br />
<service id="publisher" /><br />
<service id="link" /><br />
<service id="ldap" /><br />
<service id="email-validator" /><br />
<service id="compiler" /><br />
<service id="report" /><br />
<service id="article-observer" /><br />
<service id="counter" disabled="false" /><br />
<service id="linktree" /><br />
<service id="r" /><br />
<service id="task" /><br />
<service id="indexer"><br />
<br />
<!-- Konfiguration von Indices werden innerhalb des Service abgelegt --><br />
<index id="1" anchor="testindex" client="100010100000000000-0" name="testindex" indexdir="/srv/sitepark/data/indexes/1-1/testindex"><br />
<field name="sp_headline" default="" type="text" boost="2.0" store="true" /><br />
</index><br />
<br />
</service><br />
<service id="ldap-import" /><br />
<service id="observer" /><br />
<service id="dependencies" disabled="false" /><br />
</services><br />
<br />
<!-- Optionale Konfiguration einer LDAP Anbindung --><br />
<ldap /><br />
<br />
<!-- Konfiguration der Publisher (jeder Publisher-Typ wird in einem separatem Bereich konfiguriert) --><br />
<publisher><br />
<file><br />
<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&#xA;https://www.domain.loc&#xA;http://domain.loc" anchor="www"><br />
<attributes /><br />
</file-publisher><br />
<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&#xA;http://preview.domain.loc:80&#xA;http://preview.domain.loc:80/irgendwo/"><br />
<attributes /><br />
</file-publisher><br />
</file><br />
<database><br />
<database-publisher id="3" name="DB" database="2"><br />
<attributes /><br />
</database-publisher><br />
</database><br />
</publisher><br />
<br />
<!-- Konfiguration der Module --><br />
<modules><br />
<module id="ies" disabled="false" /><br />
<module id="infosite" disabled="false" /><br />
</modules><br />
<br />
</ies-server><br />
</source><br />
<br />
==Erweiterte Datenbank-Parameter==<br />
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:<br />
;max-pool-size="20":Konfiguration des Pools für parallelen Datenbank-Verbindungen<br />
: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)''<br />
;blocking-timeout-millis="30000":Konfiguration der Dauer in Millisekunden, die der IES maximal auf eine Datenbank-Verbindungen des Pools wartet<br />
:Auch dieser Wert muss i.d.R. nicht verändert werden. ''(Default: 30000)''<br />
;track-statements="false":Erweitertes Logging bei Datenbank-Problemen<br />
:Dieser Wert wird aktuell noch nicht verwendet. ''(Default: false)''<br />
Diese müssen bei Bedarf direkt in der Konfiguration der jeweiligen Datenbankverbindung angegeben werden. Danach bleiben diese auch bei Änderungen im IESAdmin erhalten.<br />
<br />
==IES-Backupverzeichnis (<code>$SITEPARK_BACKUP</code>)==<br />
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 [[:Kategorie:Backup|hier]].<br />
<br />
Über das Property '''<code>backupDir</code>''' kann das Backupverzeichnis des IES geändert werden. Ist keine Konfiguration vorhanden, so wird der Ordner <code>$SITEPARK_HOME/backup</code> angenommen. Stellen sicher, dass der IES wieder vollen Zugriff auf den Ordner erhält (chown -R ies.ies).<br />
<br />
==IES-Datenverzeichnis (<code>$SITEPARK_DATA</code>)==<br />
Im Datenverzeichnis des IES werden alle Daten der Module und die <code>BinDB</code> mit allen Medien gespeichert.<br />
<br />
Über das Property '''<code>dataDir</code>''' 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).<br />
<br />
==Zugriff auf den IES per Ilink, wenn dieser per htaccess geschützt ist==<br />
In diesem Fall muss der Browser via JavaScript entsprechende Header setzen. Dazu sind im Webserver folgende HEADER-Setzungen zu machen:<br />
Header set Access-Control-Allow-Origin "https://www.website.de"<br />
Header set Access-Control-Allow-Methods "POST, GET, OPTIONS"<br />
Header set Access-Control-Allow-Credentials true<br />
<br />
Und in der IES-Konfiguration ist ein manueller Eintrag notwendig:<br />
<property name="host.withCredentials" value="true" /><br />
<br />
==Systeme unterscheiden (Test- oder Schulungssysteme)==<br />
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:<br />
* Label<br />
* Farbe (bekannter Name (z.B. "white") oder Farbcode (z.B. "#FFFFFF")<br />
<br />
In der IES-Konfiguration (XML-Encoded) sind das z.B. wie folgt aus:<br />
<source lang="xml"><br />
<property name="systemIdentification" value="{label:&quot;Testsystem&quot;,color:&quot;#fc9c34&quot;}" /><br />
</source><br />
<br />
Um im Mandanten diese globale Einstellung zu überschreiben kann in IES-Admin bei den Attributen des Mandaten folgende Setzung vorgenommen werden:<br />
<source lang="text"><br />
systemIdentification={label:"Demosystem"}<br />
</source><br />
oder<br />
<source lang="text"><br />
systemIdentification={label:"Schulungssystem", color:"green"}<br />
</source><br />
oder um die globale Setzung zurückzunehmen<br />
<source lang="text"><br />
systemIdentification={}<br />
</source><br />
<br />
==Session-Steuerung==<br />
Das System erlaubt die freie Konfiguration der Sitzungsdauer für Redakteure und WebAccounts.<br />
Die Sitzungsdauer für WebSessions und redaktionelle Arbeiten im CMS ist in Minuten anzugeben.<br />
Hier werden die Standard-Setzungen angezeigt (2 Stunden, 10 Tage):<br />
<br />
<source lang="xml"><br />
<property name="sessionTimeout" value="120" /><br />
<property name="webSessionTimeout" value="14400" /><br />
</source><br />
<br />
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).<br />
<br />
==Passwort-Steuerung==<br />
Über verschiedene, optionale Attribute in der Konfiguration kann die Verwaltung von Passwörtern gesteuert werden.<br />
<br />
<source lang="xml"><br />
<property name="password.expirationPeriod" value="90" /><br />
<property name="password.minLength" value="4" /><br />
<property name="password.regexp" value="^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&amp;+=])(?=\S+$).{8,}$" /><br />
<property name="password.algorithm" value="scrypt" /><br />
<property name="password.bcrypt.params" value="{cost=10}" /><br />
<property name="password.scrypt.params" value="{N=16384,r=8,p=1}" /><br />
<property name="password.pbkdf2.params" value="{iterations=1000,keyLength=512}" /><br />
</source><br />
<br />
===Gültigkeitsdauer===<br />
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):<br />
password.expirationPeriod<br />
<br />
===Minimale Passwort-Länge===<br />
Anzahl der Zeichen, die ein Passwort mind. lang sein soll.<br />
password.minLength<br />
<br />
===Regulärer Ausdruck als Regel für Passwörter===<br />
Ü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.<br />
password.regexp<br />
<br />
Beispiel:<br />
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$<br />
<br />
^ # Beginn des Passwortes<br />
(?=.*[0-9]) # min. eine Zahl<br />
(?=.*[a-z]) # mind. ein kleingeschriebener Buchstabe<br />
(?=.*[A-Z]) # mind. ein großgeschriebener Buchstabe<br />
(?=.*[@#$%^&+=]) # mind. eins dieser Sonderzeichen "@#$%^&+="<br />
(?=\S+$) # Leerzeichen sind nicht erlaubt<br />
.{8,} # mind. 8 Zeichen<br />
$ # Ende des Passwortes<br />
<br />
<div class="note">Bitte beachten Sie die Angaben in der XML-Datei entsprechend zu encoden (Beispiel: &amp; -&gt; &amp;amp;)</div><br />
<br />
===Algorithmus zur Verschlüsselung===<br />
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).<br />
<br />
* PBKDF2<br />
* scrypt<br />
* bcrypt<br />
* md5<br />
* sha (1, 256, 384, 512)<br />
* unixcrypt<br />
<br />
password.algorithm<br />
<br />
===Steuerung des Algorithmus zur der Verschlüsselung===<br />
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.<br />
password.bcrypt.params<br />
Default: "{cost=10}"<br />
<br />
password.scrypt.params<br />
Default: "{N=16384,r=8,p=1}", auf virtuellen Servern u.U. wie folgt zu reduzieren: "{N=1024, r=1, p=1}"<br />
<br />
password.pbkdf2.params<br />
Default: "{iterations=1000,keyLength=512}"<br />
<br />
=sitepark.conf=<br />
<br />
==IES_OPTS==<br />
Java Optionen die mit -D angegeben werden<br />
<br />
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)<br />
com.sitepark.net.HttpClient.disableChunked=true<br />
<br />
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.<br />
com.sitepark.imgfile.imagemagick.command.Command.priority=0<br />
<br />
=Mail-Server Konfiguration=<br />
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 [[Systemvoraussetzungen#Mailserver|hier]].<br />
<br />
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:<br />
$SITEPARK_HOME/jboss/server/default/deploy/mail-service.xml<br />
Hier können Sie die gewünschten Parameter anpassen. I.d.R. ist lediglich der Wert für <code>mail.smtp.host</code> zu ändern. Ein IES-Neustart ist bei Änderungen erforderlich.<br />
<br />
<noinclude><br />
[[Kategorie:Administration und Konfiguration]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Hinweise_zu_MySQL&diff=10267Hinweise zu MySQL2022-01-24T11:09:00Z<p>Sed: </p>
<hr />
<div>==Initialisierung==<br />
Es ist wichtig, dass ein Root-Passwort für den MySQL-Server gesetzt wird<br />
mysqladmin password geheim<br />
<br />
Es wird empfohlen für die Verwaltung der Datenbanken vom IES einen eigenen root-Nutzer anzulegen.<br />
CREATE USER 'siteparkroot' IDENTIFIED BY 'PASSWORD';<br />
GRANT ALL ON *.* TO 'siteparkroot'@localhost IDENTIFIED BY 'PASSWORD' with grant option;<br />
GRANT ALL ON *.* TO 'siteparkroot'@127.0.0.1 IDENTIFIED BY 'PASSWORD' with grant option;<br />
<br />
'''Hinweis zu MariaDB''' (''Wenn nicht der siteparkroot-Nutzer verwendet wird'')<br />
<br />
Bei aktuellen MariaDB Installationen ist für den root-Nutzer das unix_socket-Plugin aktiv. Wenn über IES-Admin neue Datenbanken angelegt werden sollen muss diese Plugin für den root-Nutzer deaktiviert werden.<br />
<br />
''Vorher sollte sicher gestellt sein, das das root Passwort bekannt ist.''<br />
<br />
update mysql.user set plugin="" where user="root";<br />
flush privileges;<br />
<br />
Siehe auch<br />
https://kofler.info/root-login-problem-mit-mariadb/<br />
<br />
<br />
Ein weiteres Plugin in MariaDB validiert Passwörter dies kann ggf auch zu Problemen beim Login führen.<br />
https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html<br />
<br />
==Konfiguration==<br />
<div class="note"><br />
Wie alle Dienste eines Systems, muss auch bei MySQL die Konfiguration regelmäßig geprüft werden.<br />
Die aktuellen Parameter müssen ermittelt werden und Einstellungen entsprechend angepasst werden. Gerade die Setzungen ''innodb_buffer_pool_size'' und ''table_open_cache'' u.ä. müssen mit wachsenden Datenbestand überprüft werden!<br />
</div><br />
<br />
Die Verbindung zu MySQL über den TCP-Port muss freigegeben werden. Lokale Sockets funktionieren '''nicht'''.<br />
<br />
Hierzu müssen folgende Setzungen mind. erfüllt sein:<br />
#skip-networking<br />
<br />
# Instead of skip-networking the default is now to listen only on<br />
# localhost which is more compatible and is not less secure.<br />
bind-address = 127.0.0.1<br />
<br />
'''SuSE Linux Enterprise Server 11 - Service Pack 1'''<br />
<br />
Mit dem Service Pack 1 kann der IES keine Verbindung zur Datenbank mehr herstellen, wenn ''bind-address'' mit einer IP-Adresse angegeben wurde. Das Problem kann gelöst werden, indem die ''bind-address'' Konfiguration auskommentiert wird.<br />
<br />
Ab SLES11 ist es möglich, dass in der /etc/hosts-Datei standardmäßig localhost nur auf ::1 gebunden wird. Dann wird die MySQL-Administration mit dem IES nicht funktionieren. Es muss localhost (auch) auf eine IPv4-Adresse (127.0.0.1) gebunden werden.<br />
<br />
<br />
<br />
Da der IES den transaktionssicheren Datenbanktyp ''InnoDB'' verwendet empfehlen sich Anpassungen an folgenden Opionen (<code>my.cnf</code>):<br />
<br />
Bitte wählen Sie hier Größenordnungen, die auf Ihre Hardware abgestimmt sind. Wenn Sie unsicher sind welche Setzungen zu verwenden sind, sprechen Sie uns bitte an. Wir werden Ihnen dann entsprechende Erfahrungswerte nennen können.<br />
# Größe des MySQL-Keys (Optimiert die Suche in MyISAM Daten)<br />
key_buffer = 256M<br />
bzw.<br />
key_buffer_size = 256M<br />
<br />
# MySQL-Paket-Größen gegen an, wie groß ein Statement werden darf (z.B. bei optimierten Dumps)<br />
max_allowed_packet = 256M<br />
<br />
# Für die vom System erzeugten temp. Tabellen muss ausreichend Speicherkapazität definiert werden. Hierzu ist folgende Setzung notwendig<br />
max_heap_table_size = 256M<br />
tmp_table_size = 256M<br />
<br />
# Alle Daten aller InnoDB-Datenbanken in einer Datei (<code>ibdata</code>) gespeichert werden,<br />
# kann diese initial sofort entsprechend eingestellt werden. Die stete Vergrößerung kostet unnötige Resourcen<br />
# Diese Option kann nachdem bereits Datenbanken des Typs InnoDB angelegt wurden nicht mehr verändert werden!<br />
innodb_data_file_path = ibdata1:3G:autoextend<br />
innodb_autoextend_increment = 512<br />
<br />
# Cache-Setzungen für InnoDB. Wählen Sie hier eine Poolgröße, die nicht größer als 50-80% des Speichers ist.<br />
# Ein Richtwert kann als Root-User über die gesamte Datengröße aller Datenbanken (+10-20%) ermittelt werden:<br />
# SELECT concat( round( sum( data_length + index_length) / ( 1024 * 1024 ) , 2 ) , ' MB' ) TotalSize FROM information_schema.TABLES WHERE ENGINE='InnoDB';<br />
innodb_buffer_pool_size=2G<br />
<br />
# Open-Files und Open-Tables Setzungen. Hierzu ermitteln Sie am besten die Anzahl aller Tabellen im System und wählen entsprechend<br />
# etwas höhere Werte:<br />
# SELECT count(TABLE_NAME) FROM information_schema.TABLES;<br />
# bzw.<br />
# SHOW OPEN TABLES;<br />
open_files_limit = 6000<br />
table_definition_cache = 1000<br />
table_open_cache = 1000<br />
<br />
# Weiterhin macht es unter Linux-Systemen durchaus Sinn den ''OS-Level-Cache'' zu umgehen um nicht "doppelt" zu cachen:<br />
# Liegen die InnoDB-Daten-Dateien in einem SAN, sollte laut MySQL auf diese Setzung verzichtet werden<br />
innodb_flush_method=O_DIRECT<br />
<br />
# Um im Zeichensatzbereich für jede Anwendung Klarheit darüber zu schaffen, dass sie UTF-8 als Zeichensatz verwendet, sind folgende Setzungen empfohlen<br />
# im [mysqld]-Bereich<br />
character-set-server = utf8<br />
# im [client]-Bereich<br />
default-character-set = utf8<br />
<br />
<br />
<br />
Weitere Informationen zur Optimierung finden Sie u.a. hier:<br />
http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/<br />
<noinclude><br />
[[Kategorie:Installation| 400]]<br />
[[Kategorie:Administration und Konfiguration]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Systemvoraussetzungen&diff=10228Systemvoraussetzungen2021-11-25T07:39:12Z<p>Sed: </p>
<hr />
<div>Systemvoraussetzungen für Neuinstallationen und den Betrieb des [[IES]].<br />
<br />
<div class="note"><br />
Da sich die als Voraussetzungen genannten Komponenten kontinuierlich weiterentwickeln und wir dieses Wiki nicht im gleichen Takt anpassen können, möchten wir Sie bitten vor einer Installation stets Kontakt mit uns aufzunehmen um die konkreten Anforderungen abzustimmen. Dies macht auch im Bezug auf die Skalierung der Systeme Sinn. Gerne beraten wir Sie hierzu.<br />
support@sitepark.com<br />
</div><br />
<br />
==Betriebssysteme==<br />
Wir unterstützen nur 64bit-Linux-Systeme.<br />
<br />
===Linux===<br />
<div class="note"><br />
Grundsätzlich sollten immer die neuesten Versionen eines Betriebssystem für Neuinstallationen eingesetzt werden; wir behalten uns vor, bestimmte Updates von Softwareversionen (z.B. PHP) abhängig zu machen.<br />
</div><br />
Es werden aktuell nur noch folgende Distributionen unterstützt:<br />
* Ubuntu Server in den aktuellen LTS-Versionen (z.Z. 20.04) '''[empfohlen]'''<br />
* Debian (ab Version 10)<br />
* Suse (nur in Abstimmung)<br />
* Redhat (nur in Abstimmung)<br />
<br />
Zukünftige Entwicklungen können es notwendig machen, dass Zugriff auf Online-Repositories der Linux-Distributionen besteht, um neueste oder benötige Pakete nachträglich installieren zu können; Sitepark achtet darauf, dass in den Standard-Repositories der Distributionen jeweils Pakete vorhanden sind, die die Lauffähigkeit der Software sicher stellen. Dennoch sind gerade im Bereich PHP mittelfristig Updates zu erwarten, die Alternativen erfordern. Weiterentwicklungen und Sicherheitsupdates sowie Abhängigkeiten von Open-Source-Bibliotheken erfordern hier häufig aktuelle Versionen. <br />
<br />
====Abhängigkeiten====<br />
* Apache Webserver<br />
* ImageMagick (http://www.imagemagick.org/)<br />
* MediaInfo (https://mediaarea.net/de/MediaInfo)<br />
* rsvg-convert (https://de.wikipedia.org/wiki/Librsvg)<br />
* curl, grep, egrep, netstat, ps, tail, useradd, groupadd, chown, sum, awk, head, nm, bc, sudo<br />
Die hier genannten Abhängigkeiten sind durch die aufgeführten Distributionen erfüllbar und werden teilweise bereits automatisch installiert.<br />
<br />
(''Hinweis:'' Je nach Linux-Distribution sind einzelne Tools zum Beispiel in Paketen wie <code>net-tools</code>, <code>coreutils</code>, <code>binutils</code>, <code>passwd</code> und anderen organisiert.)<br />
<br />
==Hardware==<br />
Die Leistungsstärke der Hardware ist in Abhängigkeit zum zu realisierenden Projekt individuell unterschiedlich. Die hier angegebenen Anforderungen und Empfehlungen sind als Richtwerte zu verstehen.<br />
<br />
Relevante Kenngrößen sind die CPU-Leistungsfähigkeit, die RAM-Größe, die Zugriffsgeschwindigkeit auf die Speichergeräte (Festplatten) und die Netzwerkanbindung.<br />
<br />
Der IES hält während des Betriebs im optimalen Fall alle von ihm verwaltetet Daten im Arbeitsspeicher, ebenso sollte die MySQL-Datenbank komplett dort liegen. Auslagerungen auf die Festplatte bremsen das System unnötig aus. Der IES schreibt datenbankunabhängige echte Webseiten auf die Festplatte. Diese Dateien werden vom Webserver ausgeliefert; dabei findet kein Datenbankzugriff mehr statt. Ein schnelles Schreiben der Daten für den Webserver (Festplatten-Schreib-Geschwindigkeit) ist ebenso notwendig wie ein schnelles Lesen der Daten für die Auslieferung. Wenn das Dateisystem für den die Seiten ausliefernden Webserver über das Netzwerk verfügbar gemacht wird, ist die Netzwerkgeschwindigkeit ebenfalls für ein performantes Gesamtsystem sehr wichtig.<br />
<div class="note"><br />
Die Anforderungen können sich während des Betriebs des IES je nach Anwendungsszenario und Veränderungen in der Datenmenge oder Nutzermenge verändern. Mehr Daten benötigen mehr Speicherplatz (RAM und Festplatte), höhere Nutzungsfrequenzen benötigen schnellere bzw. breitere Netzwerk-Anbindungen und CPU-Leistungsfähigkeit. Wir empfehlen den Betrieb in einer virtuellen Umgebung, damit Sie flexibel auf Änderungen der Anforderungen reagieren können.<br />
</div><br />
<br />
===Minimal-Anforderung===<br />
Prozessor P4 1GHZ 64bit, 2 GB Hauptspeicher PLUS die 1,2fache Menge der Größe der MySQL-Datenbank, 18 GB HDD, Netzwerk<br />
<br />
===Empfehlung===<br />
Mehrprozessorsystem (z.B. QuadCore) ~3GHz 64Bit, 8 GB RAM PLUS die 2fache Menge der Größe der MySQL-Datenbank, RAID-10-System mit 100 GB HDD, Gbit-Netzwerk<br />
<br />
Die Schreib- und Lesezugriffe auf die Festplatte sollten für ein performantes Arbeiten folgende Werte (im Durchschnitt) nicht unterschreiten: <strong>Lesen 300MB/sek, Schreiben 120MB/sek</strong>.<br />
<br />
==Java==<br />
===JDK - Java Development Kit===<br />
Für den Betrieb des IES wird ein Java-Development-Kit inkl. Java-Compiler benötigt. Aktuell unterstützen wir die Pakete:<br />
* JDK (Java SDK) von Oracle ab der Version 1.8<br />
* OpenJDK 8 oder neuer<br />
* IBM-Java 8 JDK<br />
<div class="note"><br />
Eine Java Runtime Environment (JRE)-Version reicht nicht aus.<br />
</div><br />
<br />
==Webserver==<br />
===Apache 2===<br />
Weitere Informationen finden Sie unter http://www.apache.org<br />
<br />
Empfohlene Module für die Integration des IES in den Apache:<br />
mod_proxy<br />
mod_proxy_balancer<br />
mod_proxy_http<br />
mod_rewrite<br />
mod_ssl<br />
mod_headers <br />
<br />
Informationen zur Konfiguration finden Sie unter [[Integration des IES in den Apache]].<br />
<br />
Für die Auslieferung von Webseiten wird PHP benötigt; der Webserver benötigt dann verschiedene PHP-Erweiterungen [[Installationsanleitung PHP]].<br />
<br />
==Datenbank==<br />
===MySQL / MariaDB===<br />
Weitere Informationen finden Sie unter<br />
* http://www.mysql.com<br />
* http://mariadb.org<br />
<br />
Engine: InnoDB<br />
MySQL in der Version 5.x<br />
MariaDB in der Version >=10.x<br />
<br />
Zur Konfiguration finden Sie unter [[Hinweise zu MySQL]] wichtige Informationen.<br />
<br />
==Mailserver==<br />
Wird ein MailPublisher verwendet empfehlen wir aus unterschiedlichen Gründen die Installation eines lokalen Mailservers (Sendmail, Postfix, QMail, etc.) auch wenn in dem entsprechendem Netzwerk ein separater Mailserver konfiguriert wurde.<br />
<br />
Gründe für den Einsatz eines lokalen Mailservers:<br />
# Die Publikation von Artikeln über den Mail-Publisher ist wesentlich schneller, da keine Netzwerk-Kommunikation notwendig ist. Gerade beim Versand von Newslettern an sehr viele Adressaten ist hier ein signifikanter Performanzvorteil zu erkennen.<br />
# Bei Problemen im lokalen Netzwerk bzw. der temp. Überlastung des Mailservers werden keine E-Mails verschickt. Ein späterer Versand würde nicht erfolgen, da der IES nicht ''spooled''. Dies ist Aufgabe eines Mailservers und würde durch einen lokalen Mailserver auf ideale Weise erfüllt.<br />
<br />
Die Konfiguration des lokalen Mailservers sollte daher bereits bei der Installation des IES erfolgen. Der IES ist grundsätzlich für die lokale E-Mail-Auslieferung konfiguriert.<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 100]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Systemvoraussetzungen&diff=10224Systemvoraussetzungen2021-11-19T13:33:01Z<p>Sed: /* Datenbank */</p>
<hr />
<div>Aktuelle Systemvoraussetzungen für Neuinstallationen und den Betrieb des [[IES]].<br />
<br />
==Betriebssysteme==<br />
Wir unterstützen nur 64bit-Linux-System.<br />
<div class="note"><br />
32-bit-Systeme und Microsoft Windows werden nicht mehr unterstützt.<br />
</div><br />
<br />
===Linux===<br />
<div class="note"><br />
Grundsätzlich sollten immer die neuesten Versionen eines Betriebssystem für Neuinstallationen eingesetzt werden; wir behalten uns vor, bestimmte Updates von Softwareversionen (z.B. PHP) abhängig zu machen.<br />
</div><br />
Es werden aktuell nur noch folgende Distributionen unterstützt:<br />
* Ubuntu Server in den aktuellen LTS-Versionen (z.Z. 16.04 und 18.04) '''[empfohlen]'''<br />
* Debian (ab Version 9, Stretch)<br />
<br />
Zukünftige Entwicklungen können es notwendig machen, dass Zugriff auf Online-Repositories der Linux-Distributionen besteht, um neueste oder benötige Pakete nachträglich installieren zu können; Sitepark achtet darauf, dass in den Standard-Repositories der Distributionen jeweils Pakete vorhanden sind, die die Lauffähigkeit der Software sicher stellen.<br />
<br />
====Abhängigkeiten====<br />
* Apache Webserver<br />
* ImageMagick (http://www.imagemagick.org/) ab Version 6<br />
* MediaInfo (https://mediaarea.net/de/MediaInfo)<br />
* rsvg-convert (https://de.wikipedia.org/wiki/Librsvg)<br />
* curl, grep, egrep, netstat, ps, tail, useradd, groupadd, chown, sum, awk, head, nm, bc, sudo<br />
Die hier genannten Abhängigkeiten sind durch die aufgeführten Distributionen erfüllbar und werden teilweise bereits automatisch installiert.<br />
<br />
(''Hinweis:'' Je nach Linux-Distribution sind einzelne Tools zum Beispiel in Paketen wie <code>net-tools</code>, <code>coreutils</code>, <code>binutils</code>, <code>passwd</code> und anderen organisiert.)<br />
<br />
==Hardware==<br />
Die Leistungsstärke der Hardware ist in Abhängigkeit zum zu realisierenden Projekt individuell unterschiedlich. Die hier angegebenen Anforderungen und Empfehlungen sind als Richtwerte zu verstehen.<br />
<br />
Relevante Kenngrößen sind die CPU-Leistungsfähigkeit, die RAM-Größe, die Zugriffsgeschwindigkeit auf die Speichergeräte (Festplatten) und die Netzwerkanbindung.<br />
<br />
Der IES hält während des Betriebs im optimalen Fall alle von ihm verwaltetet Daten im Arbeitsspeicher, ebenso sollte die MySQL-Datenbank komplett dort liegen. Auslagerungen auf die Festplatte bremsen das System unnötig aus. Der IES schreibt datenbankunabhängige echte Webseiten auf die Festplatte. Diese Dateien werden vom Webserver ausgeliefert; dabei findet kein Datenbankzugriff mehr statt. Ein schnelles Schreiben der Daten für den Webserver (Festplatten-Schreib-Geschwindigkeit) ist ebenso notwendig wie ein schnelles Lesen der Daten für die Auslieferung. Wenn das Dateisystem für den die Seiten ausliefernden Webserver über das Netzwerk verfügbar gemacht wird, ist die Netzwerkgeschwindigkeit ebenfalls für ein performantes Gesamtsystem sehr wichtig.<br />
<div class="note"><br />
Die Anforderungen können sich während des Betriebs des IES je nach Anwendungsszenario und Veränderungen in der Datenmenge oder Nutzermenge verändern. Mehr Daten benötigen mehr Speicherplatz (RAM und Festplatte), höhere Nutzungsfrequenzen benötigen schnellere bzw. breitere Netzwerk-Anbindungen und CPU-Leistungsfähigkeit. Wir empfehlen den Betrieb in einer virtuellen Umgebung, damit Sie flexibel auf Änderungen der Anforderungen reagieren können.<br />
</div><br />
<br />
===Minimal-Anforderung===<br />
Prozessor P4 1GHZ 64bit, 2 GB Hauptspeicher PLUS die 1,2fache Menge der Größe der MySQL-Datenbank, 18 GB HDD, Netzwerk<br />
<br />
===Empfehlung===<br />
Mehrprozessorsystem (z.B. QuadCore) ~3GHz 64Bit, 8 GB RAM PLUS die 2fache Menge der Größe der MySQL-Datenbank, RAID-10-System mit 100 GB HDD, Gbit-Netzwerk<br />
<br />
Die Schreib- und Lesezugriffe auf die Festplatte sollten für ein performantes Arbeiten folgende Werte (im Durchschnitt) nicht unterschreiten: <strong>Lesen 300MB/sek, Schreiben 120MB/sek</strong>.<br />
<br />
==Java==<br />
===JDK - Java Development Kit===<br />
Für den Betrieb des IES wird ein Java-Development-Kit inkl. Java-Compiler benötigt. Aktuell unterstützen wir die Pakete:<br />
* JDK (Java SDK) von Oracle ab der Version 1.8<br />
* OpenJDK 8 oder neuer<br />
* IBM-Java 8 JDK<br />
<div class="note"><br />
Eine Java Runtime Environment (JRE)-Version reicht nicht aus.<br />
</div><br />
<br />
==Webserver==<br />
===Apache 2===<br />
Weitere Informationen finden Sie unter http://www.apache.org<br />
<br />
Empfohlene Module für die Integration des IES in den Apache:<br />
mod_proxy<br />
mod_proxy_balancer<br />
mod_proxy_http<br />
mod_rewrite<br />
mod_ssl<br />
mod_headers <br />
<br />
Informationen zur Konfiguration finden Sie unter [[Integration des IES in den Apache]].<br />
<br />
Für die Auslieferung von Webseiten wird PHP benötigt; der Webserver benötigt dann verschiedene PHP-Erweiterungen [[Installationsanleitung PHP]].<br />
<br />
==Datenbank==<br />
===MySQL / MariaDB===<br />
Weitere Informationen finden Sie unter<br />
* http://www.mysql.com<br />
* http://mariadb.org<br />
<br />
Engine: InnoDB<br />
MySQL in der Version 5.x<br />
MariaDB in der Version >=10.x<br />
<br />
Zur Konfiguration finden Sie unter [[Hinweise zu MySQL]] wichtige Informationen.<br />
<br />
==Mailserver==<br />
Wird ein MailPublisher verwendet empfehlen wir aus unterschiedlichen Gründen die Installation eines lokalen Mailservers (Sendmail, Postfix, QMail, etc.) auch wenn in dem entsprechendem Netzwerk ein separater Mailserver konfiguriert wurde.<br />
<br />
Gründe für den Einsatz eines lokalen Mailservers:<br />
# Die Publikation von Artikeln über den Mail-Publisher ist wesentlich schneller, da keine Netzwerk-Kommunikation notwendig ist. Gerade beim Versand von Newslettern an sehr viele Adressaten ist hier ein signifikanter Performanzvorteil zu erkennen.<br />
# Bei Problemen im lokalen Netzwerk bzw. der temp. Überlastung des Mailservers werden keine E-Mails verschickt. Ein späterer Versand würde nicht erfolgen, da der IES nicht ''spooled''. Dies ist Aufgabe eines Mailservers und würde durch einen lokalen Mailserver auf ideale Weise erfüllt.<br />
<br />
Die Konfiguration des lokalen Mailservers sollte daher bereits bei der Installation des IES erfolgen. Der IES ist grundsätzlich für die lokale E-Mail-Auslieferung konfiguriert.<br />
<br />
<noinclude><br />
[[Kategorie:Installation| 100]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=IES-Webnode&diff=10197IES-Webnode2021-10-25T06:56:52Z<p>Sed: /* Status abfragen */</p>
<hr />
<div>''Ab IES Version 2.5 verfügbar''<br />
<br />
Der IES-Webnode ist ein Java-Applikations-Server auf Basis des [http://www.eclipse.org/jetty/ Jetty 9]. Er wird auf Web-Servern installiert, die vom IES generierte Webseiten ausliefern.<br />
Innerhalb des IES-Webnode werden Module installiert, die Funktionalitäten für die Webseite bereite stellen (Z.B. Volltextsuche).<br />
<br />
<br />
<br />
==Systemvoraussetzungen==<br />
* Java Platform, Standard Edition '''JDK''' - Version 7<br />
* Der IES muss den Server auf dem der IES-Webnode installiert wird per HTTP(S) erreichen können.<br />
* Hardware-Anforderungen sind je nach Anwendungsfall zu prüfen.<br />
<br />
==Installation==<br />
===Installation unter Linux===<br />
<br />
Die Installations-Datei für den IES-Webnode wird mit dem IES mitgeliefert. In dem Verzeichnis IES_HOME/bin liegt die Datei<br />
ies-webnode-server.bin<br />
Diese muss auf das Linux-System kopiert werden, auf dem sich die Webseite befindet, die den IES-Webnode benötigt. Für die Installation vergeben Sie noch die nötigen Ausführungsrechte und führen das Installations-Script anschließend aus:<br />
chmod a+x ies-webnode-server.bin<br />
./ies-webnode-server.bin<br />
Befolgen Sie die Anweisungen.<br />
<br />
Das Installations-Script führt folgende Schritte aus:<br />
* Es wird einen Nutzer und eine Gruppe <code>ies-webnode</code> angelegt<br />
* Es wird ein init-Script unter <code>/etc/init.d/ies-webnode</code> abgelegt.<br />
* Es wird eine Konfigurations-Datei für das init-Script angelegt:<br />
:* bei systemd-Systemen unter /etc/sysconfig/ies-webnode<br />
:* bei init-v-Systemen unter /etc/default/ies-webnode<br />
:In dieser Datei können die Start-Optionen für den IES-Webnode angepasst werden (z.B. <code>JAVA_OPTIONS="-server -Xms512m -Xmx2048m -Xss8m"</code>).<br />
* Der Server wird unterhalb des angegebenen Installations-Verzeichnisses (Standardverzeichnis: <code>/srv/sitepark/ies-webnode</code>) installiert.<br />
<br />
===Apache Integration===<br />
<source lang="apache"><br />
<VirtualHost *:443><br />
<br />
...<br />
<br />
ProxyRequests Off<br />
ProxyPreserveHost On<br />
ProxyTimeout 3600<br />
<Proxy balancer://ies-webnode-balancer><br />
Order Deny,Allow<br />
Allow from All<br />
BalancerMember http://localhost:8381<br />
</Proxy><br />
ProxyPassMatch ^(/ies-webnode/.*)$ balancer://ies-webnode-balancer$1<br />
<br />
...<br />
<br />
</VirtualHost><br />
</source><br />
<br />
===IES-Konfiguration===<br />
Wenn der IES-Webnode auf dem Webserver installiert ist, muss die Verbindung für den IES über die Administrations-Oberfläche konfiguriert werden. Bei den Servereinstellungen erscheint der Menüpunkt 'Webnode'. Erstellen Sie hier einen neuen Eintrag und vergeben einen sprechenden Namen. die ''Basis URL des Webnodes'' ist der Host (oder IP-Adress) des Server, auf dem der Webnode installiert wurde. Sollte keine Apache-Einbindung konfiguriert sein, muss hier der Port (default 8381) ergänzt werden (Beispiel: http://my.webnode.de:8381/). Das Passwort wurde bei der Installation automatisch vergeben und befindet sich in der Datei ''[WEBNODE_HOME]/config/realm.properties'' (Beispiel: "api: 123456789abcdef, api" => Login 'api' Passwd: '123456789abcdef')<br />
<br />
====/etc/defaults/ies-webnode====<br />
<br />
=====IES_JAVA_OPTIONS=====<br />
Java Optionen die mit -D angegeben werden<br />
<br />
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)<br />
com.sitepark.net.HttpClient.disableChunked=true<br />
<br />
==Updates==<br />
Der IES-Webnode ist aus IES-Sicht ein IES-Modul und wird auch so wie alle anderen IES-Module über die IES-Admin Oberfläche aktualisiert. Die Update-Dateien werden vom IES-Admin vom zentralen Update-Server von Sitepark herunter geladen und auf die IES-Webnodes verteilt.<br />
Das Update auf den einzelnen IES-Webnodes muss dann allerdings manuell ausgeführt werden. Ob ein Update auf den IES-Webnodes zur Ausführung bereit steht kann innerhalb des IES-Admin im Bereich 'Webnode' nachgesehen werden.<br />
<br />
===Linux===<br />
Steht ein Update die IES-Webnode zur Verfügung kann das Update wie folgt ausgeführt werden<br />
/etc/init.d/ies-webnode stop<br />
/etc/init.d/ies-webnode update<br />
/etc/init.d/ies-webnode start<br />
<br />
==Status abfragen==<br />
Der Webnode kann einen Status-Bericht zum eigenen Prozess und zu den verwalteten Publishern liefern. Hierzu werden Anfragen und Antworten per JSON generiert. Der Kommunikationsaufruf ist dabei i.d.R. folgender:<br />
#Aufruf des Publisher-Status in IES-Admin im Browser -> HTTPS-Request vom Nutzer an den IES<br />
#IES stellt Anfrage an den Webnode des Publishers -> HTTPS-Request an den Webserver auf dem der Webnode installiert wurde (ggf. auch direkt auf Port 8381)<br />
#Webserver leitet Anfrage via Proxy-Request an den lokalen Webnode-Prozess -> HTTP-Request an Webnode<br />
#Webnode erstellt HTTPS-Anfrage an ein PHP-Script im Publisher -> HTTPS-Request an den lokalen Webserver<br />
<br />
Der Python-Aufruf am Ende der Aufrufe (s.u.) sorgt für eine lesbare Darstellung der JSON-Daten. Alternativ kann auch <code>jq</code> verwendet werden.<br />
<br />
<div class="note"><br />
Ein aktuell typisches Problem ist die Problematik von Apache 2.4 und '''PHP-FPM (Fast.CGI)'''. Hier ist Chunked-Transfer-Encoding nicht möglich. Dies muss in den Setzungen des Webnode über<br />
-Dcom.sitepark.net.HttpClient.disableChunked=true<br />
in den Java-Optionen deaktiviert werden.<br />
</div><br />
<br />
===Webnode-Status===<br />
Den Status des Webnode kann man auf dem lokalen System über folgenden <code>curl</code>-Aufruf abfragen:<br />
curl -s "http://api:'''XXX'''@localhost:8381/ies-webnode/admin/rpc/?rpcAction=Server&rpcMethod=getStatus" | python -m json.tool<br />
Die Authentifizierung erfolgt über die URL. Der Login ist <code>api</code>. Dass Passwort ist Ihr API-Key.<br />
Diesen können Sie der Datei <code>realm-properties</code> im Installationsverzeichnis des Webnode entnehmen.<br />
<br />
===Publisher-Status===<br />
Aufruf des Webnodes durch den IES (im Fall einer lokalen Installation):<br />
curl -s "http://api:'''XXX'''@localhost:8381/ies-webnode/admin/rpc/?rpcAction=WebChannel&rpcMethod=getStatus&protocol=https&host='''hostname'''" | python -m json.tool<br />
Die Authentifizierung erfolgt über die URL. Der Login ist <code>api</code>. Dass Passwort ist Ihr API-Key.<br />
<br />
URL für Request des Webnodes auf den Publisher:<br />
curl -k "https://api:'''XXX'''@'''hostname'''/WEB-IES/sitekit-module/php/SP/SiteKit/Rpc/Server/Port.php?rpcAction=SP\\SiteKit\\Rpc\\WebChannel\\Info&rpcMethod=getInfo" | python -m json.tool<br />
<br />
Der Parameter Host ist der Domain-Name des Publisher.<br />
<br />
<div class="note">Zum Debuggen von Problemen kann es hilfreich sein die HTTPS-Konfiguration temp. abzustellen (macro siteNoSSL statt site) und das zippen der Daten (mod_deflate) zu deaktivieren. Anschließend kann die Kommunikation mit <code>ngrep</code> untersucht werden.</div><br />
<br />
<br />
<noinclude><br />
[[Kategorie:Administration| 500]]<br />
[[Category:Module]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=Changelog_TCPDF&diff=10161Changelog TCPDF2021-09-03T13:39:43Z<p>Sed: </p>
<hr />
<div><div class="noautonum">__TOC__</div><br />
<div class="note"><br />
'''Update der Version 6.0'''<br><br />
Die neue Major-Version von TCPDF, sofern benötigt, erwartet ggf. Anpassungen in einzelnen Templates (z.B. NewsDesk-Ausgaben mit PDF-Ansicht):<br />
<br />
Methode pdf->AliasNbPages() zu pdf->getAliasNbPages() ändern<br />
Include von Sprache entfernen: require_once($_SERVER["DOCUMENT_ROOT"].'/WEB-IES/tcpdf/config/lang/eng.php');<br />
</div><br />
<br />
==Changelog==<br />
===6.0 (31.08.2021)===<br />
{|<br />
| style="vertical-align:top;" | {{add}} || Update auf Tcpdf 6.4.2<br />
|}<br />
===Nächstes übernommenes Release===<br />
''Update von TCPDF''<br />
{|<br />
| style="vertical-align:top;" | {{fix}} || TCPDF-Modul ist in der falschen Module-Gruppe<br />
|}</div>Sedhttps://wiki.sitepark.com/index.php?title=InfoSite_5_-_Anpassungen&diff=10159InfoSite 5 - Anpassungen2021-09-03T12:35:23Z<p>Sed: /* Notwendige Anker für die Initialisierung von InfoSite5 */</p>
<hr />
<div>__TOC__<br />
==Beschreibung==<br />
InfoSite5 bietet unterschiedliche Möglichkeiten das Verhalten für Redakteure zu beeinflussen. Hier wird auf häufig verwendete Anpassungen eingegangen und entsprechende Beispiele präsentiert.<br />
<br />
==Ansicht der Publikationsbereiche==<br />
Publikationsbereiche können Redakteuren über Rollen differenziert zugewiesen werden. Manchmal ist es jedoch auch notwendig ''technisch'' den Zugriff zwar zu erlauben, aber den Publikationsbereich dennoch auszublenden. Das kann Verwendung finden, wenn z.B. ein bestimmter Publikationsbereich in einem Artikelpool gar nicht verwendet werden kann/darf.<br />
<br />
Auch die Sortierung der Publikationsbereiche kann durch den Administrator beeinflusst werden.<br />
<br />
InfoSite erzeugt zur Darstellung aller Publikationsbereiche eine Collection über alle Publisher, auf die der aktuelle Redakteur Rechte hat. Für diese Collection gibt es im IES-2 die Möglichkeit ein eigenes Template ausführen zulassen, in dem die Liste manipuliert werden kann.<br />
Dazu legt man in der Template-Verwaltung ein Template mit den folgenden Ankern an:<br />
gui.module.publicationstatefilter<br />
Es wird eine Collection mit dem Namen <code>_publicationstates</code> übergeben und erwartet.<br />
<br />
Das Template könnte, um die beiden unterschiedlichen Objekttypen korrekt zu verarbeiten folgende Struktur haben:<br />
<source lang="xml"><br />
<%-- Publikationsbereiche nach Namen sortieren --%><br />
<sp:sort name="_publicationstates" collection="_publicationstates" keys="name"/><br />
<sp:filter name="_publicationstates" collection="_publicationstates" attribute="id.attributes.hideInInfosite5GUI" filter="true" invert="true"/><br />
</source><br />
In diesem Fall werden die Publisher nach Name sortiert und alle Publisher, die in der Konfiguration ein Attribute <code>hideInInfosite5GUI</code> mit dem Wert <code>true</code> haben, werden ausgenommen. Natürlich kann hier eine beliebige Logik implementiert werden.<br />
<br />
<br />
==Ansicht der ArtikelListen in dem Popup von spt:link ==<br />
Die Liste der Elemente, die im Dialog des <code>spt:link</code> Tags auf der rechten Seite angezeigt werden, kann über einen Slot nachträglich gefiltert werden. Das Slot Template muss den Anker:<br />
<code>gui.module.linkListFilter</code> <br />
besitzen. Es kann sowohl innerhalb des aktuellen Mandanten als auch innerhalb eines Moduls angelegt sein, welches den Tag verwendet. Sollte der Infositer-5 Tag innerhalb eines anderen Moduls verwendet werden, muss vor dem Aufruf des Tags die Variable <code>spt_module</code> mit der Id des jeweiligen Moduls gesetzt werden.<br />
<br />
Innerhalb des Slot-Templates kann auf die Artikelliste <code>elementList</code> zugegriffen werden, um diese zu verändern oder Artikel heraus zu filtern. <br />
<br />
Es gibt zusätzlich die Möglichkeit, die heraus gefilterten Artikel unterhalb der regulären Liste ausgeben zu lassen. Dazu müssen die Artikel lediglich in die Liste <code>rejectedEementList</code> gesichert werden.<br />
<br />
Beispiel:<br />
<source lang="xml"><br />
<%-- filtert alle Elemente heraus, auf die mit dem Namen 'sp_link' vom Typ systemlink verknüpft wird. --%><br />
<sp:filter name="rejectedElementList" collection="elementList" <br />
attribute="referrerLinks('sp_link.systemlink')" filter="" invert="true" /><br />
<sp:sort name="rejectedElementList" collection="outFilteredList" keys="name"/><br />
<sp:filter name="elementList" collection="elementList" <br />
attribute="referrerLinks('sp_link.systemlink')" filter="" invert="false" /><br />
</source><br />
<br />
<br />
==Optionale Attribute für InfoSite==<br />
Im IES-Admin können sowohl für einen Publisher, als auch einen Mandanten optionale Attribute definiert werden. Diese stehen in dem Feld ''Attribute'' jeweils in einer eigenen Zeile und haben folgende Syntax: <code>name=value</code><br />
<br />
===Publisher===<br />
{| class="prettytable sortable"<br />
|- class="hintergrundfarbe1"<br />
! Name || Wert<br />
|-<br />
| <code>hideInInfosite5GUI</code><br />
| <code>true</code> oder <code>false</code><br />
|-<br />
| <code>sp_vv_mode</code><br />
| Ausgabekanal im Zusammenhang mit CityGov3<br />
|}<br />
<br />
===Mandant===<br />
{| class="prettytable sortable"<br />
|- class="hintergrundfarbe1"<br />
! Name || Wert<br />
|-<br />
| <code>ignoreWorklistNotification</code><br />
| <code>true</code> oder <code>false</code><br />
|-<br />
| <code>cmsURL</code><br />
| Optionale Konfiguration der URL vom CMS (z.B. bei https benötigt)<br />
|}<br />
<br />
<br />
<br />
==Anker für partielle Anpassungen von InfoSite5==<br />
In den InfoSite5-Templates mit den folgenden Ankern können ebenfalls auf die beschriebene Weise Templates eingebunden werden. Diese können dann Code von InfoSite5 ergänzen oder verändern. Die eigenen Templates müssen dann den hier angegebenen Anker haben. Einzelne ''Slots'' unterstützen auch Anpassungen für Mehrmandanten-Systeme. Hierfür werden die Anpassungen nur im sog. Master-Client vorgenommen. Alle anderen Mandanten werden in der Konfiguration wie folgt erweitert:<br />
<br />
Bei den Setzungen des Mandanten wird der Anker des Master-Client in der Variable <code>system.server.settings.masterClient</code> konfiguriert. Lokale Anpassungen sind jedoch immer höher priorisiert.<br />
<br />
<div class="note">Achtung: In einer neuen InfoSite-Version werden diese Anker u.U. nicht mehr unterstützt. Bitte halten Sie bei Anpassungen stets Rücksprache mit dem Support</div><br />
<br />
{| class="prettytable sortable"<br />
|- class="hintergrundfarbe1"<br />
! Anker des Templates || Anker für den Slot || Unterstützung eines ''Master-Client''<br />
|-<br />
| <code>gui.container.infosite.media</code><br />
| <code>standard.container.media</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.media.registration</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.media.release</code><br />
| <code>gui.release.addon</code><br />
<code>gui.release.state.addon</code><br />
| X<br />
|-<br />
| <code>gui.container.infosite.standard</code><br />
| <code>standard.container.keywords</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.all</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.media</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.page</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.pageAndMedia</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.pageAndResource</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.pageAutoName</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.container.infosite.standard.release</code><br />
| <code>gui.release.addon</code><br />
<code>gui.release.state.addon</code><br />
| X<br />
|-<br />
| <code>gui.container.infosite.standard.resource</code><br />
| <code>gui.profile.all</code><br />
|<br />
|-<br />
| <code>gui.layout.list.container</code><br />
| <code>gui.module.workflow.message</code><br />
|X<br />
|-<br />
| <code>gui.layout.one.container</code><br />
| <code>gui.module.workflow.message</code><br />
|X<br />
|-<br />
| <code>gui.layout.tree.container</code><br />
| <code>gui.module.workflow.message</code><br />
|X<br />
|-<br />
| <code>gui.login.xml</code><br />
| <code>login.xml</code><br />
|<br />
|-<br />
| <code>gui.manager</code><br />
| <code>gui.configuration.infosite5</code><br />
|<br />
|-<br />
| <code>gui.module.administration.sessions</code><br />
| <code>module.administration.sessions.filter</code><br />
|<br />
|-<br />
| <code>gui.module.information.list</code><br />
| <code>gui.elementfilter</code><br />
<code>module.information.list.output</code><br />
|X<br />
|-<br />
| <code>gui.module.information.toolbar</code><br />
| <code>configuration.language</code><br />
|<br />
|-<br />
| <code>gui.module.informationpool.properties</code><br />
| <code>gui.informationpool.properties</code><br />
|<br />
|-<br />
| <code>gui.module.monitoring.search.output</code><br />
| <code>monitoring.search.output.<nowiki>[csv|xml].[user|template|role|information]</nowiki></code><br />
|<br />
|-<br />
| <code>gui.module.path</code><br />
| <code>gui.elementfilter</code><br />
|<br />
|-<br />
| <code>gui.module.user.properties</code><br />
| <code>gui.user.template.slot.base</code><br />
<code>gui.user.properties.locales</code><br><br />
<code>gui.user.template</code><br />
|<br />
|-<br />
| <code>gui.module.userpool.properties</code><br />
| <code>gui.userpool.properties</code><br />
|<br />
|-<br />
| <code>gui.module.welcome</code><br />
| <code>gui.module.welcome.message</code><br />
<code>gui.module.welcome.publisher</code><br />
|<br />
|-<br />
| <code>gui.module.welcome.message</code><br />
| <code>gui.module.welcome.message.extended</code><br />
|<br />
|-<br />
| <code>gui.notifier</code><br />
| <code>gui.notifier.message</code><br />
|<br />
|-<br />
| <code>gui.workflow.template</code><br />
| <code>gui.template.addon.metadata</code><br />
|<br />
|-<br />
| <code>modules.smarteditor</code><br />
| <code>Filter und Styles</code><br />
|<br />
|-<br />
| <code>user.container.registration</code><br />
| <code>user.container.editing</code><br />
|<br />
|-<br />
| <code>gui.dialog.dragdrop</code><br />
| <code>gui.dialog.copy.slot</code><br />
|<br />
|-<br />
| <code>gui.module.htmlhead</code><br />
| <code>gui.css.individual</code><br />
|<br />
|}<br />
<br />
==Templates für eigene XML- bzw. CSV-Ausgaben bei der Suche in InfoSite 5==<br />
===monitoring.search.output.xml.user===<br />
<source lang="xml"><br />
<sp:set name="_ignore"><sp:set name="_output"><result type="<sp:print name="t"/>"><% out.print("\r\n"); %></sp:set><br />
<sp:loop collection="result" item="it"><br />
<sp:if condition="isNull(${monitoring_onlyMy}) || ${system.user} == ${it.changedBy}"><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if> <item><% out.print("\r\n"); %></sp:set><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if> <name><sp:print name="it.name" encoding="xml"/></name><% out.print("\r\n"); %></sp:set><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if> <id><sp:print name="it.id.withoutType" encoding="xml"/></id><% out.print("\r\n"); %></sp:set><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if> <type><sp:print name="it.id.type" encoding="xml"/></type><% out.print("\r\n"); %></sp:set><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if> <parent><sp:loop collection="it.parent.path" item="jt">/ <sp:print name="jt.name" encoding="xml"/> </sp:loop></parent><% out.print("\r\n"); %></sp:set><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if> </item><% out.print("\r\n"); %></sp:set><br />
</sp:if><br />
</sp:loop><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if></result><% out.print("\r\n"); %></sp:set><br />
<br />
</sp:set><xml><sp:print name="_output"/></xml><br />
</source><br />
<br />
===monitoring.search.output.csv.user===<br />
<source lang="xml"><br />
<sp:set name="_ignore"><br />
<sp:loop collection="result" item="it"><br />
<sp:if condition="isNull(${monitoring_onlyMy}) || ${system.user} == ${it.changedBy}"><br />
<sp:set name="_output"><sp:if name="_output"><sp:print name="_output"/></sp:if>"<sp:print name="it.name"/>","<sp:print name="it.id.withoutType"/>","<sp:print name="it.id.type"/>","<sp:loop collection="it.parent.path" item="jt">/ <sp:print name="jt.name"/> </sp:loop>"<% out.print("\r\n"); %></sp:set><br />
</sp:if><br />
</sp:loop><br />
<br />
</sp:set><sp:print name="_output"/><br />
</source><br />
<br />
==Notwendige Anker für die Initialisierung von InfoSite5==<br />
Folgende Anker werden für die Initialisierung von InfoSite5 benötigt:<br />
<br />
{| class="prettytable sortable"<br />
|- class="hintergrundfarbe1"<br />
! Anker || Funktion || Bemerkung<br />
|-<br />
| <code>gui.informations</code><br />
| Einstiegspool für Redakteure<br />
| Der Artikelpool, der diesen Anker hat wird von InfoSite5 implizit als Einstiegspool für Redakteure interpretiert.<br />
Ohne einen Pool mit diesem Anker ist Redakteuren das Arbeiten nicht möglich.<br />
|-<br />
| <code>standard.container.editing</code><br />
| Einstiegspool für redaktionelle Templates<br />
| Damit Templatepools in der Artikelpool-Konfiguration ausgewählt werden können, müssen diese unterhalb eines Pools mit diesem Anker liegen.<br />
Ohne einen Pool mit diesem Anker ist die Konfiguration von Artikelspools nur bedingt möglich.<br />
|-<br />
| <code>admin.user.pool</code><br>ab Version 5.17<br><code>ies.usrp.admin</code><br />
| Einstiegspool für den Wartungszugang von InfoSite<br />
| Nutzer in diesem Pool werden beim Zugang über den Wartungs-Account auf der Startseite zum weiteren Login angezeigt.<br />
|-<br />
| <code>system.root.pool.<nowiki>[user|template|role|information]</nowiki></code><br />
| Rootpools von InfoSite<br />
| Diese Pools dürfen nicht gelöscht werden. Neben dem Anker ist auch die ID von besonderer Bedeutung.<br />
|}<br />
<br />
==Optionaler Anker für InfoSite6==<br />
<br />
{| class="prettytable sortable"<br />
|- class="hintergrundfarbe1"<br />
! Anker || Funktion || Bemerkung<br />
|-<br />
| <code>infosite6.informationPoolProperties</code><br />
| Optionales Templates für Artikelpools (vor Sitekit)<br />
| Ein Template mit diesem Anker wird in der Artikelpool-Bearbeitung als weiterer Abschnitt eingeblendet und erlaubt weitere Eingaben. Diese Funktion ist mit der Sitekit-Technik nicht mehr notwendig und wird dort auch nicht mehr unterstützt.<br />
|}<br />
<br />
<noinclude><br />
[[Category:InfoSite5]]<br />
[[Category:Funktionsbeschreibungen]]<br />
[[Category:Qualität_des_Codes_prüfen]]<br />
</noinclude></div>Sedhttps://wiki.sitepark.com/index.php?title=IES_Konfiguration&diff=10096IES Konfiguration2021-05-14T08:28:04Z<p>Sed: /* Systeme unterscheiden (Test- oder Schulungssysteme) */</p>
<hr />
<div>__TOC__<br />
<br />
=IES-Konfiguration=<br />
Der IES ist ein Java-Prozess, dessen Start-Parameter in der Datei <code>/etc/sitepark/sitepark.conf</code> konfiguriert wird. Hier werden Angaben zum Speicherverbrauch o.ä. vorgenommen. Details hierzu finden Sie [[Administration und Konfiguration unter Linux|hier]] für Linux.<br />
<br />
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<br />
iesadmin reload-config<br />
bzw. der entsprechende Button im IESAdmin-Webinterface laden diese Datei neu ein.<br />
<br />
==Beispiel einer <code>ies-server.xml</code>==<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<ies-server><br />
<br />
<!-- System-Bundles bilden typische Kombinationen von Modulen ab --><br />
<bundles><br />
<bundle>cms</bundle><br />
</bundles><br />
<br />
<!-- Globale Parameter --><br />
<settings><br />
<property name="dataDir" value="/srv/sitepark/data" /><br />
<property name="sessionTimeout" value="120" /><br />
<property name="maxRepositoryVersions" value="50" /><br />
<property name="maxObjectCacheSize" value="10000" /><br />
<property name="objectCacheLifetime" value="43200" /><br />
<property name="maxLockTime" value="10" /><br />
<property name="defaultLocale" value="de_DE" /><br />
<property name="privateCryptKey" value="963249068513792696390639" /><br />
<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" /><br />
<property name="bindbScaleSteps" value="40,100,500,h40" /><br />
<property name="iesadmin.update.url" value="http://user:password@ies.sitepark.com/updater/" /><br />
<property name="http.proxyHost" value="" /><br />
<property name="http.proxyPort" value="" /><br />
<property name="https.proxyHost" value="" /><br />
<property name="https.proxyPort" value="" /><br />
<property name="http.nonProxyHosts" value="localhost,127.0.0.1" /><br />
</settings><br />
<br />
<!-- Zugriffe auf IESAdmin --><br />
<security><br />
<user login="manager" password="b29fa62a183463dd119bf22cde912b9f" roles="management" /><br />
</security><br />
<br />
<!-- Konfiguration des Logging --><br />
<logging><br />
<appender name="IES" type="rolling-file" file="/srv/sitepark/ies.log" append="true" maxFileSize="100MB" maxBackups="1" /><br />
<logger name="com.sitepark.ies" level="TRACE" appender="IES" /><br />
<logger name="com.sitepark.ies.management.servlet" level="ERROR" appender="IES" /><br />
<logger name="com.sitepark.imgfile" level="ERROR" appender="IES" /><br />
<logger name="net.sf.jmimemagic" level="ERROR" appender="IES" /><br />
</logging><br />
<br />
<!-- Datenbank- und Mandanten-Konfigurationen und Root-Zugänge der jeweiligen Datenbank-Server --><br />
<persistence><br />
<admin type="1" host="localhost" user="root" password="secret" /><br />
<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"><br />
<client id="1" anchor="testclient" name="Testsystem" webapps="infosite," disabled="false"><br />
<attributes /><br />
<ref element="publisher" id="1" type="file" /><br />
<ref element="publisher" id="2" type="file" /><br />
<ref element="publisher" id="3" type="database" /><br />
</client><br />
</db><br />
<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" /><br />
</persistence><br />
<br />
<!-- Konfiguration der IES Dienste --><br />
<services><br />
<service id="lock-scheduler" status="stop" /><br />
<service id="publisher" /><br />
<service id="link" /><br />
<service id="ldap" /><br />
<service id="email-validator" /><br />
<service id="compiler" /><br />
<service id="report" /><br />
<service id="article-observer" /><br />
<service id="counter" disabled="false" /><br />
<service id="linktree" /><br />
<service id="r" /><br />
<service id="task" /><br />
<service id="indexer"><br />
<br />
<!-- Konfiguration von Indices werden innerhalb des Service abgelegt --><br />
<index id="1" anchor="testindex" client="100010100000000000-0" name="testindex" indexdir="/srv/sitepark/data/indexes/1-1/testindex"><br />
<field name="sp_headline" default="" type="text" boost="2.0" store="true" /><br />
</index><br />
<br />
</service><br />
<service id="ldap-import" /><br />
<service id="observer" /><br />
<service id="dependencies" disabled="false" /><br />
</services><br />
<br />
<!-- Optionale Konfiguration einer LDAP Anbindung --><br />
<ldap /><br />
<br />
<!-- Konfiguration der Publisher (jeder Publisher-Typ wird in einem separatem Bereich konfiguriert) --><br />
<publisher><br />
<file><br />
<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&#xA;https://www.domain.loc&#xA;http://domain.loc" anchor="www"><br />
<attributes /><br />
</file-publisher><br />
<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&#xA;http://preview.domain.loc:80&#xA;http://preview.domain.loc:80/irgendwo/"><br />
<attributes /><br />
</file-publisher><br />
</file><br />
<database><br />
<database-publisher id="3" name="DB" database="2"><br />
<attributes /><br />
</database-publisher><br />
</database><br />
</publisher><br />
<br />
<!-- Konfiguration der Module --><br />
<modules><br />
<module id="ies" disabled="false" /><br />
<module id="infosite" disabled="false" /><br />
</modules><br />
<br />
</ies-server><br />
</source><br />
<br />
==Erweiterte Datenbank-Parameter==<br />
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:<br />
;max-pool-size="20":Konfiguration des Pools für parallelen Datenbank-Verbindungen<br />
: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)''<br />
;blocking-timeout-millis="30000":Konfiguration der Dauer in Millisekunden, die der IES maximal auf eine Datenbank-Verbindungen des Pools wartet<br />
:Auch dieser Wert muss i.d.R. nicht verändert werden. ''(Default: 30000)''<br />
;track-statements="false":Erweitertes Logging bei Datenbank-Problemen<br />
:Dieser Wert wird aktuell noch nicht verwendet. ''(Default: false)''<br />
Diese müssen bei Bedarf direkt in der Konfiguration der jeweiligen Datenbankverbindung angegeben werden. Danach bleiben diese auch bei Änderungen im IESAdmin erhalten.<br />
<br />
==IES-Backupverzeichnis (<code>$SITEPARK_BACKUP</code>)==<br />
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 [[:Kategorie:Backup|hier]].<br />
<br />
Über das Property '''<code>backupDir</code>''' kann das Backupverzeichnis des IES geändert werden. Ist keine Konfiguration vorhanden, so wird der Ordner <code>$SITEPARK_HOME/backup</code> angenommen. Stellen sicher, dass der IES wieder vollen Zugriff auf den Ordner erhält (chown -R ies.ies).<br />
<br />
==IES-Datenverzeichnis (<code>$SITEPARK_DATA</code>)==<br />
Im Datenverzeichnis des IES werden alle Daten der Module und die <code>BinDB</code> mit allen Medien gespeichert.<br />
<br />
Über das Property '''<code>dataDir</code>''' 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).<br />
<br />
==Zugriff auf den IES per Ilink, wenn dieser per htaccess geschützt ist==<br />
In diesem Fall muss der Browser via JavaScript entsprechende Header setzen. Dazu sind im Webserver folgende HEADER-Setzungen zu machen:<br />
Header set Access-Control-Allow-Origin "https://www.website.de"<br />
Header set Access-Control-Allow-Methods "POST, GET, OPTIONS"<br />
Header set Access-Control-Allow-Credentials true<br />
<br />
Und in der IES-Konfiguration ist ein manueller Eintrag notwendig:<br />
<property name="host.withCredentials" value="true" /><br />
<br />
==Systeme unterscheiden (Test- oder Schulungssysteme)==<br />
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:<br />
* Label<br />
* Farbe (bekannter Name (z.B. "white") oder Farbcode (z.B. "#FFFFFF")<br />
<br />
In der IES-Konfiguration (XML-Encoded) sind das z.B. wie folgt aus:<br />
<source lang="xml"><br />
<property name="systemIdentification" value="{label:&quot;Testsystem&quot;,color:&quot;#fc9c34&quot;}" /><br />
</source><br />
<br />
Um im Mandanten diese globale Einstellung zu überschreiben kann in IES-Admin bei den Attributen des Mandaten folgende Setzung vorgenommen werden:<br />
<source lang="text"><br />
systemIdentification={label:"Demosystem"}<br />
</source><br />
oder<br />
<source lang="text"><br />
systemIdentification={label:"Schulungssystem", color="green"}<br />
</source><br />
oder um die globale Setzung zurückzunehmen<br />
<source lang="text"><br />
systemIdentification={}<br />
</source><br />
<br />
==Session-Steuerung==<br />
Das System erlaubt die freie Konfiguration der Sitzungsdauer für Redakteure und WebAccounts.<br />
Die Sitzungsdauer für WebSessions und redaktionelle Arbeiten im CMS ist in Minuten anzugeben.<br />
Hier werden die Standard-Setzungen angezeigt (2 Stunden, 10 Tage):<br />
<br />
<source lang="xml"><br />
<property name="sessionTimeout" value="120" /><br />
<property name="webSessionTimeout" value="14400" /><br />
</source><br />
<br />
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).<br />
<br />
==Passwort-Steuerung==<br />
Über verschiedene, optionale Attribute in der Konfiguration kann die Verwaltung von Passwörtern gesteuert werden.<br />
<br />
<source lang="xml"><br />
<property name="password.expirationPeriod" value="90" /><br />
<property name="password.minLength" value="4" /><br />
<property name="password.regexp" value="^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&amp;+=])(?=\S+$).{8,}$" /><br />
<property name="password.algorithm" value="scrypt" /><br />
<property name="password.bcrypt.params" value="{cost=10}" /><br />
<property name="password.scrypt.params" value="{N=16384,r=8,p=1}" /><br />
<property name="password.pbkdf2.params" value="{iterations=1000,keyLength=512}" /><br />
</source><br />
<br />
===Gültigkeitsdauer===<br />
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):<br />
password.expirationPeriod<br />
<br />
===Minimale Passwort-Länge===<br />
Anzahl der Zeichen, die ein Passwort mind. lang sein soll.<br />
password.minLength<br />
<br />
===Regulärer Ausdruck als Regel für Passwörter===<br />
Ü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.<br />
password.regexp<br />
<br />
Beispiel:<br />
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$<br />
<br />
^ # Beginn des Passwortes<br />
(?=.*[0-9]) # min. eine Zahl<br />
(?=.*[a-z]) # mind. ein kleingeschriebener Buchstabe<br />
(?=.*[A-Z]) # mind. ein großgeschriebener Buchstabe<br />
(?=.*[@#$%^&+=]) # mind. eins dieser Sonderzeichen "@#$%^&+="<br />
(?=\S+$) # Leerzeichen sind nicht erlaubt<br />
.{8,} # mind. 8 Zeichen<br />
$ # Ende des Passwortes<br />
<br />
<div class="note">Bitte beachten Sie die Angaben in der XML-Datei entsprechend zu encoden (Beispiel: &amp; -&gt; &amp;amp;)</div><br />
<br />
===Algorithmus zur Verschlüsselung===<br />
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).<br />
<br />
* PBKDF2<br />
* scrypt<br />
* bcrypt<br />
* md5<br />
* sha (1, 256, 384, 512)<br />
* unixcrypt<br />
<br />
password.algorithm<br />
<br />
===Steuerung des Algorithmus zur der Verschlüsselung===<br />
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.<br />
password.bcrypt.params<br />
Default: "{cost=10}"<br />
<br />
password.scrypt.params<br />
Default: "{N=16384,r=8,p=1}", auf virtuellen Servern u.U. wie folgt zu reduzieren: "{N=1024, r=1, p=1}"<br />
<br />
password.pbkdf2.params<br />
Default: "{iterations=1000,keyLength=512}"<br />
<br />
=sitepark.conf=<br />
<br />
==IES_OPTS==<br />
Java Optionen die mit -D angegeben werden<br />
<br />
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)<br />
com.sitepark.net.HttpClient.disableChunked=true<br />
<br />
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.<br />
com.sitepark.imgfile.imagemagick.command.Command.priority=0<br />
<br />
=Mail-Server Konfiguration=<br />
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 [[Systemvoraussetzungen#Mailserver|hier]].<br />
<br />
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:<br />
$SITEPARK_HOME/jboss/server/default/deploy/mail-service.xml<br />
Hier können Sie die gewünschten Parameter anpassen. I.d.R. ist lediglich der Wert für <code>mail.smtp.host</code> zu ändern. Ein IES-Neustart ist bei Änderungen erforderlich.<br />
<br />
<noinclude><br />
[[Kategorie:Administration und Konfiguration]]<br />
</noinclude></div>Sed