Webtrees - Einrichtungs-Assistent

Liebe Erfahrene,

Ich bin dabei, webtrees auf meinem Server zu installieren :slight_smile:

Provider ist Hetzner. Auf dem Server läuft bisher meine Website bärlocher.de
und in der SubDomain familie.bärlocher.de eine erste Familien-Startseite.

Auf dem Server habe ich in der SubDomain „familie.“ (mit eigenem SSL-Zertifikat) einen Unterordner /familie/webtrees/ eingerichtet. In diesem Unterordner liegen die entpackten Webtrees-Dateien 2.0.19 incl. der von webtrees bereits vorgesehenen Unterordner.

Der Provider bietet passend PHP 7.7 PHP 7.4 und entweder MariaDB/MySQL oder PostgreSQL, ich habe MariaDB gewählt, mit Verschlüsselung.

Der Einrichtungs-Assistent meldet sich prompt und meint dass ich mit der Hardware „sehr grosse“ Stammbäume verwalten könne. Dann fragt er nach dem Datenbank-Typ und ich klicke mal „MySQL“. Dann kommen Felder für Servername, Port-Nr, Datenbank-Account, Datenbank-Passwort, Datenbank-Name, Tabellen-Prefix.

Die Daten habe ich ja vom Provider. Etwas verwirrend ist, dass der Provider die Felder ander nennt als der Einrichtungs-Assistent, aber das lässt sich irgendwie zuordnen. Eine Portnummer habe ich nicht, der Assistent meint aber 3306 sei Standard, also trage ich das ein. Beim Rest trage ich die Daten so ein, wie ich sie vom Provider habe. Nur ein Passwort habe ich keines, also lasse ich das Feld offen.

Ohne Passwort bekomme ich aber eine Fehlermeldung… (Access denied)
Beim Einrichten der Datenbank wurde aber kein Passwort angelegt/abgefragt. Auch ein SSH-Key wurde nicht erbeten.

Frage: was ist der Grund für die Fehlermeldung? was ist schief gelaufen? was kann ich tun?

Zusatzfrage: Wo finde ich ein (idealerweise kommentiertes) HowTo für den Einrichtungs-Assistent?
Welche Hürden muss ich bei den weiteren Einrichtungsschritten noch bewältigen? wie?

Ich freue mich über jeden Tipp :slight_smile:

Mit herzlichem Gruss,
Markus

[MarkusB] MarkusB https://discourse.genealogy.net/u/markusb
29. Januar

Liebe Erfahrene,

Ich bin dabei, webtrees auf meinem Server zu installieren :slight_smile:

Provider ist Hetzner. Auf dem Server läuft bisher meine Website
bärlocher.de https://bärlocher.de
und in der SubDomain familie.bärlocher.de
https://familie.bärlocher.de eine erste Familien-Startseite.

Auf dem Server habe ich in der SubDomain „familie.“ einen Unterordner
/familie/webtrees/ eingerichtet und mit einem SSL-Zertifikat versehen.
In diesem Unterordner liegen die entpackten Webtrees-Dateien 2.0.19
incl. der von webtrees beriets vorgesehenen Unterordner.

Der Provider bietet passend PHP 7.7 und entweder MariaDB/MySQL oder
PostgreSQL, ich habe MariaDB gewählt, optional mit Verschlüsselung.

Hallo Markus,

mit PHP 7.7. läuft webtrees 2.0 nicht. Du benötigst eine PHP Version
zwischen 7.1 und 7.4.

Der Einrichtungs-Assistent meldet sich prompt und meint dass ich mit der
Hardware „sehr grosse“ Stammbäume verwalten könne. Dann fragt er nach
dem Datenbank-Typ und ich klicke mal „MySQL“. Dann kommen Felder für
Servername, Port-Nr, Datenbank-Account, Datenbank-Passwort,
Datenbank-Name, Tabellen-Prefix.

Die Daten habe ich ja vom Provider. Etwas verwirrend ist, dass der
Provider die Felder ander nennt als der Einrichtungs-Assistent, aber das
lässt sich irgendwie zuordnen. Eine Portnummer habe ich nicht, der
Assistent meint aber 3306 sei Standard, also trage ich das ein. Beim
Rest trage ich die Daten so ein, wie ich sie vom Provider habe. Nur ein
Passwort habe ich keines, also lasse ich das Feld offen.

Ohne Passwort bekomme ich aber eine Fehlermeldung… (Access denied)
Beim Einrichten der Datenbank wurde aber kein Passwort
angelegt/abgefragt. Auch ein SSH-Key wurde nicht erbeten.

Frage: was ist der Grund für die Fehlermeldung? was ist schief gelaufen?
was kann ich tun?

Zunächst musst Du auf eine der möglichen PHP Versionen umstellen siehe
oben. Vielleicht ist das auch schon die Ursache. Hatte bei mir auch
einmal eine falsche PHP Version und es gab leider keine Fehlermeldung,
sondern die Installation brach an irgendeiner Stelle ohne konkrete
Hinweise ab.

Bzgl. Datenbank-Passwort hängt es von Deinem Provider ab. Normalerweise
sollte das Passwort beim Anlegen der Datenbank im User-Interface Deines
Providers entweder vorgeschlagen oder abgefragt werden. Tendenziell
glaube ich eher nicht, dass das Password „leer“ angelegt wird.
Vielleicht legst Du nochmal eine neue Datenbank an und schaust nochmal
nach entsprechenden Einstellmöglichkeiten. Ansonsten beim Support Deines
Providers nachfragen.

Zusatzfrage: Wo finde ich ein (idealerweise kommentiertes) HowTo für den
Einrichtungs-Assistent?

Von webtrees direkt gibt es Folgendes:

Das ist aber sehr kompakt gehalten.

Eine gute Möglichkeite ist es auch, die Suchfunktion im Forum zu nutzen.
Falls andere User ähnliche Probleme hatten, findest Du vielleicht einen
Hinweis:

Viele Grüße

Markus

Hallo Martina und/oder Markus,

Danke für Eure Hilfe :slight_smile:

Zwei - peinliche - Fehler habe ich gefunden:
Selbstverständlich benutze ich PHP 7.4 (sorry für den Tippfehler!)
Das Datenbank-Passwort habe ich gefunden - es war etwas versteckt und wurde automatisch angelegt. Im Einrichtungs-Assistent von webtrees habe ich es nun eingetragen.

Trotzdem ist die DB nicht erreichbar, Fehler:
SQLSTATE[HY000] [1045] Access denied for user ‚--------------‘@‚—.—.—.-‘(using password: YES) (SQL: CREATE DATABASE IF NOT EXISTS ‚--------------‘ COLLATE utf8_unicode_ci)

Vielleicht hat es etwas mit UTF-8 zu tun? (muss auf der DB eingeichtet sein oder so? wie?)

Oder beim SSL funktioniert etwas noch nicht?

Oder ich habe bei den Feldern etwas durcheinandergebracht?
So habe ich es zugeordnet:
webtrees ---------------------------------- Provider
Servername ------------------------------- Server
Portnummer --------------------------------
Datenbank Benutzerkonto (user?) — Login
Datenbankpasswort -------------- ------- Passwort
Datenbankname -------------------------- Datenbank
Tabellenpräfix ------------------------------
------------------------------------------------- R/W Login
------------------------------------------------- R/W Passwort
------------------------------------------------- R/O Login
------------------------------------------------- R/O Passwort

Als Port habe ich den Standardwert 3306 eingetragen.Tabellenpräfix „wt_“ wie vorgeschlagen.
R/W und R/O wird vermutlich erst später und nur webtree-intern benötigt?

Mit herzlichem Gruss,
Markus

PS: die webtrees Installationsanleitung hatte ich gefunden, ist aber seeehr „kompakt“ :wink:
Diese Installations-Anleitung ist deutsch und ausführlicher, hilft hier aber auch nicht.
Das Forum ist leider Englisch.

Wird also Zeit, dass wir im Wiki etwas Eigenes machen :slight_smile:

Hallo Markus,

Du schreibst, dass Du bei der Anlage der Datenbank eine Maria-DB gewählt hast. Dann schreibst Du weiter, dass Du bei der Einrichtung von webtrees den Datenbank-Typ MySQL gewählt hast. Liegt darin der Fehler? Mit Maria-DB habe ich keine Erfahrung. Ich würde es daher mit MySQL versuchen. Bei der Anlage einer MySQL-DB erhältst Du in der Regel den Datenbank-Namen, den MySQL-Benutzer, das MySQL-Passwort und den Servernamen.

Viele Grüße
Peter

Hallo Peter,

MariaDB ist ein Clon von MySQL. Die freie Version von MySQL verliert zunehmend an Weiterentwicklung und Community. MariaDB hat das seit 2009 deutlich verbessert. Entsprechend verbreitet ist deshalb MariaDB (Linux, Wikimedia, Google,…). Die beiden DBMS sind weitgehend kompatibel.

Hetzner bietet MariaDB/MySQL und PostgreSQL.
Für die MariaDB habe ich die im vorherigen Post erwähnten Daten erhalten.

Mit herzlichem Gruss,
Markus

Hallo Markus
bei meinem Server Hoster läuft eine Maria-DB als Mysql-Datenbank. Ich habe das Ganze eingerichtet als ob es eine Mysql-Datenbank wäre und es funktioniert. Ich kann mich aber erinnern, dass ich auch etwas ein „geknorze“ hatte, weil ich einen User für die Datenbank für webtrees vorgängig definieren musste und diesem User die richtige Berechtigung erteilen musste damit das Installationsskript funktioniert.
Viele Grüsse
Marc

Der Fehler sagt aus meiner Sicht hauptsächlich, dass Du nicht auf die
Datenbank zugreifen kannst bzw. Deine Login Daten nicht stimmen.

Ich würde mal probieren, ob Du auf anderem Weg auf die Datenbank
zugreifen kannst. Du solltest für spätere webtrees Backups sowieso über
phpMyAdmin auf die Datenbank zugreifen können. Also mal schauen, ob Dein
Provider direkt einen Zugriff über phpMyAdmin auf die Datenbank
anbietet. Sonst phpMyAdmin selber installieren. Beim Start von
phpMyAdmin musst Du Dich dann mit Deinem Datenbank User und dem
Datenbank Passwort anmelden. Wenn das klappt, kannst Du ziemlich sicher
sein, dass diese beide Einstellungen korrekt sind.

Als potenzielle Unbekannte, bliebe noch die Port-Nummer. Normalerweise
ist das schon mit hoher Wahrscheinlichkeit 3306. Auf meinem NAS hatte
ich aber auch einmal eine Umgebung mit MariaDB, wo eine andere Port
Nummer (ich glaube 3309 oder 3312) eingestellt war. Eigentlich müsstest
Du dazu etwas in der Datenbank-Verwaltung bei Deinem Provider finden;
vielleicht kannst Du da nochmal nachschauen. Oder den Support beim
Provider fragen.

Gruß

Markus

Hallo Marc,

Dass ich nicht der Einzige mit Startschwierigkeiten bin, beruhtigt ein Bisschen :slight_smile:

Was genau meinst Du mit „ich musste einen User für die Datenbank für webtrees vorgängig definieren, und diesem User die richtige Berechtigung erteilen“? Wie mache ich das?

Mit herzlichem Gruss,
Markus

Hallo Markus,

Ja ich kann über die Webkonsole per phpMyAdmin auf die DB zugreifen.
Die DB ist noch leer, enthält noch keine Tabelle.
Was ja ok ist, denn ds macht webtrees - der Einrichtungs-Assistent - dann vermutlich alles automatisch?

Zum Port habe ich in der Hetzner-Doku nichts gefunden. Aber einen längeren Text zu SSL-Verschlüsselung, dessen Bedeutung ich nicht verstehe. „SSL erzwingen“ ist auf dieser DB eingerichtet. Muss ich da etwas beachten?

Mit herzlichem Gruss, auch an Martina,
Markus

Guten Morgen Peter,

Du hattest mir empfohlen, für die Datenbank SSL-Verschlüsselung zu wählen.
Wenn ich richtig verstehe, werden dadurch nicht die Inhalte der DB verschlüsselt?
sondern die Verbindung mit der DB, hier also zwischen webtrees und der DB?

Der Support schreibt:
Sie haben in den Datenbankoptionen => Erweiterte Einstellungen den Punkt „SSL erzwingen“ aktiviert, dies bezieht sich nicht auf die HTTPS Verschlüsselung der Website sondern auf die Verbindung mit dem MySQL Server, hier sollten Sie den Punkt deaktivieren oder wie in den Docs angegeben das .ca Zertifikat nutzen.

Wenn ich das richtig verstehe, liegt der Fehler darin, dass SSL nicht kompatibel ist mit meinem LetsEncrypt-Zertifikat (das sich vermutlich nur für SSH eignet?). Geeignet wäre das ebenfalls frei verfügbare Zertifikat „.ca“?

Nicht verstanden habe ich, was der Vorteil von SSL-Verschlüsselung der Verbindung mit der DB ist?

Auch das Konzept zur Sicherung personenbezogener Daten ist mir unklar.
Denn in einer aktuellen Genealogischen Datenbank liegen ja ziemlich viele Daten über lebende Personen…

Mit herzlichem Gruss,
Markus

Liebe potenzielle Doku-Autoren,

Peter hat in der Plattform „WeChange“ eine sogenannte „Idee“ angelegt mit dem Ziel gemeinsam eine Doku zu schreiben. WeChange ist eine Plattform, die unterschiedliche Werkzeuge bietet, mit deren Hilfe sich Arbeitsgruppen organisieren können,

Bis jetzt haben sich 6 Personen dafür eingetragen.

Wenn Du auch dabei sein möchtest, dann kannst Du dich hier noch eintragen

Ich schlage vor, dass Peter jetzt eine erste Arbeitsseite im Wiki anlegt, damit wir schon mal mit dem Planen einer Strukur und dem Sammeln von Themen und „was es schon gibt“ beginnen können. :slight_smile:

Peter - was meinst Du?

Wie von Peter vorgeschlagen, sollten wir diesen Thread benutzen:

Diese Treads können wir entsprechend beenden:

  • Webtrees - Einrichtungs-Assistent
  • Webtrees - Installations-Anleitung und Benutzerhandbuch deutsch

Mit herzlichem Gruss,
Markus

Hallo Markus
Bevor man mit dem Einrichtungsassistent loslegt, sollte man eine neue mysql-Datenbank anlegen (egal ob Mysql oder MariaDB) und wählt dafür einen bliebigen Namen (z.B. meinBaum). Tabellen muss man in der Datenbank keine Anlegen, dass übernimmt später der Einrichtungsassistent. Für die Einrichtung benötigt der Assistent einen Zugriff auf die Datenbank. Man kann dabei ein allgemeines Benutzerkonto verwenden, welches für alle Datenbanken den Zugriff gewährt oder man definiert einen neuen Benutzer, welcher ausschliesslich auf die meinBaum-Datenbank zugreift.
Beim Servernamen muss man den Domainnamen eingeben. Hat man eine Homepage, welche über https://www.muster-abc-homepage.ch erreichbar ist, entspricht dies dem Ordner httpdocs.
Wenn man Webtree auf einer Unterseite haben möchte (z.B. https://www.muster-abc-homepage.ch/webtrees), dann muss man im Ordner httpdocs einen Unterordner mit dem Namen webtrees anlegen.
Bei Servername muss man bei beiden Variante jedesmal muster-abc-homepage.ch angeben (ohne http oder https und ohne Subdomain /webtrees).
Die Portnummer ist für Mysql und MariaDB jeweils 3306.
Die Datenbankangaben (Datenbank Benutzerkonto, Passwort und Datenbankname (z.B. meinBaum) kann man nun abfüllen und das Tabellepräfix kann man belassen.

Gruss, Marc

Ich würde zunächst darauf hin arbeiten, dass das System in einer
möglichst einfachen Konfiguration überhaupt einmal zum Laufen kommt.
Keep it simple! Es ist sonst schwierig, den Fehler einzukreisen, warum
die webtrees Installation hängen bleibt. Daher würde ich den Ratschlag
des Supports befolgen und die erwähnte SSL Einstellung erst einmal
herausnehmen. Ggfs. würde ich zunächst auch den https/SSL-Zugang im
ersten Schritt weglassen, um die Dinge möglichst zu vereinfachen. Wenn
webtrees einmal prinzipiell läuft, kannst Du anschließend wieder Stück
für Stück zusätzliche Verschlüsselungen dazuschalten.

Nachdem der Datenbankzugriff über phpMyAdmin schon funktioniert hat und
auch der Port 3306 mit hoher Wahrscheinlichkeit stimmt, müsstest Du
jetzt weiterkommen. Wenn doch nicht, würde ich mich mit weiteren
Fehlermeldungen an den Support wenden.

Bzgl. den SSL-Details kann ich nicht weiterhelfen. Auch hier würde ich
empfehlen, diese Fragen im Kontakt mit dem Support zu klären. Hier gibt
es vmtl. auch Provider spezifische Aspekte und Wechselwirkungen mit dem
von Dir verfolgten SSL Ansatz.

Viele Grüße

Markus

Hoi Marc,

Merci für Deine ausführliche Antwort.

Ja, ich glaube ich habe alles so gemacht:
Zuerst eine neue MariaDB angelegt, Ein DB-Name war vom Provider vorausgefüllt, habe ich so übernommen. Tabellen habe ich keine angelegt (nur geprüft, ob ich die DB erreichen kann).
Da ich mehrere DBs zur Verfügung habe, kann ich für jede eigene Benutzer anlegen.
Bei webtrees habe ich den Hauptbenutzer angelegt (in der Annahme, dass ich beim Stammbaum verschiedene Rechte vergeben und diesen Rollen Benutzer zuordnen kann, oder das webtrees automatisch macht).

Zu meiner Domain habe ich für den Stammbaum eine SubDomain, für die ich einen Unterterordner verwende (mit der index.html) und einen Unter-Unterordner „webtrees“ (für die webtrees-Dateien und den Stammbaum). „httpdocs“ heisst bei mir „public_html“.

Als Servername habe ich für die DB einen generischen Namen („sql---your-server.de“) der in die IP aufgelöst wird, die zu meinem Provider führt.

Wenn ich alles so eingebe, bekomme ich diese Fehlermeldung:
SQLSTATE[HY000] [1045] Access denied for user ‚–_------------_1‘@‚136.—.—.–‘ (using password: NO) (SQL: CREATE DATABASE IF NOT EXISTS --_------------_db1 COLLATE utf8_unicode_ci)

Der Support schreibt: (s. oben Beitrag-9)
Hier die zugehörige Doku.
Aber das verstehe ich leider nicht.

Mit herzlichem Gruss,
Markus

Hallo Markus
Ich verstehe die Fehlermeldung so, dass kein Passwort übergeben worden sei (using password: NO). Falls Du einen falschen Usernamen oder ein falsches Passwort, würdest Du die identische Fehlermeldung erhalten, ausser user password: YES

Ich würde mal mit einem einfachen php-Skript testen, ob Du grundsätzlich auf die Datenbank zugreifen kannst.

Hier ein Beispielskript, was ich so auf die schnell gefunden habe:

>  <?php
> $servername = "sql---your-server.de";
> $username = "deinDB-Benutzername";
> $password = "deinDB-Passwort";
> 
> // Create connection
> $conn = new mysqli($servername, $username, $password);
> 
> // Check connection
> if ($conn->connect_error) {
>   die("Connection failed: " . $conn->connect_error);
> }
> echo "Connected successfully";
> ?>

Diesen Code speicherst Du als php-Datei im Ordner public_html z.B. test.php. Anschliessend kannst Du mal das php-Skript aufrufen via sql---your-server.de/test.php . Du solltest Connected successfully erhalten, womit Du weisst, dass der Zugriff auf die Datenbank mit php grundsätzlich funktioniert.
Vielleicht können wir das Problem so besser eingrenzen.

Gruss, Marc

Hallo Marc,

Danke für die Idee :slight_smile:

Kann es sein, dass in diesem Skript irgendwo noch der Datenbankname fehlt?
Wo genau müsste der wie rein?

Sorry für den falschen alten Fehlertext oben (habe den alten erwischt)
Richtig ist:
SQLSTATE[HY000] [1045] Access denied for user ‚–_----------_1‘@‚136.—.—.–‘ (using password: YES) (SQL: CREATE DATABASE IF NOT EXISTS --_----------_db1 COLLATE utf8_unicode_ci)

Gruss, Markus

Hallo Markus,
dieses Skript prüft einfach, ob Du grundsätzlich auf MariaDB zugreifen kannst. Es prüft nur, ob Du eine Verbindung aufbauen kannst. Sobald der Aufbau der Verbindung funktioniert, können wir im nächsten Schritt die neuen Datenbank für webtrees prüfen.

Die neue Datenbank deinDatenbankName hast ist zwar erstellt, aber sie wird erst durch die Einrichtung von webtrees mit Tabellen befüllt.
Auf Grund Deiner Fehlermeldung scheint das Passwort oder Username ein Problem zu verursachen.

Mit untenstehendem Skript kannst Du dasselbe prüfen, aber Du wirst wieder aber wieder am selben Punkt scheitern. Das untenstehende Skript baut eine Verbindung auf und fragt von der Tabelle wt_user alle User ab. Wenn keine Tabelle wt_user exitiert oder diese leer ist, dann würde die Ausgabe 0 results kommen.

 <?php
$servername = "sql---your-server.de";
$username = "deinDB-Benutzername";
$password = "deinDB-Passwort";
$dbname = "deinDatenbankName";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM wt_user";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "user_name: " . $row["user_name"]. "<br>";
  }
} else {
  echo "0 results";
}
$conn->close();
?>

Gruss, Marc

Guete Abig Marc,

Danke, Script ist hochgeladen.

Bekomme diese Fehlermeldung:
The requested URL was not found on this server.
Apache Server at sql—.your-server.de Port 443

Ich vermute, der Fehler sitzt vor der Tastatur…
Magst Du mal mit Teamviewer oder BigBlueButton oder so rüberschauen?
Wann hättest Du Zeit?

Mit herzlichem Gruss,
Markus

Hallo, nun habe ich ein ähnliches Problem. Komme mit dem Einrichtungsassistent von WebTrees nicht weiter…Würde jemand so nett sein und über T-Viever helfen? Lieben Gruß Georg

Hallo Georg, im Unterschied zu vor zwei Jahren gibt es nun das deutschsprachige webtrees-Handbuch: https://wiki.genealogy.net/Webtrees_Handbuch/Anleitung_für_Webmaster#Installation_von_webtrees
Hilft das eventuell bereits? Oder wo hängst Du?