Webtrees Handbuch/Anleitung für Webmaster: Unterschied zwischen den Versionen
Zeile 111: | Zeile 111: | ||
==== Lokal installierter Server ==== | ==== Lokal installierter Server ==== | ||
---- | ---- | ||
Für einen | Für einen lokalen Server, der direkt beim Webmaster steht, kommen als Betriebssystem Windows, MacOS oder Linux in Frage. In Abhängigkeit davon werden für den Serverbetrieb unterschiedliche Softwarepakete benötigt, die im folgenden beschrieben werden. | ||
Man kann webtrees aber auch auf einem Netzlaufwerk der Marke Synology oder auf einen Kleinstcomputer der Marke RaspberryPi betreiben. | Man kann webtrees aber auch auf einem Netzlaufwerk der Marke Synology oder auf einen Kleinstcomputer der Marke RaspberryPi betreiben. | ||
Zeile 136: | Zeile 136: | ||
=== Installation von webtrees === | === Installation von webtrees === | ||
---- | ---- | ||
Nachdem | Nachdem der Hosting-Anbieter bzw. der Server ausgewählt worden sind, steht die Installation von '''webtrees''' auf dem Server an. Die im Folgenden beschriebenen Schritte sind dabei erforderlich | ||
* [[Webtrees_Handbuch/Anleitung_für_Webmaster#Voraussetzungen_für_die_Installation|Voraussetzungen für die Installation herstellen]] (Systemumgebung und Server-Zugang prüfen, PHP konfigurieren, Datenbank anlegen, Web-Server und Internet-Anbindung konfigurieren) | * [[Webtrees_Handbuch/Anleitung_für_Webmaster#Voraussetzungen_für_die_Installation|Voraussetzungen für die Installation herstellen]] (Systemumgebung und Server-Zugang prüfen, PHP konfigurieren, Datenbank anlegen, Web-Server und Internet-Anbindung konfigurieren) | ||
* [[Webtrees_Handbuch/Anleitung_für_Webmaster#Erstinstallation_von_webtrees|Programmdateien auf den Server laden]] | * [[Webtrees_Handbuch/Anleitung_für_Webmaster#Erstinstallation_von_webtrees|Programmdateien auf den Server laden]] | ||
Zeile 143: | Zeile 143: | ||
* [[Webtrees_Handbuch/Anleitung_für_Webmaster#Installation_von_Erweiterungsmodulen|Erweiterungsmodule installieren]] | * [[Webtrees_Handbuch/Anleitung_für_Webmaster#Installation_von_Erweiterungsmodulen|Erweiterungsmodule installieren]] | ||
Anstatt '''webtrees''' selbst zu installieren, kann man auch fertige Installationsdienste oder vorgefertigte Container-Lösungen nutzen, wenn der vorgesehene Host das unterstützt (etwa Docker, Installatron, OpenSuse, Puppet, Softaculous, Yunohost). Dazu gibt es ergänzende Hinweise in der [https://webtrees.net/install/ Original-webtrees-Dokumentation]. Für einige Hosting-Anbieter und Servertypen liegen dort ebenfalls noch zusätzliche Hinweise (für Bluehost, Cloudflare, Microsoft/IIS, OVH). Ansonsten zeigen die folgenden Abschnitte exemplarisch alle Schritte bei der Installation. Da jeder Server und jede Installationsumgebung | Anstatt '''webtrees''' selbst zu installieren, kann man auch fertige Installationsdienste oder vorgefertigte Container-Lösungen nutzen, wenn der vorgesehene Host das unterstützt (etwa Docker, Installatron, OpenSuse, Puppet, Softaculous, Yunohost). Dazu gibt es ergänzende Hinweise in der [https://webtrees.net/install/ Original-webtrees-Dokumentation]. Für einige Hosting-Anbieter und Servertypen liegen dort ebenfalls noch zusätzliche Hinweise (für Bluehost, Cloudflare, Microsoft/IIS, OVH). Ansonsten zeigen die folgenden Abschnitte exemplarisch alle Schritte bei der Installation. Da jeder Server und jede Installationsumgebung Unterschiede aufweisen können, wird es auch bei Ihrer Installation Abweichungen geben. | ||
==== Voraussetzungen für die Installation ==== | ==== Voraussetzungen für die Installation ==== | ||
---- | ---- | ||
Bevor '''webtrees''' installiert werden kann, muss die Systemumgebung geprüft oder vorbereitet werden. Bei den meisten Hosting-Angeboten wird bereits alles passend parat stehen, was für webtrees benötigt wird. Wenn man einen Server selbst aufsetzt, muss man die im folgenden beschriebenen Systemkomponenten installieren und konfigurieren. | Bevor '''webtrees''' installiert werden kann, muss die Systemumgebung geprüft oder vorbereitet werden. Bei den meisten Hosting-Angeboten wird bereits alles passend parat stehen, was für '''webtrees''' benötigt wird. Wenn man einen Server selbst aufsetzt, muss man die im folgenden beschriebenen Systemkomponenten installieren und konfigurieren. '''Insbesondere muss man sich um die erforderliche System-Sicherheit permanent und selber kümmern'''. | ||
===== Systemumgebung ===== | ===== Systemumgebung ===== | ||
Zeile 160: | Zeile 160: | ||
===== PHP ===== | ===== PHP ===== | ||
---- | ---- | ||
PHP muss für die aktuelle Version von '''webtrees''' in einer der folgenden Versionen installiert sein: 7.4, 8.0 oder 8.1. Die Version 7.4 wird noch bis zum 28. November 2022 gepflegt werden; danach wird diese Version auch | PHP muss für die aktuelle Version von '''webtrees''' in einer der folgenden Versionen installiert sein: 7.4, 8.0 oder 8.1. Die Version 7.4 wird noch bis zum 28. November 2022 gepflegt werden; danach wird diese Version auch von '''webtrees''' nicht mehr unterstützt, d.h. spätestens bis zu diesem Termin sollten alle alten '''webtrees'''-Installationen auf eine Version 2.1.x aktualisiert werden. | ||
Je nachdem welche PHP-Version auf dem Web-Server installiert ist, können verschiedene Versionen von '''webtrees''' genutzt werden (näheres zu den Versionsbezeichnungen bei '''webtrees''' ist im nachfolgenden Abschnitt "[[Webtrees_Handbuch/Anleitung_für_Webmaster#Versionen_von_webtrees|Versionen von webtrees]]" beschrieben). Die folgende Tabelle zeigt die Abhängigkeiten zwischen den PHP- und den webtrees-Versionen. | Je nachdem welche PHP-Version auf dem Web-Server installiert ist, können verschiedene Versionen von '''webtrees''' genutzt werden (näheres zu den Versionsbezeichnungen bei '''webtrees''' ist im nachfolgenden Abschnitt "[[Webtrees_Handbuch/Anleitung_für_Webmaster#Versionen_von_webtrees|Versionen von webtrees]]" beschrieben). Die folgende Tabelle zeigt die Abhängigkeiten zwischen den PHP- und den '''webtrees'''-Versionen. | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
Zeile 242: | Zeile 242: | ||
Die Variante mit der Subdomain bietet sich insbesondere dann an, wenn noch weitere Anwendungen in der Domäne installiert werden sollen (etwa Wordpress). Nicht in jedem Mietvertrag für die Heimatseite wird es eine Option geben, die die freie Wahl von Subdomains vorsieht. Wenn man die Variante mit der Subdomain wählt, dann installiert man webtrees in einen Unterordner des Hauptverzeichnisses des Web-Servers, etwa in den Ordner "webtrees" und ordnet in der Domänen-Verwaltung des Servers diesen Unterordner der Subdomain zu. | Die Variante mit der Subdomain bietet sich insbesondere dann an, wenn noch weitere Anwendungen in der Domäne installiert werden sollen (etwa Wordpress). Nicht in jedem Mietvertrag für die Heimatseite wird es eine Option geben, die die freie Wahl von Subdomains vorsieht. Wenn man die Variante mit der Subdomain wählt, dann installiert man webtrees in einen Unterordner des Hauptverzeichnisses des Web-Servers, etwa in den Ordner "webtrees" und ordnet in der Domänen-Verwaltung des Servers diesen Unterordner der Subdomain zu. | ||
Aber auch wenn man keine Subdomain nutzen möchte oder kann, sollte man webtrees in einen eigenen Unterordner des Hauptverzeichnisses des Web-Servers installieren, etwa in den Ordner "webtrees". Dann ist es möglich zukünftig auch noch andere Anwendungen in der Domäne zu betreiben und zu adressieren. Die Adressierung in einem auf webtrees zugreifenden Browser sieht dann so aus | Aber auch wenn man keine Subdomain nutzen möchte oder kann, sollte man webtrees in einen eigenen Unterordner des Hauptverzeichnisses des Web-Servers installieren, etwa in den Ordner "webtrees". Dann ist es möglich zukünftig auch noch andere Anwendungen in der Domäne zu betreiben und zu adressieren. Die Adressierung in einem auf '''webtrees''' zugreifenden Browser sieht dann so aus | ||
* '''''webtrees''''' in einem Unterordner der Heimatseite integriert: <code><nowiki>https://musterfamilie.de/wetrees</nowiki></code> | * '''''webtrees''''' in einem Unterordner der Heimatseite integriert: <code><nowiki>https://musterfamilie.de/wetrees</nowiki></code> | ||
Die Anbindung an das Internet sollte eine hohe Datenrate bieten und ausfallsicher gestaltet sein. Wenn man ein Hosting-Angebot nutzt, wird man sich darum nicht kümmern müssen. Wenn man webtrees auf einem lokalen Server installiert hat und den Wunsch hat, dass dieser aus dem Internet erreichbar sein soll, dann muss man sich eine dynamische Internet-Adresse besorgen, diese einrichten und im eigenen Router eine Port-Weiterleitung zu dem eigenen Web-Server | Die Anbindung an das Internet sollte eine hohe Datenrate bieten und ausfallsicher gestaltet sein. Wenn man ein Hosting-Angebot nutzt, wird man sich darum nicht kümmern müssen. Wenn man '''webtrees''' auf einem lokalen Server installiert hat und den Wunsch hat, dass dieser aus dem Internet erreichbar sein soll, dann muss man sich eine dynamische Internet-Adresse besorgen, diese einrichten und im eigenen Router eine Port-Weiterleitung zu dem eigenen Web-Server konfigurieren. | ||
---- | ---- | ||
{{WT-ToDo|Noch beschreiben: Installation der Zertifikate für https (für Domain bzw. Subdomain)}} | {{WT-ToDo|Noch beschreiben: Installation der Zertifikate für https (für Domain bzw. Subdomain)}} | ||
Zeile 264: | Zeile 264: | ||
=== Ersteinrichtung === | === Ersteinrichtung === | ||
---- | ---- | ||
Nach dem Kopieren der webtrees-Anwendungsdaten auf den Webserver muss für den Abschluss der Ersteinrichtung in einem Web-Browser die neue Site aufgerufen werden. Dies sollte unmittelbar passieren, damit niemand Unbefugtes Schaden anrichten kann. | Nach dem Kopieren der '''webtrees'''-Anwendungsdaten auf den Webserver muss für den Abschluss der Ersteinrichtung in einem Web-Browser die neue Site aufgerufen werden. Dies sollte unmittelbar passieren, damit niemand Unbefugtes Schaden anrichten kann. | ||
==== Sprache festlegen ==== | ==== Sprache festlegen ==== | ||
Zeile 276: | Zeile 276: | ||
[[Datei:WT_2.1_Einrichtungsassistent2-Serverleistung.png|thumb|right|250px|Einrichtungsassistent (Seite 2) - Serverleistung prüfen]] | [[Datei:WT_2.1_Einrichtungsassistent2-Serverleistung.png|thumb|right|250px|Einrichtungsassistent (Seite 2) - Serverleistung prüfen]] | ||
Es folgt die Prüfung der Serverleistung<ref>Anpassungen für den bereitgestellten Arbeitsspeicher und die Ausführungszeit müssen in der Konfiguration von [[#PHP|PHP]] über die php.ini-Direktiven [http://php.net/memory-limit memory_limit] und [http://php.net/max-execution-time max_execution_time] vorgenommen werden.</ref>: Die Speicher- und Prozessorzeit-Anforderungen sind abhängig von der Anzahl der Personen in Ihrem Stammbaum und den Möglichkeiten des genutzten Webhostings. Die Seite zeigt eine kurze Liste typischer Anforderungen: | Es folgt die Prüfung der Serverleistung<ref>Anpassungen für den bereitgestellten Arbeitsspeicher und die Ausführungszeit müssen in der Konfiguration von [[#PHP|PHP]] über die php.ini-Direktiven [http://php.net/memory-limit memory_limit] und [http://php.net/max-execution-time max_execution_time] vorgenommen werden.</ref>: Die Speicher- und Prozessorzeit-Anforderungen sind abhängig von der Anzahl der Personen in Ihrem Stammbaum und den Möglichkeiten des genutzten Webhostings. Die Seite zeigt eine kurze Liste typischer Anforderungen: | ||
* Kleiner Stammbaum (500 Personen): 16- | * Kleiner Stammbaum (500 Personen): 16-32 MB Hauptspeicher, 10-20 Sekunden Prozessorzeit | ||
* Mittlerer Stammbaum (5000 Personen): 32- | * Mittlerer Stammbaum (5000 Personen): 32-64 MB Hauptspeicher, 20-40 Sekunden Prozessorzeit | ||
* Großer Stammbaum (50000 Personen): 64- | * Großer Stammbaum (50000 Personen): 64-128 MB Hauptspeicher, 40-80 Sekunden Prozessorzeit | ||
{{-}} | {{-}} | ||
Zeile 284: | Zeile 284: | ||
---- | ---- | ||
[[Datei:WT_2.1_Einrichtungsassistent3-DBMS-Auswahl.png|thumb|right|250px|Einrichtungsassistent (Seite 3) - DBMS-Auswahl]] | [[Datei:WT_2.1_Einrichtungsassistent3-DBMS-Auswahl.png|thumb|right|250px|Einrichtungsassistent (Seite 3) - DBMS-Auswahl]] | ||
Bei den meisten Installationen dürfte MySQL/MariaDB zum Einsatz kommen, siehe oben. | |||
{{-}}<gallery perrow="2" widths="250" caption="Einrichtungsassistent (Seite 4) - Konfiguration der Datenbank-Verbindung"> | |||
{{-}} | |||
<gallery perrow=2 widths="250" caption="Einrichtungsassistent (Seite 4) - Konfiguration der Datenbank-Verbindung"> | |||
Datei:WT_2.1_Einrichtungsassistent4-DBMS-MySQL.png|MySQL/MariaDB/Percona | Datei:WT_2.1_Einrichtungsassistent4-DBMS-MySQL.png|MySQL/MariaDB/Percona | ||
Datei:WT_2.1_Einrichtungsassistent4-DBMS-SQLite.png|SQLite | Datei:WT_2.1_Einrichtungsassistent4-DBMS-SQLite.png|SQLite | ||
Zeile 323: | Zeile 315: | ||
dbport="3306" | dbport="3306" | ||
dbuser="webtrees" | dbuser="webtrees" | ||
dbpass=" | dbpass="Geheimes-Passwort" | ||
dbname="webtrees" | dbname="webtrees" | ||
tblpfx="wt_" | tblpfx="wt_" | ||
Zeile 332: | Zeile 324: | ||
Es ist eingentlich eine INI-Datei<ref>{{wikipedia-Link|Initialisierungsdatei}}</ref> mit Schlüssel-Wert-Paaren, die in einer PHP-Datei verpackt wurde. Zur zusätzlichen Absicherung der Daten - neben dem [[#Zugriffsschutz|Verzeichnisschutz]] - ist die erste Zeile wichtig, da sie die Ausgabe im Browser verhindert. Weitere Details können auch dem Abschnitt zu [[#Pretty-URLs|Pretty-URLs]] entnommen werden. | Es ist eingentlich eine INI-Datei<ref>{{wikipedia-Link|Initialisierungsdatei}}</ref> mit Schlüssel-Wert-Paaren, die in einer PHP-Datei verpackt wurde. Zur zusätzlichen Absicherung der Daten - neben dem [[#Zugriffsschutz|Verzeichnisschutz]] - ist die erste Zeile wichtig, da sie die Ausgabe im Browser verhindert. Weitere Details können auch dem Abschnitt zu [[#Pretty-URLs|Pretty-URLs]] entnommen werden. | ||
{{Infobox|Insbesondere beim Erstellen oder | {{Infobox|Insbesondere beim Erstellen oder nachträglichen Ändern der Datei auf Windows-Systemen ist zu beachten, dass diese in der richtigen Kodierung - UTF-8<ref>{{wikipedia-Link|UTF-8}}</ref> (ohne Byte-order-Mark/BOM) - gespeichert und hochgeladen wird. Ansonsten kann es zu Fehlern kommen.<ref>Vgl. auch: https://webtrees.net/faq/config-ini-php/.</ref>}} | ||
==== Test der Installation ==== | ==== Test der Installation ==== | ||
---- | ---- | ||
Nachdem die Erstinstallation abgeschlossen ist, | Nachdem die Erstinstallation abgeschlossen ist, sollte in einem ersten Test die einwandfreie Funktion der Website geprüft werden. | ||
sollte in einem ersten Test die einwandfreie Funktion der Website geprüft werden. | |||
{{WT-ToDo|Noch beschreiben: wie testet man am besten? Hochladen von GEDCOM-Testdaten.}} | {{WT-ToDo|Noch beschreiben: wie testet man am besten? Hochladen von GEDCOM-Testdaten.}} | ||
==== Installation von Erweiterungsmodulen ==== | ==== Installation von Erweiterungsmodulen ==== | ||
---- | ---- | ||
Nach dem erfolgreichen Test können nun noch [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] installiert werden | Nach dem erfolgreichen Test können nun noch [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] installiert werden (siehe dazu den Abschnitt "[[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]]"). Dies sollte schrittweise erfolgen, damit bei eventuell auftretenden Problemen das verursachende Erweiterungsmodul leichter identifiziert werden kann. | ||
(siehe dazu den Abschnitt "[[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]]"). | |||
Dies sollte schrittweise erfolgen, damit bei eventuell auftretenden Problemen das verursachende Erweiterungsmodul leichter identifiziert werden kann. | |||
Als Webmaster können Sie auf dem Server im Ordner "/modules_v4" installierte [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] durch eine Umbenennung auf einfache Art deaktivieren. Dazu müssen Sie in den Ordnernamen einen "." (Punkt) einfügen, etwa indem Sie an den Ordnernamen ein ".disable" anhängen. Also indem Sie etwa den Ordner "jc-theme-justlight" in "jc-theme-justlight.disable" umbenennen. Solche Ordner sind dann für webtrees | Als Webmaster können Sie auf dem Server im Ordner "/modules_v4" installierte [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] durch eine Umbenennung auf einfache Art deaktivieren. Dazu müssen Sie in den Ordnernamen einen "." (Punkt) einfügen, etwa indem Sie an den Ordnernamen ein ".disable" anhängen. Also indem Sie etwa den Ordner "jc-theme-justlight" in "jc-theme-justlight.disable" umbenennen. Solche Ordner sind dann für '''webtrees''' unsichtbar. Durch das Entfernen des angehängten Namensbestandteils zu einem späteren Zeitpunkt, wird das Erweiterungsmodul wieder für '''webtrees''' sichtbar. Diese Funktion reicht somit tiefer als das Aktivieren oder Deaktivieren von [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodulen]] im Menü "[[Webtrees Handbuch/Anleitung für Administratoren/Module#Module|Module]]" durch einen Administrator und ist immer dann zu empfehlen, wenn vermutet wird, dass ein Erweiterungsmodul Fehler verursacht. | ||
=== Upgrade === | === Upgrade === | ||
---- | ---- | ||
Eine Aktualisierung von webtrees geht schnell und einfach. Falls der Kern von webtrees auf einen neuen Versionsstand gebracht werden soll, | Eine Aktualisierung von '''webtrees''' geht schnell und einfach. Falls der Kern von '''webtrees''' auf einen neuen Versionsstand gebracht werden soll, stehen zwei verschiedene Wege zur Verfügung: das automatische und das manuelle Verfahren. Für die Aktualisierung eines Erweiterungsmoduls steht nur das manuelle Verfahren zur Verfügung. | ||
das automatische und das manuelle Verfahren. Für die Aktualisierung eines Erweiterungsmoduls steht nur das manuelle Verfahren zur Verfügung. | |||
==== Upgrade von webtrees ==== | ==== Upgrade von webtrees ==== | ||
Zeile 358: | Zeile 346: | ||
|- | |- | ||
| style="vertical-align:top;" | | | style="vertical-align:top;" | | ||
Das Vorliegen einer neuen Version wird dem Administrator in einer Hinweiszeile angezeigt. Es wird dringend empfohlen, die Installation zu aktualisieren, sobald eine neue Version von webtrees zur Verfügung steht. Selbst kleinere Upgrades enthalten in der Regel eine erhebliche Anzahl von beseitigten Fehlern sowie Verbesserungen in der Bedienoberfläche oder Programmerweiterungen. Gefundene und behobene Sicherheitslücken führen immer zu einer neuen Version, die dann schnellstmöglich eingespielt werden sollte. Falls nicht sowieso regelmäßig Datensicherungen erstellt werden, sollte vor einem Update immer eine [[Webtrees Handbuch/Anleitung für Webmaster#Backup_der_genealogischen_Daten_und_der_Datenbank|Sicherung]] durchgeführt werden. | Das Vorliegen einer neuen Version wird dem Administrator in einer Hinweiszeile angezeigt. Es wird dringend empfohlen, die Installation zu aktualisieren, sobald eine neue Version von '''webtrees''' zur Verfügung steht. Selbst kleinere Upgrades enthalten in der Regel eine erhebliche Anzahl von beseitigten Fehlern sowie Verbesserungen in der Bedienoberfläche oder Programmerweiterungen. Gefundene und behobene Sicherheitslücken führen immer zu einer neuen Version, die dann schnellstmöglich eingespielt werden sollte. Falls nicht sowieso regelmäßig Datensicherungen erstellt werden, sollte vor einem Update immer eine [[Webtrees Handbuch/Anleitung für Webmaster#Backup_der_genealogischen_Daten_und_der_Datenbank|Sicherung]] durchgeführt werden. | ||
|[[Datei:WT 2.0 Update_verfügbar.png|thumb|right|600px|Hinweis auf eine neue Version]] | |[[Datei:WT 2.0 Update_verfügbar.png|thumb|right|600px|Hinweis auf eine neue Version]] | ||
|} | |} | ||
Zeile 367: | Zeile 355: | ||
* die erste Zahl "x" kennzeichnet eine Hauptversion, die nicht miteinander kompatible Versionen unterscheidet. | * die erste Zahl "x" kennzeichnet eine Hauptversion, die nicht miteinander kompatible Versionen unterscheidet. | ||
Die Datenbankstruktur von webtrees in der Version 1 und die internen Schnittstellen der Module | Die Datenbankstruktur von '''webtrees''' in der Version 1 und die internen Schnittstellen der Module passen nicht zur Version 2. [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] für '''webtrees''' 1 funktionieren also nicht mit der Version 2 und umgekehrt. Ein Upgrade bei einem Wechsel der Hauptversion ist nur manuell möglich. Hierzu gibt es eine spezielle Anleitung und es müssen umfangreiche Vorbereitungen für das Upgrade getroffen werden. | ||
[[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] für webtrees 1 funktionieren also nicht mit der Version 2 und umgekehrt. Ein Upgrade bei einem Wechsel der Hauptversion ist nur manuell möglich. Hierzu gibt es eine spezielle Anleitung und es müssen umfangreiche Vorbereitungen für das Upgrade getroffen werden. | |||
* die zweite Zahl "y" kennzeichnet eine neue Version, die grundsätzlich neue Funktionen und geänderte interne Schnittstellen mit sich bringt. | * die zweite Zahl "y" kennzeichnet eine neue Version, die grundsätzlich neue Funktionen und geänderte interne Schnittstellen mit sich bringt. | ||
[[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] können kompatibel sein, sind es aber wahrscheinlich eher nicht. Vor dem Einspielen eines Updates sollte also geprüft werden, ob alle im Einsatz befindlichen Erweiterungsmodule in einer kompatiblen Version vorliegen. Der Wechsel von Version 2.0 zur Version 2.1 etwa betrifft so viele interne Schnittstellen, dass die meisten [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] angepasst werden müssen. Bei einem Wechsel der webtrees-Version kann es auch vorkommen, dass andere Versionen von PHP unterstützt werden, so dass der Webmaster gleichzeitig auch einen Wechsel der PHP-Version vornehmen kann oder muss. | [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] können kompatibel sein, sind es aber wahrscheinlich eher nicht. Vor dem Einspielen eines Updates sollte also geprüft werden, ob alle im Einsatz befindlichen Erweiterungsmodule in einer kompatiblen Version vorliegen. Der Wechsel von Version 2.0 zur Version 2.1 etwa betrifft so viele interne Schnittstellen, dass die meisten [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] angepasst werden müssen. Bei einem Wechsel der '''webtrees'''-Version kann es auch vorkommen, dass andere Versionen von PHP unterstützt werden, so dass der Webmaster gleichzeitig auch einen Wechsel der PHP-Version vornehmen kann oder muss. | ||
* die dritte Zahl "z" kennzeichnet eine Unterversion, die etwa gefundene Fehler behebt oder kleinere Anpassungen mit sich bringt. | * die dritte Zahl "z" kennzeichnet eine Unterversion, die etwa gefundene Fehler behebt oder kleinere Anpassungen mit sich bringt. | ||
Im Normalfall werden die meisten [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] von diesen Änderungen nicht betroffen sein und können deshalb weiter verwendet werden. | Im Normalfall werden die meisten [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] von diesen Änderungen nicht betroffen sein und können deshalb weiter verwendet werden. | ||
Eine Übersicht über alle bislang vorliegenden Versionen von webtrees ist im Kapitel [[Webtrees Handbuch/Allgemeine Erläuterung des Programms#Versionsgeschichte|"Allgemeine Erläuterung des Programms"]] aufgeführt. | Eine Übersicht über alle bislang vorliegenden Versionen von '''webtrees''' ist im Kapitel [[Webtrees Handbuch/Allgemeine Erläuterung des Programms#Versionsgeschichte|"Allgemeine Erläuterung des Programms"]] aufgeführt. | ||
===== Automatisches Upgrade ===== | ===== Automatisches Upgrade ===== | ||
---- | ---- | ||
[[Datei:WT 2.0 Aktualisierungsassistent Ablauf.png|thumb|right|600px|Protokoll des Aktualisierungsablaufs]] | [[Datei:WT 2.0 Aktualisierungsassistent Ablauf.png|thumb|right|600px|Protokoll des Aktualisierungsablaufs]] | ||
webtrees hat die Fähigkeit, sich automatisch zu aktualisieren. | '''webtrees''' hat die Fähigkeit, sich automatisch zu aktualisieren. Im Rhytmus von nicht weniger als 24 Stunden sucht '''webtrees''' frühestens nach einer aktualisierten Version. Sollte ein Upgrade verfügbar sein, erscheint eine Hinweiszeile mit einem Link, sofern man als Administrator angemeldet ist. Durch einen Klick auf den Link kann der Administrator den Upgrade-Assistenten für das automatische Update nutzen. | ||
Automatische Upgrades sind von Berechtigungen und Ressourcen auf dem Server abhängig. Die verwendeten PHP-Skripte benötigen die Berechtigung | Automatische Upgrades sind von Berechtigungen und Ressourcen auf dem Server abhängig. Die verwendeten PHP-Skripte benötigen die Berechtigung | ||
* Dateien vom [https://github.com/fisharebest/webtrees/releases webtrees-GitHub-Server] über eine gesicherte Kommunikation auf den webtrees-Server zu kopieren. | * Dateien vom [https://github.com/fisharebest/webtrees/releases webtrees-GitHub-Server] über eine gesicherte Kommunikation auf den '''webtrees'''-Server zu kopieren. | ||
* Dateien auf dem Server zu überschreiben. Wenn der Webserver Skripte als anonymer Benutzer ausführt, dann wird er keine Berechtigung haben, Dateien zu aktualisieren. Wenn Sie also aufgefordert werden, die Berechtigungen des Ordners /data auf 777 zu ändern, können Sie das automatische Upgrade nicht verwenden; sie müssen in diesem Fall dann ein [[Webtrees_Handbuch/Anleitung_für_Webmaster#Manuelles_Upgrade|manuelles Upgrade]] durchführen oder die Voraussetzungen für das automatische Upgrade schaffen. | * Dateien auf dem Server zu überschreiben. Wenn der Webserver Skripte als anonymer Benutzer ausführt, dann wird er keine Berechtigung haben, Dateien zu aktualisieren. Wenn Sie also aufgefordert werden, die Berechtigungen des Ordners /data auf 777 zu ändern, können Sie das automatische Upgrade nicht verwenden; sie müssen in diesem Fall dann ein [[Webtrees_Handbuch/Anleitung_für_Webmaster#Manuelles_Upgrade|manuelles Upgrade]] durchführen oder die Voraussetzungen für das automatische Upgrade schaffen. | ||
Der Server muss ausreichend leistungsfähig sein, um das Upgrade abzuschließen, ohne CPU- und Speichergrenzen zu überschreiten. Der Server muss ungefähr 130 MB freien Speicherplatz haben, um die neue Version zu speichern und zu entpacken. Das Upgrade dauert normalerweise zwischen 15 und 60 Sekunden. Wenn nach fünf Minuten keine Antwort erfolgt ist, dann wurde wahrscheinlich | Der Server muss ausreichend leistungsfähig sein, um das Upgrade abzuschließen, ohne CPU- und Speichergrenzen zu überschreiten. Der Server muss ungefähr 130 MB freien Speicherplatz haben, um die neue Version zu speichern und zu entpacken. Das Upgrade dauert normalerweise zwischen 15 und 60 Sekunden. Wenn nach fünf Minuten keine Antwort erfolgt ist, dann wurde wahrscheinlich eine CPU-Zeitbegrenzung erreicht und das Upgrade ist fehlgeschlagen. | ||
{{Infobox|Wenn das automatische Upgrade aus irgendeinem Grund fehlschlägt, | {{Infobox|Wenn das automatische Upgrade aus irgendeinem Grund fehlschlägt, sollten Sie als Webmaster zuerst versuchen das zu Grunde liegende Problem zu lösen und alternativ ein manuelles Update durchführen. Das Verzeichnis "/data/tmp/upgrade" auf dem Server sollte in diesem Fall manuell gelöscht werden.}} | ||
{{WT-ToDo|Noch beschreiben: was muss der Webmaster genau tun, damit sein Server die benötigten Fähigkeiten hat}} | {{WT-ToDo|Noch beschreiben: was muss der Webmaster genau tun, damit sein Server die benötigten Fähigkeiten hat}} | ||
Zeile 395: | Zeile 382: | ||
Der automatische Upgrade-Prozess erfolgt in den folgenden Schritten | Der automatische Upgrade-Prozess erfolgt in den folgenden Schritten | ||
[[Datei:WT_2.0_Aktualisierungsassistent_Warnung.png|thumb|right|600px|Warnung bei installierten Erweiterungsmodulen]] | [[Datei:WT_2.0_Aktualisierungsassistent_Warnung.png|thumb|right|600px|Warnung bei installierten Erweiterungsmodulen]] | ||
# Falls die [[Webtrees_Handbuch/Anleitung_für_Webmaster/Erweiterungsmodule|Vesta-Erweiterungsmodule]] installiert sind, erfolgt ggf. eine Warnung, dass diese [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] eventuell mit der neuen [[Webtrees_Handbuch/Anleitung_für_Webmaster#Versionen_von_webtrees|Version]] von webtrees nicht kompatibel sein könnten (siehe nebenstehende Abbildung). Hier sollte man also den Prozess ggf. abbrechen, wenn man erst die Kompatibilität prüfen möchte. Andere [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] verwenden keine solche Benachrichtigungsfunktion. Hilfreich ist immer ein Blick ins webtrees-Forum und auf die GitHub-Seiten der installierten [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule#Übersicht_über_die_Erweiterungsmodule|Erweiterungsmodule]]. Ein Upgrade auf einem webtrees-Testserver kann die Sicherheit bringen, dass sich die installierten [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] mit der neuen webtrees-Version vertragen werden; erst danach sollte dann das Upgrade im Produktivsystem eingespielt werden. | # Falls die [[Webtrees_Handbuch/Anleitung_für_Webmaster/Erweiterungsmodule|Vesta-Erweiterungsmodule]] installiert sind, erfolgt ggf. eine Warnung, dass diese [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] eventuell mit der neuen [[Webtrees_Handbuch/Anleitung_für_Webmaster#Versionen_von_webtrees|Version]] von '''webtrees''' nicht kompatibel sein könnten (siehe nebenstehende Abbildung). Hier sollte man also den Prozess ggf. abbrechen, wenn man erst die Kompatibilität prüfen möchte. Andere [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] verwenden keine solche Benachrichtigungsfunktion. Hilfreich ist immer ein Blick ins '''webtrees'''-Forum und auf die GitHub-Seiten der installierten [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule#Übersicht_über_die_Erweiterungsmodule|Erweiterungsmodule]]. Ein Upgrade auf einem '''webtrees'''-Testserver kann die Sicherheit bringen, dass sich die installierten [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] mit der neuen '''webtrees'''-Version vertragen werden; erst danach sollte dann das Upgrade im Produktivsystem eingespielt werden. | ||
# Danach wird ein Verzeichnis "/data/tmp/upgrade" angelegt, in das temporär die neuen Dateien geladen werden. | # Danach wird ein Verzeichnis "/data/tmp/upgrade" angelegt, in das temporär die neuen Dateien geladen werden. | ||
# Nun wird geprüft, ob es noch Änderungen von Daten in den Stammbäumen gibt, die noch nicht vom Moderator freigegeben wurden (siehe Abschnitt [[Webtrees_Handbuch/Anleitung_für_Moderatoren|"Freigeben von Änderungen durch einen Moderator"]]). Der Upgrade-Prozess bricht aber nicht ab, wenn noch solche Änderungen vorliegen, es erfolgt lediglich eine Warnmeldung. | # Nun wird geprüft, ob es noch Änderungen von Daten in den Stammbäumen gibt, die noch nicht vom Moderator freigegeben wurden (siehe Abschnitt [[Webtrees_Handbuch/Anleitung_für_Moderatoren|"Freigeben von Änderungen durch einen Moderator"]]). Der Upgrade-Prozess bricht aber nicht ab, wenn noch solche Änderungen vorliegen, es erfolgt lediglich eine Warnmeldung. | ||
# | # Alle Stammbäume werden automatisch exportiert, d.h. es wird für jeden Stammbaum im Verzeichnis "/data" eine aktuelle GEDCOM-Datei angelegt (der Dateiname enthält das Datum des Exports). | ||
# Vom [https://github.com/fisharebest/webtrees/releases webtrees-GitHub-Server] wird die neue webtrees-Version als zip-Datei in das im Schritt 2 angelegte Verzeichnis | # Vom [https://github.com/fisharebest/webtrees/releases '''webtrees'''-GitHub-Server] wird die neue '''webtrees'''-Version als zip-Datei in das im Schritt 2 angelegte Verzeichnis kopiert. | ||
# Dateien in den Verzeichnissen "/app", "/resources" und "/vendor", die nicht mehr benötigt werden, werden gelöscht. | |||
# Dateien in den | # Die zip-Datei wird in das temporäre Verzeichnis entpackt und die entpackten Dateien werden dann an das Zielverzeichnis kopiert. | ||
# Zum Abschluss öffnet sich das Verwaltungsmenü. Hier kann vom Administrator kontrolliert werden, ob die neue Version korrekt angezeigt wird. | # Zum Abschluss öffnet sich das Verwaltungsmenü. Hier kann vom Administrator kontrolliert werden, ob die neue Version korrekt angezeigt wird. | ||
===== Manuelles Upgrade ===== | ===== Manuelles Upgrade ===== | ||
---- | ---- | ||
Beim manuellen Upgrade lädt der Webmaster eine neue, freigegebene Version von webtrees auf einen lokalen Rechner herunter und entpackt diese Version dort. Falls [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] installiert sind, sollte überprüft werden, ob diese mit der neuen Version von webtrees kompatibel sind. Eventuell stehen für diese Module auch Upgrades zur Verfügung. | Beim manuellen Upgrade lädt der Webmaster eine neue, freigegebene Version von '''webtrees''' auf einen lokalen Rechner herunter und entpackt diese Version dort. Falls [[Webtrees Handbuch/Anleitung für Webmaster/Erweiterungsmodule|Erweiterungsmodule]] installiert sind, sollte überprüft werden, ob diese mit der neuen Version von '''webtrees''' kompatibel sind. Eventuell stehen für diese Module auch Upgrades zur Verfügung. | ||
Während neue Dateien hochgeladen werden, würde ein Besucher der Website auf eine Mischung aus alten und neuen Dateien stoßen. Dies würde ein unvorhersehbares Verhalten oder Fehler verursachen. Um dies zu verhindern, muss vor dem Kopieren die Datei "/data/offline.txt" angelegt werden. Solange diese Datei existiert, werden die Besucher der Website eine Meldung sehen wie "Die Webseite befindet sich im Wartungsmodus. Sie sollten es in einigen Minuten erneut versuchen.". Wenn die Datei "offline.txt" leer ist, wird diese Standardnachricht angezeigt; alternativ kann man eine besondere Nachricht in diese Datei schreiben, so dass die Besucher ersaztweise diese Meldung sehen. Man sollte als nächstes die Verzeichnisse "/app", "/resources" und "/vendor" löschen, damit alte Dateien entfernt werden. Dann werden alle Ordner und Dateien mit einem [https://de.wikipedia.org/wiki/Kategorie:FTP-Client ftp-Programm] in das '''webtrees'''-Verzeichnis auf dem Webserver kopiert. Nach dem Kopieren der Dateien auf den Server muss die Datei "/data/offline.txt" wieder entfernt werden. Auch wenn der Administrator in der Systemsteuerung ein anderes Verzeichnis für den Datenordner gewählt haben sollte, der Speicherort für diese Datei ist immer im Verzeichnis "/data". | |||
"Die Webseite befindet sich im Wartungsmodus. Sie sollten es in einigen Minuten erneut versuchen.". Wenn die Datei "offline.txt" leer ist, | |||
alternativ kann man eine besondere Nachricht in diese Datei schreiben, so dass die Besucher | |||
Auch wenn der Administrator in der Systemsteuerung ein anderes Verzeichnis für den Datenordner gewählt haben sollte, der Speicherort für diese Datei ist immer im Verzeichnis "/data". | |||
Beim Wechsel von einer Unterversion zu einer anderen, kann man üblicherweise den Inhalt der Dateien auf dem Server einfach überschreiben. Beim Wechsel zu einer neuen Version oder gar einer Hauptversion empfiehlt es sich alle Dateien im webtrees-Verzeichnis auf dem Server zuvor zu löschen. Davon ausgenommen ist die Datei .htaccess im Stammverzeichnis von webtrees und die Dateien im Unterverzeichnis "/data". | Beim Wechsel von einer Unterversion zu einer anderen, kann man üblicherweise den Inhalt der Dateien auf dem Server einfach überschreiben. Beim Wechsel zu einer neuen Version oder gar einer Hauptversion empfiehlt es sich alle Dateien im '''webtrees'''-Verzeichnis auf dem Server zuvor zu löschen. Davon ausgenommen ist die Datei .htaccess im Stammverzeichnis von '''webtrees''' und die Dateien im Unterverzeichnis "/data". | ||
{{WT-ToDo|Wie verläuft ein Upgrade, wenn man [https://de.wikipedia.org/wiki/Composer_(Paketverwaltung) Composer] einsetzt?}} | {{WT-ToDo|Wie verläuft ein Upgrade, wenn man [https://de.wikipedia.org/wiki/Composer_(Paketverwaltung) Composer] einsetzt?}} | ||
Zeile 421: | Zeile 405: | ||
===== Upgrade in Abhängigkeit von der Ausgangsversion ===== | ===== Upgrade in Abhängigkeit von der Ausgangsversion ===== | ||
---- | ---- | ||
Wenn Sie derzeit eine der unten aufgeführten Versionen von webtrees verwenden, gibt es beim Upgrade zusätzliche Dinge zu beachten. | Wenn Sie derzeit eine der unten aufgeführten Versionen von '''webtrees''' verwenden, gibt es beim Upgrade zusätzliche Dinge zu beachten. | ||
* webtrees bis 2.0.24: beim Update auf die Version 2.1 ändern sich in Vorbereitung auf den GEDCOM-Standard 7.0 einige [[Webtrees_Handbuch/Anleitung_für_Webmaster/Anleitung_Upgrade_21|Datenfelder]] | * '''webtrees''' bis 2.0.24: beim Update auf die Version 2.1 ändern sich in Vorbereitung auf den GEDCOM-Standard 7.0 einige [[Webtrees_Handbuch/Anleitung_für_Webmaster/Anleitung_Upgrade_21|Datenfelder]] | ||
* webtrees 2.0.8: Diese Version enthält einen Fehler im Auto-Upgrade-Code | * '''webtrees''' 2.0.8: Diese Version enthält einen Fehler im Auto-Upgrade-Code, daher wurde die Version schnell ersetzt, aber einige Benutzer haben sie installiert. Um den automatischen Upgrade-Assistenten wieder verwenden zu können, müssen zwei Dateien bearbeitet werden | ||
** Bearbeiten Sie zunächst "/app/Factories/FilesystemFactory.php" und ändern Sie Zeile 40 von „/../../..“ in „/../…“. Dies behebt den Fehler. | ** Bearbeiten Sie zunächst "/app/Factories/FilesystemFactory.php" und ändern Sie Zeile 40 von „/../../..“ in „/../…“. Dies behebt den Fehler. | ||
** Bearbeiten Sie zweitens "/app/Webtrees.php" und ändern Sie Zeile 101 von „2.0.8“ in „2.0.7“. Dadurch wird das automatische Upgrade wieder aktiviert. | ** Bearbeiten Sie zweitens "/app/Webtrees.php" und ändern Sie Zeile 101 von „2.0.8“ in „2.0.7“. Dadurch wird das automatische Upgrade wieder aktiviert. | ||
* webtrees 1.7.10 – 1.7.20: Es sind vor einem manuellen Upgrade auf die Version 2 diverse Änderungen an den Einstellungen, der Serverkonfiguration und eventuell auch Anpassungen in den genealogischen Daten notwendig. Daher | * '''webtrees''' 1.7.10 – 1.7.20: Es sind vor einem manuellen Upgrade auf die Version 2 diverse Änderungen an den Einstellungen, der Serverkonfiguration und eventuell auch Anpassungen in den genealogischen Daten notwendig. Daher sollten Sie unbedingt diese [[Webtrees_Handbuch/Anleitung_für_Webmaster/Anleitung_Upgrade_20|Anleitung]] vor dem Upgrade beachten. | ||
* webtrees 1.4.0 – 1.7.9: Es muss vor einem Umstieg auf die Version 2 erst ein Upgrade auf die Version 1.7.20 erfolgen. | * '''webtrees''' 1.4.0 – 1.7.9: Es muss vor einem Umstieg auf die Version 2 erst ein Upgrade auf die Version 1.7.20 erfolgen. | ||
* webtrees 1.0.0 – 1.3.2: Vor einem Upgrade muss zuerst die „Medien-Firewall“ deaktiviert werden (siehe [https://webtrees.net/upgrade/media-firewall/ Anleitung] in englischer Sprache); dann muss ein manuelles Upgrade auf die Version 1.7.20 durchgeführt werden. | * '''webtrees''' 1.0.0 – 1.3.2: Vor einem Upgrade muss zuerst die „Medien-Firewall“ deaktiviert werden (siehe [https://webtrees.net/upgrade/media-firewall/ Anleitung] in englischer Sprache); dann muss ein manuelles Upgrade auf die Version 1.7.20 durchgeführt werden. | ||
* phpGedView: In webtrees 1.7.20 ist ein spezieller Migrationsassistent für das Vorgänger-Programm phpGedView integriert. Sie sollten daher diese Version als neue Instanz neben phpGedView installieren und dann den Migrationsassistenten nutzen. Beachten Sie, dass Sie keine funktionierende phpGedView-Installation benötigen. Sie benötigen nur die Datenbank und den Ordner "index". Nähere Hinweise finden Sie in der englischsprachigen [https://webtrees.net/upgrade/phpgedview/ Dokumentation]. | * phpGedView: In '''webtrees''' 1.7.20 ist ein spezieller Migrationsassistent für das Vorgänger-Programm phpGedView integriert. Sie sollten daher diese Version als neue Instanz neben phpGedView installieren und dann den Migrationsassistenten nutzen. Beachten Sie, dass Sie keine funktionierende phpGedView-Installation benötigen. Sie benötigen nur die Datenbank und den Ordner "index". Nähere Hinweise finden Sie in der englischsprachigen [https://webtrees.net/upgrade/phpgedview/ Dokumentation]. | ||
{{Infobox| | {{Infobox| |
Version vom 20. Juli 2022, 13:34 Uhr
- Handbuch Im Aufbau...
Systemarchitektur
Die Systemarchitektur für die Anwendung webtrees umfasst einen Client, einen Server und das Backend mit dem Archiv für webtrees bei GitHub.
Client
Der Client ist das Endgerät des Nutzers auf dem irgendein aktueller Browser installiert ist (Firefox, Chrome, Edge, Safari, usw.). Als Endgerät kommen etwa Laptop, Tablet oder Smartphone in Frage. Abhängig von der Rolle des Benutzers in webtrees werden ggf. zusätzlich zum Browser noch weitere lokal installierte Anwendungen benötigt.
Besucher sowie Mitglieder oder Moderatoren benötigten nur den Browser um auf alle Funktionen von webtrees zugreifen zu können. Mitglieder und Moderatoren benötigen für die erstmalige Anmeldung eine E-Mail-Möglichkeit. Der Administrator kann aus webtrees heraus E-Mails an die Nutzer verschicken.
Ein Verwalter oder Administrator benötigt darüber hinaus ein Programm mit dem er E-Mails empfangen kann. Er wird auf diesem Weg darüber informiert, dass ein neuer Nutzer ein Konto beantragt hat. Sobald eine neue Version von webtrees auf dem Backend-Server verfügbar ist, erfolgt ebenfalls eine Nachricht an die Administratoren.
Der Webmaster benötigt ein ftp-Programm (ftp-Client) mit dem er Daten auf den Server hochladen und von diesem herunterladen kann. Und er benötigt ein Programm mit dem er die webtrees-Datenbank verwalten kann. Näheres dazu ist im nachfolgenden Abschnitt "Werkzeuge für den Webmaster" beschrieben.
Server
Der webtrees-Server kann ein physischer oder ein virtueller Server sein. Als physischer Server kommt vor allem ein dedizierter oder geteilter Server bei einem Hosting-Anbieter in Frage (siehe nächster Abschnitt "Auswahl eines Hosting-Anbieters"), aber auch ein eigener Rechner zu Hause, wie etwa ein PC, ein RaspberryPi oder ein Netzlaufwerk (siehe nachfolgender Abschnitt "Lokal installierter Server"). Als virtueller Server kommt etwa ein Docker-Container in Frage. Eine Sonderform der Installation wäre, dass der Client und der Server auf dem selben Endgerät, also lokal, installiert sind.
Die einzelnen Komponenten des Servers sind
- Datenbank
- ftp-Server
- Zertifikatsspeicher
- Laufwerk mit den Programmdateien
- Web-Server
- PHP-Interpreter
- E-Mail-Server
Backend-Server
Der Backend-Server für webtrees liegt bei GitHub. Dort liegen die aktuelle Version von webtrees und die in Entwicklung befindlichen Versionen. Auch fast alle Erweiterungsmodule liegen bei GitHub. Beim automatischen Upgrade, veranlasst durch einen Administrator, lädt webtrees eigenständig eine neue webtrees-Version vom Backend-Server auf den webtrees-Server.
webtrees prüft regelmäßig über eine Abfrage auf dem Backend-Server, ob dort eine neuere Version vorliegt. Dazu wird die Datei "dev.webtrees.net/build/latest-version.txt" vom Backend-Server geladen. Diese Prüfaktion wird immer dann angestoßen, wenn irgendeine webtrees-Seite aufgerufen wird; die Prüfung erfolgt aber innerhalb 24 Stunden nur einmal. Für den Fall, dass ein Upgrade vorliegt, werden die Administratoren per E-Mail einmalig darüber informiert. Zusätzlich wird für einen angemeldeten Administrator an verschiedenen Stellen in der Bedienoberfläche ein Hinweis angezeigt.
Um eine Übersicht über die weltweit installierten webtrees-Instanzen zu bekommen, wird bei dieser Prüfung auf eine neue Version auch eine Information mit den wichtigsten Parametern des webtrees-Servers übertragen. Die dabei übermittelten Informationen sind
- eine eindeutige, anonymisierte Kennung der webtrees-Installation
- installierte webtrees-Version
- installierte PHP-Version
- installierte Version und Typ der Datenbank.
Die gewonnenen Statistikinformationen werden auf dieser webtrees-Seite publiziert.
Kommunikationsnetz
In den meisten Fällen kommunizieren die Client-Rechner mit dem webtrees-Server über eine Internet-Verbindung. Diese sollte möglichst schnell und verschlüsselt sein (https).
Die Verbindung zum Backend-Server erfolgt immer über das Internet und ist immer verschlüsselt.
Im gesamten obigen Abschnitt für die Fachbegriffe noch Links auf die wikipedia einfügen |
Server-Typen
Server im Internet
Der größte Teil der webtrees-Server befindet sich in einem Rechenzentrum eines Hosting-Anbieters und ist dort über das Internet erreichbar. Man kann einen webtrees-Server aber auch zu Hause betreiben (siehe nachfolgender Abschnitt "Lokal installierter Server").
Auswahl eines Hosting-Anbieters
Nach der Entscheidung für einen Server-Typ muss entschieden werden, wer diesen Server betreibt. Wenn man den Server nicht lokal installiert und selbst betreiben möchte, kommt dafür ein Hosting-Anbieter in Frage. Mit diesem schließt man einen entsprechenden Vertrag, der meist auch die Bereitstellung einer Internet-Domäne beinhaltet.
Spezialisierte Hosting-Anbieter für webtrees
Es gibt derzeit zwei Hosting-Anbieter, die sich auf webtrees spezialisiert haben. Sie bieten eine fertige und speziell auf die Anforderungen von webtrees ausgerichtete Installation auf Servern in der EU an und kümmern sich um die grundlegende Betriebssicherheit. Die Installation auf einem Server in der EU ist wichtig, da somit die europäischen Datenschutzregelungen greifen.
Ein webtrees-Hosting-Paket ist ideal für diejenigen, die webtrees nutzen möchten, sich aber nicht mit der Einrichtung und dem Betrieb der Anwendung beschäftigen möchten. Sie erhalten ein komplett installiertes und vorkonfiguriertes System und müssen sich nur um die genealogischen Daten kümmern. Alles andere erledigt der Dienstleister im Hintergrund. Er kümmert sich in der Rolle als Webmaster um die Technik, administriert das System und sorgt dafür, dass webtrees und die notwendigen Systemkomponenten immer auf dem neuesten Stand sind.
Anbieter | Land | Sprache | Preis | Besonderheiten |
---|---|---|---|---|
GenOnline | Deutschland | de | 131,40 €/a | persönliche Beratung bei der Nutzung von webtrees |
Hosting webtrees | Irland | en | 99 GBP/a | persönliche Beratung und kundenspezifische Anpassungen als Extra |
Hosting mit einem dedizierten oder geteilten Server im Internet
|
Hosting-Anbieter haben sehr unterschiedliche Angebote, so dass man sich genau überlegen sollte, welche Auswahlkriterien einem wichtig sind. Als erstes Kriterium muss man sich für die Art des Servers entscheiden
- Die günstigeren Angebote basieren darauf, dass man sich mit anderen Kunden einen physischen Server teilt. Man hat hier nur eingeschränkte Rechte und keinen vollen Zugriff auf Betriebssystem und Dateisystem des Servers.
- Wenn man einen Server exklusiv nutzen möchte, kommt ein dedizierter Server in Frage, der aber entsprechend teurer ist. Dafür wird auch die Performance entsprechend besser sein als bei einen Server, den man mit anderen Kunden teilt.
- Des weiteren gibt es virtuelle Server, die man exklusiv nutzt. Ein solcher Server ist eine virtuelle Maschine (VM), die auf einem physischen Server erstellt wird; die VM nutzt die Ressourcen des physischen Servers gemeinsam mit weiteren Virtuellen Servern.
Anbieter | Land | Sprache | Perfomance | Preis | Besonderheiten |
---|---|---|---|---|---|
Hetzner | DE | de | ? > 5000 Personen |
22,80 €/a 58,80 €/a |
1 Datenbank, WordPress, u.v.m. 10 Datenbanken, WordPress, u.v.m. |
Alfahosting | DE | de | ? | 24,00 €/a | 10 Datenbanken WordPress, Joomla!, Typo3, Drupal u.v.m. |
Dogado | DE | de | ? | 48,00 €/a | 10 Datenbanken Joomla!, Typo3, Drupal u.v.m. |
Strato | DE | de | ? | 48,00 €/a | 2 Datenbanken WordPress, Joomla!, Typo3, Drupall u.v.m. |
ionos by 1&1 | DE | de | ? | 48,00 €/a | 5 Datenbanken WordPress, Joomla!, Typo3, Drupal u.v.m. |
ALL-INKL.COM | DE | de | 50 GB, 100 Kunden pro Server 250 GB, 50 Kunden pro Server |
59,40 €/a 119,40 €/a |
5 Datenbanken 50 Datenbanken MySQL / MariaDB, WordPress, Joomla!, Typo3, Drupal, HTTPS / SSL / SSH u.v.m. |
bplaced pro | AT | de | Speicherlimit 128 MB CPU-Zeitlimit 30 s |
3,00 €/mtl. 36,00 €/a |
8 GB Speicher, 16 Datenbanken, PHP 8, MySQL / MariaDB, PostgreSQL, HTTPS / SSL für alle Seiten |
Lokal installierter Server
Für einen lokalen Server, der direkt beim Webmaster steht, kommen als Betriebssystem Windows, MacOS oder Linux in Frage. In Abhängigkeit davon werden für den Serverbetrieb unterschiedliche Softwarepakete benötigt, die im folgenden beschrieben werden.
Man kann webtrees aber auch auf einem Netzlaufwerk der Marke Synology oder auf einen Kleinstcomputer der Marke RaspberryPi betreiben.
Windows
MacOS
Linux
Synology Netzlaufwerk
RaspberryPi
Virtueller Server
docker beschreiben |
Installation von webtrees
Nachdem der Hosting-Anbieter bzw. der Server ausgewählt worden sind, steht die Installation von webtrees auf dem Server an. Die im Folgenden beschriebenen Schritte sind dabei erforderlich
- Voraussetzungen für die Installation herstellen (Systemumgebung und Server-Zugang prüfen, PHP konfigurieren, Datenbank anlegen, Web-Server und Internet-Anbindung konfigurieren)
- Programmdateien auf den Server laden
- Konfigurationsassistenten für die Ersteinrichtung nutzen
- Installation testen und GEDCOM-Testdaten hochladen
- Erweiterungsmodule installieren
Anstatt webtrees selbst zu installieren, kann man auch fertige Installationsdienste oder vorgefertigte Container-Lösungen nutzen, wenn der vorgesehene Host das unterstützt (etwa Docker, Installatron, OpenSuse, Puppet, Softaculous, Yunohost). Dazu gibt es ergänzende Hinweise in der Original-webtrees-Dokumentation. Für einige Hosting-Anbieter und Servertypen liegen dort ebenfalls noch zusätzliche Hinweise (für Bluehost, Cloudflare, Microsoft/IIS, OVH). Ansonsten zeigen die folgenden Abschnitte exemplarisch alle Schritte bei der Installation. Da jeder Server und jede Installationsumgebung Unterschiede aufweisen können, wird es auch bei Ihrer Installation Abweichungen geben.
Voraussetzungen für die Installation
Bevor webtrees installiert werden kann, muss die Systemumgebung geprüft oder vorbereitet werden. Bei den meisten Hosting-Angeboten wird bereits alles passend parat stehen, was für webtrees benötigt wird. Wenn man einen Server selbst aufsetzt, muss man die im folgenden beschriebenen Systemkomponenten installieren und konfigurieren. Insbesondere muss man sich um die erforderliche System-Sicherheit permanent und selber kümmern.
Systemumgebung
Die Webpräsenz sollte zumindest über einen FTP-Zugang[1] erreichbar sein, um den Datentransfer zu ermöglichen. Besser ist noch zusätzlich ein Fernwartungszugang per SSH[2] oder RDP[3], da hierüber noch mehr Möglichkeiten bestehen (bspw. Einrichtung von Cronjobs[4] oder Anpassung der Dateirechte).
Für die webtrees-Anwendung werden etwa 116 MB an Speicherplatz benötigt.[5] Dazu kommt der individuelle Platzbedarf für Medien- und GEDCOM-Dateien sowie Speicher für Erweiterungsmodule, Cachedaten und Upgrade-Dateien.
Weitere Anforderungen an die Server-Performance hängen stark von den eigenen Wünschen und Bereitschaft ab, was für die Webpräsenz investiert werden soll, mit welcher Anzahl Benutzern zu rechnen ist und der Menge an zu verwaltenden Datensätzen. Eine Idee für die Anforderungen an Arbeitsspeicher und zugesicherter Ausführungszeit der PHP-Skripte gibt Abschnitt Server überprüfen.
PHP
PHP muss für die aktuelle Version von webtrees in einer der folgenden Versionen installiert sein: 7.4, 8.0 oder 8.1. Die Version 7.4 wird noch bis zum 28. November 2022 gepflegt werden; danach wird diese Version auch von webtrees nicht mehr unterstützt, d.h. spätestens bis zu diesem Termin sollten alle alten webtrees-Installationen auf eine Version 2.1.x aktualisiert werden.
Je nachdem welche PHP-Version auf dem Web-Server installiert ist, können verschiedene Versionen von webtrees genutzt werden (näheres zu den Versionsbezeichnungen bei webtrees ist im nachfolgenden Abschnitt "Versionen von webtrees" beschrieben). Die folgende Tabelle zeigt die Abhängigkeiten zwischen den PHP- und den webtrees-Versionen.
PHP-Version | webtrees-Version | Status |
---|---|---|
8.0–8.1 | ab 2.1.0 | volle Unterstützung |
7.4 | 2.0.24 und ab 2.1.0 | volle Unterstützung bis zum 28.11.2022 |
7.1–7.3 | 2.0.24 | größere Fehler und Sicherheitsprobleme werden noch behoben |
5.3–7.3 | 1.7.20 | nicht mehr gepflegt |
5.2–5.6 | 1.4.6 | nicht mehr gepflegt |
webtrees benötigt die folgenden Erweiterungsbibliotheken
- ext-curl
- ext-gd
- ext-iconv
- ext-intl
- ext-json
- ext-pcre
- ext-pdo
- ext-session
- ext-simplexml
- ext-xml
- ext-zip
Die Situation ist allerdings nicht ganz einfach, denn es gibt für einige der erforderlichen Erweiterungen auch Ersatzlösungen[6]. Zum Beispiel werden in webtrees Funktionen von „php-mbstring“ verwendet, aber diese werden zusätzlich auch über „symfony/polyfill-mbstring“ eingebunden. webtrees funktioniert also auch ohne die PHP-Erweiterung, wenngleich auch etwas langsamer.
Dasselbe gilt für „php-calendar“, das von „fisharebest/ext-calendar“ ersetzt werden kann. Es kann auch noch weitere Funktionen geben, die in ähnlicher Form, eventuell mit eingeschränkter Funktionalität arbeiten, wenn die eigentliche Bibliothek fehlt.
Welche PHP-Erweiterungen aktuell installiert sind, lässt sich über den Menüpunkt "Webseite / Server Information“ im Verwaltungsmenü anzeigen.
Datenbank
webtrees verwendet die Laravel-Datenbankkomponente und unterstützt damit folgende gängige DBMS[7] [8]:[9]
- MySQL[10] - Version 5.7 oder höher
- MariaDB[11] - Version 10.3 oder höher
- PostgreSQL[12] - Version 9.6 oder höher
- SQLite[13] - Version 3.8.8 oder höher
- Microsoft SQL Server[14] - 2017 oder höher
MySQL/MariaDB wird für Produktionsserver empfohlen. webtrees verwendet die Sortierfunktionen von MySQL, um Namen in verschiedenen Sprachen korrekt zu suchen und zu sortieren.
PostgreSQL und SQL-Server sind weitgehend ungetestet, sollten aber funktionieren.
SQLite eignet sich gut für kleine Websites, ist aber bei vielen gleichzeitigen Benutzern nicht gut skalierbar.
Bei der Einrichtung der Datenbank besteht mit dem Tabellennamen-Präfix (Vorgabewert ist wt_
) die Möglichkeit mehrere Anwendungen in einer Datenbank kollisionsfrei abzuspeichern. Dies sollte nur erfolgen, wenn nicht ausreichend Datenbanken im Hosting-Paket enthalten sind. Grundsätzlich sollte für jede Anwendung eine eigene Datenbank zum Einsatz kommen, was den Betrieb[15] vereinfacht. Aus Sicherheitsgründen ist auch die Verwendung unterschiedlicher Datenbanknutzer zweckmäßig.
Derzeit unterstützt webtrees bei der Zeichenkodierung in der Datenbank nur UTF8_MB3, aber nicht UTF8_MB4. Dadurch ist es nicht möglich Texte oder andere Datenfelder zu speichern, die etwa Emoji enthalten.[16] |
Web-Server
Beschreiben: welche Webserver kommen in Frage (Apache, Microsoft IIS, ...)? |
Internet-Anbindung
Entweder ist eine Internet-Domäne bereits Bestandteil des Vertrages mit dem Hosting-Anbieter oder diese muss separat bei einem Anbieter von Internet-Domänen gemietet werden. Als Beispiel wird im Folgenden die Domäne musterfamilie.de
verwendet.
Der Zugang zu webtrees sollte in jedem Fall verschlüsselt erfolgen, d.h. es sollte das Protokoll https zur Verwendung kommen. Von einer ungesicherten Anbindung mit http wird abgeraten.
Es gibt zwei mögliche Konfigurationen, wie webtrees über das Internet von einem Browser adressiert werden kann
- webtrees direkt in die Heimatseite integriert:
https://musterfamilie.de
- webtrees in einer Subdomain, etwa "ahnen", zur Heimatseite:
https://ahnen.musterfamilie.de
Die Variante mit der Subdomain bietet sich insbesondere dann an, wenn noch weitere Anwendungen in der Domäne installiert werden sollen (etwa Wordpress). Nicht in jedem Mietvertrag für die Heimatseite wird es eine Option geben, die die freie Wahl von Subdomains vorsieht. Wenn man die Variante mit der Subdomain wählt, dann installiert man webtrees in einen Unterordner des Hauptverzeichnisses des Web-Servers, etwa in den Ordner "webtrees" und ordnet in der Domänen-Verwaltung des Servers diesen Unterordner der Subdomain zu.
Aber auch wenn man keine Subdomain nutzen möchte oder kann, sollte man webtrees in einen eigenen Unterordner des Hauptverzeichnisses des Web-Servers installieren, etwa in den Ordner "webtrees". Dann ist es möglich zukünftig auch noch andere Anwendungen in der Domäne zu betreiben und zu adressieren. Die Adressierung in einem auf webtrees zugreifenden Browser sieht dann so aus
- webtrees in einem Unterordner der Heimatseite integriert:
https://musterfamilie.de/wetrees
Die Anbindung an das Internet sollte eine hohe Datenrate bieten und ausfallsicher gestaltet sein. Wenn man ein Hosting-Angebot nutzt, wird man sich darum nicht kümmern müssen. Wenn man webtrees auf einem lokalen Server installiert hat und den Wunsch hat, dass dieser aus dem Internet erreichbar sein soll, dann muss man sich eine dynamische Internet-Adresse besorgen, diese einrichten und im eigenen Router eine Port-Weiterleitung zu dem eigenen Web-Server konfigurieren.
Noch beschreiben: Installation der Zertifikate für https (für Domain bzw. Subdomain) |
Werkzeuge für den Webmaster
Neben den Voraussetzungen auf der Seite des Servers, benötigt man als Webmaster noch lokale Programme.
Beschreiben: Browser, ftp-Programm, Datenbankmanagement-Programm, E-Mail, ... |
Werkzeuge für einen Programmierer
Erstinstallation von webtrees
Beschreiben: Aktuelle Version runterladen, entpacken, hochladen per ftp |
Ersteinrichtung
Nach dem Kopieren der webtrees-Anwendungsdaten auf den Webserver muss für den Abschluss der Ersteinrichtung in einem Web-Browser die neue Site aufgerufen werden. Dies sollte unmittelbar passieren, damit niemand Unbefugtes Schaden anrichten kann.
Sprache festlegen
Wird die Konfigurationsdatei data/config.ini.php
bei der Ausführung nicht gefunden, wird automatisch der Einrichtungsassistent angezeigt, der zunächst mit der Sprachauswahl beginnt.
Server überprüfen
Es folgt die Prüfung der Serverleistung[17]: Die Speicher- und Prozessorzeit-Anforderungen sind abhängig von der Anzahl der Personen in Ihrem Stammbaum und den Möglichkeiten des genutzten Webhostings. Die Seite zeigt eine kurze Liste typischer Anforderungen:
- Kleiner Stammbaum (500 Personen): 16-32 MB Hauptspeicher, 10-20 Sekunden Prozessorzeit
- Mittlerer Stammbaum (5000 Personen): 32-64 MB Hauptspeicher, 20-40 Sekunden Prozessorzeit
- Großer Stammbaum (50000 Personen): 64-128 MB Hauptspeicher, 40-80 Sekunden Prozessorzeit
Datenbankanbindung konfigurieren
Bei den meisten Installationen dürfte MySQL/MariaDB zum Einsatz kommen, siehe oben.
Je nach DBMS-Wahl müssen unterschiedliche Parameter für die Datenbank-Verbindung angegeben werden:
- Servername (vermutlich localhost, da der Server meistens auf dem selben Host wie der Webserver ausgeführt wird)
- Portnummer (Standard: MySQL=3306 / PostgreSQL=5432 / MS SQL=1433)
- Datenbankbenutzer und Passwort
- ggf. ein Tabellenpräfix (wenn in einer Datenbank Tabellen unterschiedlicher Anwendungen abgelegt werden)
Bei SQLite beschränkt es sich auf den Ablagepfad der Datei und das Tabellenpräfix.
Administratorkonto einrichten
Zum Abschluss der Einrichtung werden noch Informationen für die Erstellung des Administratoren-Kontos abgefragt.
Danach erfolgt die Weiterleitung zum Formular, um den ersten Stammbaum anzulegen.
config.ini.php
Die Haupt-Konfigurationsdatei data/config.ini.php
kann nach der Ersteinrichtung folgendermaßen aussehen:
; <?php return; ?> DO NOT DELETE THIS LINE
dbtype="mysql"
dbhost="localhost"
dbport="3306"
dbuser="webtrees"
dbpass="Geheimes-Passwort"
dbname="webtrees"
tblpfx="wt_"
base_url="https://musterfamilie.de/webtrees"
rewrite_urls="0"
Es ist eingentlich eine INI-Datei[18] mit Schlüssel-Wert-Paaren, die in einer PHP-Datei verpackt wurde. Zur zusätzlichen Absicherung der Daten - neben dem Verzeichnisschutz - ist die erste Zeile wichtig, da sie die Ausgabe im Browser verhindert. Weitere Details können auch dem Abschnitt zu Pretty-URLs entnommen werden.
Test der Installation
Nachdem die Erstinstallation abgeschlossen ist, sollte in einem ersten Test die einwandfreie Funktion der Website geprüft werden.
Noch beschreiben: wie testet man am besten? Hochladen von GEDCOM-Testdaten. |
Installation von Erweiterungsmodulen
Nach dem erfolgreichen Test können nun noch Erweiterungsmodule installiert werden (siehe dazu den Abschnitt "Erweiterungsmodule"). Dies sollte schrittweise erfolgen, damit bei eventuell auftretenden Problemen das verursachende Erweiterungsmodul leichter identifiziert werden kann.
Als Webmaster können Sie auf dem Server im Ordner "/modules_v4" installierte Erweiterungsmodule durch eine Umbenennung auf einfache Art deaktivieren. Dazu müssen Sie in den Ordnernamen einen "." (Punkt) einfügen, etwa indem Sie an den Ordnernamen ein ".disable" anhängen. Also indem Sie etwa den Ordner "jc-theme-justlight" in "jc-theme-justlight.disable" umbenennen. Solche Ordner sind dann für webtrees unsichtbar. Durch das Entfernen des angehängten Namensbestandteils zu einem späteren Zeitpunkt, wird das Erweiterungsmodul wieder für webtrees sichtbar. Diese Funktion reicht somit tiefer als das Aktivieren oder Deaktivieren von Erweiterungsmodulen im Menü "Module" durch einen Administrator und ist immer dann zu empfehlen, wenn vermutet wird, dass ein Erweiterungsmodul Fehler verursacht.
Upgrade
Eine Aktualisierung von webtrees geht schnell und einfach. Falls der Kern von webtrees auf einen neuen Versionsstand gebracht werden soll, stehen zwei verschiedene Wege zur Verfügung: das automatische und das manuelle Verfahren. Für die Aktualisierung eines Erweiterungsmoduls steht nur das manuelle Verfahren zur Verfügung.
Upgrade von webtrees
Das Vorliegen einer neuen Version wird dem Administrator in einer Hinweiszeile angezeigt. Es wird dringend empfohlen, die Installation zu aktualisieren, sobald eine neue Version von webtrees zur Verfügung steht. Selbst kleinere Upgrades enthalten in der Regel eine erhebliche Anzahl von beseitigten Fehlern sowie Verbesserungen in der Bedienoberfläche oder Programmerweiterungen. Gefundene und behobene Sicherheitslücken führen immer zu einer neuen Version, die dann schnellstmöglich eingespielt werden sollte. Falls nicht sowieso regelmäßig Datensicherungen erstellt werden, sollte vor einem Update immer eine Sicherung durchgeführt werden. |
Versionen von webtrees
Die Versionsnummern von webtrees in der Form x.y.z, also etwa 2.1.3, folgen folgendem Schema
- die erste Zahl "x" kennzeichnet eine Hauptversion, die nicht miteinander kompatible Versionen unterscheidet.
Die Datenbankstruktur von webtrees in der Version 1 und die internen Schnittstellen der Module passen nicht zur Version 2. Erweiterungsmodule für webtrees 1 funktionieren also nicht mit der Version 2 und umgekehrt. Ein Upgrade bei einem Wechsel der Hauptversion ist nur manuell möglich. Hierzu gibt es eine spezielle Anleitung und es müssen umfangreiche Vorbereitungen für das Upgrade getroffen werden.
- die zweite Zahl "y" kennzeichnet eine neue Version, die grundsätzlich neue Funktionen und geänderte interne Schnittstellen mit sich bringt.
Erweiterungsmodule können kompatibel sein, sind es aber wahrscheinlich eher nicht. Vor dem Einspielen eines Updates sollte also geprüft werden, ob alle im Einsatz befindlichen Erweiterungsmodule in einer kompatiblen Version vorliegen. Der Wechsel von Version 2.0 zur Version 2.1 etwa betrifft so viele interne Schnittstellen, dass die meisten Erweiterungsmodule angepasst werden müssen. Bei einem Wechsel der webtrees-Version kann es auch vorkommen, dass andere Versionen von PHP unterstützt werden, so dass der Webmaster gleichzeitig auch einen Wechsel der PHP-Version vornehmen kann oder muss.
- die dritte Zahl "z" kennzeichnet eine Unterversion, die etwa gefundene Fehler behebt oder kleinere Anpassungen mit sich bringt.
Im Normalfall werden die meisten Erweiterungsmodule von diesen Änderungen nicht betroffen sein und können deshalb weiter verwendet werden.
Eine Übersicht über alle bislang vorliegenden Versionen von webtrees ist im Kapitel "Allgemeine Erläuterung des Programms" aufgeführt.
Automatisches Upgrade
webtrees hat die Fähigkeit, sich automatisch zu aktualisieren. Im Rhytmus von nicht weniger als 24 Stunden sucht webtrees frühestens nach einer aktualisierten Version. Sollte ein Upgrade verfügbar sein, erscheint eine Hinweiszeile mit einem Link, sofern man als Administrator angemeldet ist. Durch einen Klick auf den Link kann der Administrator den Upgrade-Assistenten für das automatische Update nutzen.
Automatische Upgrades sind von Berechtigungen und Ressourcen auf dem Server abhängig. Die verwendeten PHP-Skripte benötigen die Berechtigung
- Dateien vom webtrees-GitHub-Server über eine gesicherte Kommunikation auf den webtrees-Server zu kopieren.
- Dateien auf dem Server zu überschreiben. Wenn der Webserver Skripte als anonymer Benutzer ausführt, dann wird er keine Berechtigung haben, Dateien zu aktualisieren. Wenn Sie also aufgefordert werden, die Berechtigungen des Ordners /data auf 777 zu ändern, können Sie das automatische Upgrade nicht verwenden; sie müssen in diesem Fall dann ein manuelles Upgrade durchführen oder die Voraussetzungen für das automatische Upgrade schaffen.
Der Server muss ausreichend leistungsfähig sein, um das Upgrade abzuschließen, ohne CPU- und Speichergrenzen zu überschreiten. Der Server muss ungefähr 130 MB freien Speicherplatz haben, um die neue Version zu speichern und zu entpacken. Das Upgrade dauert normalerweise zwischen 15 und 60 Sekunden. Wenn nach fünf Minuten keine Antwort erfolgt ist, dann wurde wahrscheinlich eine CPU-Zeitbegrenzung erreicht und das Upgrade ist fehlgeschlagen.
Noch beschreiben: was muss der Webmaster genau tun, damit sein Server die benötigten Fähigkeiten hat |
Der automatische Upgrade-Prozess erfolgt in den folgenden Schritten
- Falls die Vesta-Erweiterungsmodule installiert sind, erfolgt ggf. eine Warnung, dass diese Erweiterungsmodule eventuell mit der neuen Version von webtrees nicht kompatibel sein könnten (siehe nebenstehende Abbildung). Hier sollte man also den Prozess ggf. abbrechen, wenn man erst die Kompatibilität prüfen möchte. Andere Erweiterungsmodule verwenden keine solche Benachrichtigungsfunktion. Hilfreich ist immer ein Blick ins webtrees-Forum und auf die GitHub-Seiten der installierten Erweiterungsmodule. Ein Upgrade auf einem webtrees-Testserver kann die Sicherheit bringen, dass sich die installierten Erweiterungsmodule mit der neuen webtrees-Version vertragen werden; erst danach sollte dann das Upgrade im Produktivsystem eingespielt werden.
- Danach wird ein Verzeichnis "/data/tmp/upgrade" angelegt, in das temporär die neuen Dateien geladen werden.
- Nun wird geprüft, ob es noch Änderungen von Daten in den Stammbäumen gibt, die noch nicht vom Moderator freigegeben wurden (siehe Abschnitt "Freigeben von Änderungen durch einen Moderator"). Der Upgrade-Prozess bricht aber nicht ab, wenn noch solche Änderungen vorliegen, es erfolgt lediglich eine Warnmeldung.
- Alle Stammbäume werden automatisch exportiert, d.h. es wird für jeden Stammbaum im Verzeichnis "/data" eine aktuelle GEDCOM-Datei angelegt (der Dateiname enthält das Datum des Exports).
- Vom webtrees-GitHub-Server wird die neue webtrees-Version als zip-Datei in das im Schritt 2 angelegte Verzeichnis kopiert.
- Dateien in den Verzeichnissen "/app", "/resources" und "/vendor", die nicht mehr benötigt werden, werden gelöscht.
- Die zip-Datei wird in das temporäre Verzeichnis entpackt und die entpackten Dateien werden dann an das Zielverzeichnis kopiert.
- Zum Abschluss öffnet sich das Verwaltungsmenü. Hier kann vom Administrator kontrolliert werden, ob die neue Version korrekt angezeigt wird.
Manuelles Upgrade
Beim manuellen Upgrade lädt der Webmaster eine neue, freigegebene Version von webtrees auf einen lokalen Rechner herunter und entpackt diese Version dort. Falls Erweiterungsmodule installiert sind, sollte überprüft werden, ob diese mit der neuen Version von webtrees kompatibel sind. Eventuell stehen für diese Module auch Upgrades zur Verfügung.
Während neue Dateien hochgeladen werden, würde ein Besucher der Website auf eine Mischung aus alten und neuen Dateien stoßen. Dies würde ein unvorhersehbares Verhalten oder Fehler verursachen. Um dies zu verhindern, muss vor dem Kopieren die Datei "/data/offline.txt" angelegt werden. Solange diese Datei existiert, werden die Besucher der Website eine Meldung sehen wie "Die Webseite befindet sich im Wartungsmodus. Sie sollten es in einigen Minuten erneut versuchen.". Wenn die Datei "offline.txt" leer ist, wird diese Standardnachricht angezeigt; alternativ kann man eine besondere Nachricht in diese Datei schreiben, so dass die Besucher ersaztweise diese Meldung sehen. Man sollte als nächstes die Verzeichnisse "/app", "/resources" und "/vendor" löschen, damit alte Dateien entfernt werden. Dann werden alle Ordner und Dateien mit einem ftp-Programm in das webtrees-Verzeichnis auf dem Webserver kopiert. Nach dem Kopieren der Dateien auf den Server muss die Datei "/data/offline.txt" wieder entfernt werden. Auch wenn der Administrator in der Systemsteuerung ein anderes Verzeichnis für den Datenordner gewählt haben sollte, der Speicherort für diese Datei ist immer im Verzeichnis "/data".
Beim Wechsel von einer Unterversion zu einer anderen, kann man üblicherweise den Inhalt der Dateien auf dem Server einfach überschreiben. Beim Wechsel zu einer neuen Version oder gar einer Hauptversion empfiehlt es sich alle Dateien im webtrees-Verzeichnis auf dem Server zuvor zu löschen. Davon ausgenommen ist die Datei .htaccess im Stammverzeichnis von webtrees und die Dateien im Unterverzeichnis "/data".
Wie verläuft ein Upgrade, wenn man Composer einsetzt? |
Upgrade in Abhängigkeit von der Ausgangsversion
Wenn Sie derzeit eine der unten aufgeführten Versionen von webtrees verwenden, gibt es beim Upgrade zusätzliche Dinge zu beachten.
- webtrees bis 2.0.24: beim Update auf die Version 2.1 ändern sich in Vorbereitung auf den GEDCOM-Standard 7.0 einige Datenfelder
- webtrees 2.0.8: Diese Version enthält einen Fehler im Auto-Upgrade-Code, daher wurde die Version schnell ersetzt, aber einige Benutzer haben sie installiert. Um den automatischen Upgrade-Assistenten wieder verwenden zu können, müssen zwei Dateien bearbeitet werden
- Bearbeiten Sie zunächst "/app/Factories/FilesystemFactory.php" und ändern Sie Zeile 40 von „/../../..“ in „/../…“. Dies behebt den Fehler.
- Bearbeiten Sie zweitens "/app/Webtrees.php" und ändern Sie Zeile 101 von „2.0.8“ in „2.0.7“. Dadurch wird das automatische Upgrade wieder aktiviert.
- webtrees 1.7.10 – 1.7.20: Es sind vor einem manuellen Upgrade auf die Version 2 diverse Änderungen an den Einstellungen, der Serverkonfiguration und eventuell auch Anpassungen in den genealogischen Daten notwendig. Daher sollten Sie unbedingt diese Anleitung vor dem Upgrade beachten.
- webtrees 1.4.0 – 1.7.9: Es muss vor einem Umstieg auf die Version 2 erst ein Upgrade auf die Version 1.7.20 erfolgen.
- webtrees 1.0.0 – 1.3.2: Vor einem Upgrade muss zuerst die „Medien-Firewall“ deaktiviert werden (siehe Anleitung in englischer Sprache); dann muss ein manuelles Upgrade auf die Version 1.7.20 durchgeführt werden.
- phpGedView: In webtrees 1.7.20 ist ein spezieller Migrationsassistent für das Vorgänger-Programm phpGedView integriert. Sie sollten daher diese Version als neue Instanz neben phpGedView installieren und dann den Migrationsassistenten nutzen. Beachten Sie, dass Sie keine funktionierende phpGedView-Installation benötigen. Sie benötigen nur die Datenbank und den Ordner "index". Nähere Hinweise finden Sie in der englischsprachigen Dokumentation.
- Alle hier eventuell benötigten älteren Versionen von webtrees findet man auf der webtrees-Download-Übersichtsseite.
Upgrade eines Erweiterungsmoduls
Wenn eines der Erweiterungsmodule in einer neuen Version vorliegt, erhält der Administrator beim Aufruf der Verwaltungsseite eine entsprechende Nachricht.
Noch beschreiben: wie findet man heraus welches Erweiterungsmodul die Meldung erzeugt hat und wo man die aktuellere Version findet |
Dann lädt man als Webmaster das neue Release des Erweiterungsmoduls auf den lokalen Rechner herunter und entpackt den Inhalt. Eventuell muss man den gefundenen Ordnernamen noch entsprechend der Anleitung zu diesem Modul umbenennen, etwa von einer angehängten Versionsnummer befreien. Danach lädt man den Ordner mit einem ftp-Programm ins Verzeichnis modules_v4 der webtrees-Installation und überschreibt den dortigen Inhalt (man kann auch den alten Ordner mit dem Erweiterungsmodul auf dem Server zuvor löschen).
Zum Abschluss muss im Browser das Fenster mit webtrees erneut geladen, d.h. aufgefrischt werden, damit die Änderung sichtbar wird.
Pretty-URLs
Internet-Adressen, wie "https://musterfamilie.de", werden für Unterseiten durch weitere Bestandteile ergänzt. Für webtrees gibt es dabei zwei mögliche Varianten, wie diese Adressen aussehen können. In ihrer Funktion sind sie identisch. Die URL-Varianten sind[21]
- Standard-URL:
https://musterfamilie.de/webtrees/index.php?route=/tree/demo
- Pretty-URL[22]:
https://musterfamilie.de/webtrees/tree/demo
Die zweite Variante hat den Vorteil, dass sie keinen Rückschluss darüber zulässt, welche Technik hinter der Website steckt (bei der ersten Variante erkennt man sofort, dass PHP verwendet wird). Das ist aus Sicherheitsgründen zu bevorzugen. Und die zweite Variante ist auch für Menschen einfacher zu lesen. Um Pretty-URLs ("hübsche URLs") zu aktivieren, benötigen Sie zwei Dinge
- Sie müssen Ihren Webserver so konfigurieren, dass er "Pretty-URLs" akzeptiert und sie an webtrees weiterleitet. Die genaue Konfiguration ist bei jedem Server anders.
Die Grundkonfiguration ist wie folgt- Statische Dateien werden in
/public
aufbewahrt. Diese können direkt ausgeliefert werden, wobei lange expires-Header verwendet werden. - Dynamische Seiten werden von
index.php
generiert. Alle nicht-statischen URLs sollten auf/index.php
abgebildet werden. - Andere Dateien und Ordner sind privat und sollten nicht zugänglich gemacht werden, z. B.
/app
,/data
,/modules
,/resources
,/vendor
.
- Statische Dateien werden in
- Sie müssen webtrees anweisen, Pretty-URLs zu erzeugen. Dazu müssen Sie zwei Zeilen in der Datei data/config.ini.php hinzufügen bzw. ändern:
base_url="https://musterfamilie.de/webtrees"
rewrite_urls="1"
Nachdem Sie Pretty-URLs aktiviert haben, erkennt webtrees weiterhin die Standard-URLs. Alle Lesezeichen und Suchmaschinen-Links funktionieren also weiterhin.
Beispiel-Konfiguration für NGINX
Hier ein Beispiel für eine NGINX-Konfiguration für webtrees, die in einem Unterordner /webtrees/
installiert ist.
# Static files have versions in their URLs, and can be cached indefinitely.
location /webtrees/public {
expires 365d;
access_log off;
}
# GIT config files can contain credentials or other sensitive data.
location /webtrees/.git {
deny all;
}
# User data is stored here by default.
location /webtrees/data {
deny all;
}
# Nothing sensitive here, but there is no need to publish it.
location /webtrees/app {
deny all;
}
location /webtrees/modules {
deny all;
}
location /webtrees/resources {
deny all;
}
location /webtrees/vendor {
deny all;
}
# Rewrite all other requests onto the webtrees front-controller.
location /webtrees/ {
rewrite ^ /webtrees/index.php last;
}
# webtrees runs from this one script.
location = /webtrees/index.php {
include fastcgi.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}
Beispiel-Konfiguration für Apache
Unterstützt der Server .htaccess-Dateien? Um dies zu testen, versuchen Sie, die webtrees-Konfigurationsdatei im Browser anzuzeigen (z. B. https://<Ihre.site.com>/data/config.ini.php
). Wenn .htaccess-Dateien unterstützt werden, erhalten Sie den Fehler "403/Access-denied". Wenn nicht, dann sehen Sie eine Seite, die nur ein Semikolon enthält.
Speichern Sie die folgende .htaccess
-Datei im webtrees-Ordner:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /webtrees/
# GIT config files can contain credentials or other sensitive data.
RewriteRule \.git - [F]
# User data is stored here by default.
RewriteRule ^data(/|$) - [F]
# Nothing sensitive here, but there is no need to publish it.
RewriteRule ^app(/|$) - [F]
RewriteRule ^modules - [F]
RewriteRule ^resources(/|$) - [F]
RewriteRule ^vendor(/|$) - [F]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Ändern Sie den Eintrag für RewriteBase
so, dass er mit dem Pfadteil der webtrees-URL übereinstimmt; wenn sie webtrees in einer Subdomäne installiert haben, etwa "https://webtrees.musterfamilie.de", dann lautet dieser Eintrag RewriteBase /
.
Datensicherheit und Datenschutz
Sichere Kommunikationsverbindung
https ...
Logfile-Überwachung
Zugriffsschutz
Dateirechte
.htaccess
robots.txt
Cookies
webtrees verwendet ein First-Party-Session-Cookie namens "__Secure-WT-ID". Es ist technisch erforderlich und bedarf daher nicht der Zustimmung des Nutzers.
Drittdienste
beschreiben, dass die Statistikgrafiken derzeit auf Google-Technik basieren und daher IP-Adressen an Google transferiert werden |
Die html-Blöcke auf der Startseite eines Stammbaums und auf der "Meine Seite" unterstützen auch die Einbindung von externen Webseiten (etwa um externe Grafiken oder externen Code dort einzubinden). Damit gelangen auch Informationen über die Nutzer der Website an Drittdienste, so dass diese Funktionen in einer individuell erstellten Datenschutzerklärung dokumentiert werden müssen.
Nachverfolgungs- und Analyse-Dienste
Noch genauer beschreiben |
Der Administrator kann in webtrees verschiedene Nachverfolgungs- und Analyse-Module aktivieren.
- Bing™ Webmaster Tools - https://www.bing.com/toolbox/webmaster
- Google™ Analytics - https://www.google.com/analytics
- Google™ Webmaster Tools - https://www.google.com/webmasters
- Matomo™ / Piwik™ Analytics - https://matomo.org
- Statcounter™ - https://statcounter.com
Diese Module erfassen und speichern Nutzungsinformationen und bereiten diese in Statistiken auf. Sobald diese Module aktiviert werden, werden die Hinweise in der automatisch erzeugten Datenschutzerklärung entsprechend ergänzt.
Datenschutzerklärung und Impressum
Das folgende sind nur erste Stichpunkte zu den relevanten Positionen ... |
- Standard-Erklärung versus eigenes Modul
- Einbindung von Funktionen im CCS/Javascript-Modul
Suchmaschienenoptimierung
Die Auffindbarkeit von webtrees-Seiten durch Suchmaschinen kann erwünscht oder unerwünscht sein.
Wenn man nicht möchte, dass die Seiten gefunden werden, dann muss man die im Abschnitt "robots.txt" beschriebene Funktion nutzen und die Einstellungen in der webtrees-Verwaltung wie im Abschnitt "Datenschutz" verwenden, um Informationen für Besucher unsichtbar zu machen. Suchmaschinen greifen mit den selben Rechten auf webrees-Seiten zu wie Besucher.
Auf der anderen Seite kann es sinnvoll sein, dass einige der Informationen, die man in den Stammbäumen hinterlegt hat, durch Suchmaschinen indiziert werden. So können andere Familien- oder Ahnenforscher oder entfernte Familienmitglieder auf diese Informationen aufmerksam werden, wenn sie etwa nach einem Familiennamen im Internet suchen. Dadurch kann man dann mit diesen in Kontakt kommen und so die eigene Forschung entsprechend erweitern.
|
sitemap.xml
|
|
Backup der genealogischen Daten und der Datenbank
Da ein jedes IT-System durch technische Probleme, durch Fehlkonfigurationen oder durch Cyber-Attacken gestört werden kann, ist es unbedingt erforderlich ein Backup-Konzept zu erstellen. Die webtrees-Anwendung selbst kann jederzeit wieder frisch installiert werden, aber die genealogischen Daten und die in der Datenbank hinterlegten Einstellungen müssen regelmäßig gesichert werden.
Eventuell legt der Hosting-Anbieter bereits automatisch regelmäßige Backups an. Wenn dies nicht der Fall sein sollte, dann muss der Webmaster sich selbst darum kümmern.
Backup der genealogischen Daten
Um die genealogischen Daten zu sichern, sollten alle in webtrees angelegten Stammbäume regelmäßig durch den Webmaster als GEDCOM-Datei exportiert werden. Diese GEDCOM-Dateien sollten mit einem Datum im Dateinamen versehen werden und nicht nur auf dem Server gespeichert werden, sondern auch auf einem anderen sicheren Datenträger archiviert werden. Dieser Datenträger sollte nicht online sein, d.h. er sollte nicht permanent aus dem Internet zugänglich sein.
Die Mediendateien, die etwa im webtrees-Verzeichnis "/data/media" gespeichert sind, müssen ebenfalls regelmäßig mit Hilfe eines ftp-Programms gesichert werden. Die Vorschaubilder (thumbnails) brauchen nicht gesichert zu werden, da sie bei Bedarf jederzeit automatisch wieder neu erzeugt werden.
Auch die Einstellungen in "/data/config.ini" müssen gesichert werden.
webtrees bietet alternativ auch die Möglichkeit, dass der Verwalter oder der Administrator statt dem Webmaster die Datensicherung übernehmen können. Dazu muß der Verwalter für seinen Stammbaum oder der Administrator für alle Stammbäume das Verwaltungsmenü aufrufen und dort einen Export der GEDCOM-Daten und der zugehörigen Mediendateien, in einer zip-Datei verpackt, anstossen.
Backup der webtrees Datenbank
Jeder Hosting-Anbieter bietet einen Zugang zu der von webtrees genutzten Datenbank, etwa durch das Werkzeug "phpMyAdmin".
|
Wählen Sie für die Datensicherung im Hauptfenster von phpMyAdmin im oberen Menü „Exportieren“ und dann „Los“. Wählen Sie nach einigen Sekunden aus, wohin Sie exportieren möchten, und klicken Sie auf die Schaltfläche „Speichern“, um die Sicherung auf Ihren Computer herunterzuladen.
Wenn Sie eine gesicherte Datenbank wieder installieren möchten, dann nutzen Sie dafür ebenfalls phpMyAdmin. Wählen Sie im Hauptfenster im oberen Menü „Importieren“ und dann „Los“, damit die vorhandenen Tabellen durch die gesicherten ersetzt werden.
Neuinstallation von Webtrees-Dateien
Löschen Sie alle Ordner im webtrees-Verzeichnis bis auf den Ordner "/data". Löschen Sie im Hauptverzeichnis alle Dateien bis auf die Datei ".htaccess". Nun laden Sie wie bei der Erstinstallation die aktuellste Version von webtrees auf ihren lokalen PC und dann mit einem ftp-Programm auf ihren Server ins Verzeichnis webtrees.
Erweiterungsmodule
webtrees ist so konzipiert, dass es durch Module erweitert und modifiziert werden kann. Erweiterungsmodule sind entweder funktionale Erweiterungen des webtrees-Kerns oder zusätzliche Themen (Gestaltung der Bedienoberfäche), welche von Mitgliedern der webtrees-Gemeinschaft erstellt und der Allgemeinheit zur Verfügung gestellt wurden. Erweiterungsmodule sind nicht Bestandteil der Erstinstallation von webtrees oder von Upgrades und müssen daher separat installiert und aktualisiert werden.
In diesem Unterkapitel werden alle bekannten Erweiterungsmodule aufgeführt, welche entweder auf der webtrees-Seite "Download - Modules and themes" oder in GitHub veröffentlicht wurden.
Einzelnachweise
- ↑ Artikel File_Transfer_Protocol. In: Wikipedia, Die freie Enzyklopädie.
- ↑ Artikel Secure_Shell. In: Wikipedia, Die freie Enzyklopädie.
- ↑ Artikel Remote_Desktop_Protocol. In: Wikipedia, Die freie Enzyklopädie.
- ↑ Artikel Cron. In: Wikipedia, Die freie Enzyklopädie.
- ↑ Der Speicherplatzbedarf verteilt sich auf die Unterverzeichnisse 18 MB ./resources, 82 MB ./vendor, 9 MB ./app und 8 MB ./public.
- ↑ Artikel Polyfills. In: Wikipedia, Die freie Enzyklopädie.
- ↑ Artikel DBMS. In: Wikipedia, Die freie Enzyklopädie.
- ↑ Für das gewünschte DBMS ist dann ggf. die Installation/Aktivierung weiterer php-extensions erforderlich.
- ↑ Übersetzung des Abschnitts "Database Requirements" von https://webtrees.net/install/requirements/ wurde hier eingearbeitet.
- ↑ Artikel MySQL. In: Wikipedia, Die freie Enzyklopädie.
- ↑ Artikel MariaDB. In: Wikipedia, Die freie Enzyklopädie.
- ↑ Artikel PostgreSQL. In: Wikipedia, Die freie Enzyklopädie.
- ↑ Artikel SQLite. In: Wikipedia, Die freie Enzyklopädie.
- ↑ Artikel Microsoft_SQL_Server. In: Wikipedia, Die freie Enzyklopädie.
- ↑ Beispielsweise sind die Ausfälle durch Wartungen nur auf eine Anwendung berenzt und Backup & Restore sind ohne Seiteneffekte umsetzbar.
- ↑ Vgl. auch: https://github.com/fisharebest/webtrees/issues/2950.
- ↑ Anpassungen für den bereitgestellten Arbeitsspeicher und die Ausführungszeit müssen in der Konfiguration von PHP über die php.ini-Direktiven memory_limit und max_execution_time vorgenommen werden.
- ↑ Artikel Initialisierungsdatei. In: Wikipedia, Die freie Enzyklopädie.
- ↑ Artikel UTF-8. In: Wikipedia, Die freie Enzyklopädie.
- ↑ Vgl. auch: https://webtrees.net/faq/config-ini-php/.
- ↑ Übersetzung der Seite https://webtrees.net/faq/urls/.
- ↑ Artikel Clean URL. In: Wikipedia, Die freie Enzyklopädie.