retour au menu du serveur Web


But

WebTrees est un programme serveur qui permet de gérer des arborescences généalogiques. Il est libre. Il est nettement plus complet que GeneWeb. Nous nous intéresserons à la version Linux. On l'installe sur un serveur et via un interface Web, on accède à notre généalogie.


Téléchargement

Sous Linux, on peut effectuer la commande:

wget https://github.com/fisharebest/webtrees/releases/download/2.1.20/webtrees-2.1.20.zip

pour récupérer la dernière version 2.1.20. Elle s'amende régulièrement. Quand vous aurez installé ce produit, votre site vous proposera une mise à jour automatique si nécessaire.

On décompresse ce fichier:

unzip webtrees-2.1.20.zip

Un répertoire "webtrees" contenant le logiciel est crée.


Prérequis

Ce logiciel nécessite:

  • un serveur Web Apache
  • un gestionnaire de base de données de type MySQL tel MariaDB
  • un interpréteur PHP

Dans mon cas, ces produits sont tous sur une même machine Linux


Apache

On déplace ce répertoire "webtrees" parmi nos autres sites Web; dans notre exemple sous le répertoire "/web".

ATTENTION: L'exemple de configuration le présente comme un des sites de votre domaine. Si ce site doit être accessible en direct, cette configuration qui suit doit être adaptée en conséquence.

On crée une configuration pour ce site dans Apache. In crée un fichier "webtrees.conf" dans le répertoire "/etc/httpd/conf.d":


Alias "/webtrees" "/web/webtrees"
<Directory "/web/webtrees">
 Options +FollowSymLinks -Indexes
 <IfModule mod_authz_core.c>
       Require all denied
       Require ip 127.0.0.1
       Require ip 192.168.1
 </IfModule>
 IncludeOptional conf.d/php8.cfg
</Directory>

On limite l'accès à notre réseau privé "192.168.1.0/24".

Comme par défaut, Fedora 40 vient avec la version 8.3 de PHP. Voyez l'article sur Coexistence de plusieurs versions de PHP. D'où la ligne:


 IncludeOptional conf.d/php8.cfg


On relance le service Apache pour prendre en compte cet ajout:

systemctl restart httpd.dervice


Droits

Ce répertoire doit appartenir à l'utilisateur "apache" sous lequel s'exécute le service 'httpd.service":

chown -R apache:apache /web/webtrees

Comme le produit propose régulièrement une mise à jour automatique, il est plus aisé de laisser les droits d'écriture en plus de la lecture:

chmod -R 750 /web/webtrees
find /web/webtrees -type f -print0 | xargs -0 chmod 640

On peu être plus restrictif après la phase d'installation et remettre momentanément tous les droits lors de ces mises à jour. Mais il est recommandé de laisser les droits totaux à Apache pour les sous-répertoires "data/cache" et "data/media".


MariaDB

Avant tout début de configuration, il est plus aisé que la base de données MariaDB (MySQL) comprenne un schéma vide qui va accueillir vos données.

Nous avons nommé ce schéma "webtrees".

Voici le script SQL qui permet de le créer à vide; on nomme ce script: "schema.sql":


DROP SCHEMA IF EXISTS webtrees ;
CREATE SCHEMA webtrees ;

On l'exécute via la commande:

mysql --user=root --password=<MOT_DE_PASSE_DE_ROOT>  < ./schema.sql

avec un nom d'utilisateur de la base de donnés qui a les droits administrateur.


Il nous faut en outre, créer un utilisateur dans cette base de données qui a tous les droits sur ce schéma nouvellement créé. On lui a donné le nom "webtrees". C'est lui que le logiciel utilisera pour accéder à nos données.

Voici le script SQL qui permet de le créer et de lui attribuer des droits nécessaires; on nomme ce script: "user.sql":


create user 'webtrees'@'localhost' identified by '<MOT_DE_PASSE_WEBTREES>' ;
grant all privileges on webtrees.* to 'webtrees'@'localhost';

Vous y remplacez le mot de passe "<MOT_DE_PASSE_WEBTREES>" par celui désiré.

On l'exécute via la commande:

mysql --user=root --password=<MOT_DE_PASSE_DE_ROOT>  < ./user.sql

avec un nom d'utilisateur de la base de donnés qui a les droits administrateur.


Configuration

Maintenant que tout est en place, on peut lancer la configuration qui se fait directement via l'interface Web. Si notre serveur Web se "serverdb.home.dom", on lance l'URL: http://serverdb.home.dom/webtrees

La suite des écrans est assez classique.

Le premier demande la langue.

Le second vérifie les capacités du serveur.

On choisit ensuite le type de gestionnaire de base de données, ici MySQL pour MariaDB.

On remplit les informations concernant cette base de données selon les paramètres définis ci-dessus.

Ensuite nous créons notre premier nom d'utilisateur qui a les droits d'administrateur.

Enfin il va créer votre premier arbre généalogique. On lui donne un titre et un nom. Vous pourrez en créer d'autres par la suite.

L'installation est terminée.


Un fichier de configuration est créé dans le répertoire "/web/webtrees/data". Il se nomme "config.ini.php"; il reprend les paramètres de connexions à la base de données.


Administration

Suite à l'installation, on arrive directement dans l'écran d'administration de votre arbre nouvellement créé et vous êtes déjà connecté avec votre nom d'utilisateur que avez introduit plus haut.


Importation

Si vous disposez d'un fichier GEDCOM, on peut l'importer. Dans l'écran d'administration, à droite, on clique sur clique sur "Importer".

On arrive à l'écran suivant. On sélectionne notre fichier à importer.

L'importation se déroule.


Premier contact

Maintenant qu'on est prêt, place à notre premier contact en cliquant à gauche sur "Accueil".


Pour accéder au menu d'administration, allez en haut à droite dans le menu "Mes pages" et en dessous "Panneau de contrôle".


Images

L'interface gère les images. Il les affiche si elles existent. Vous pouvez les placer par vous-même. Elles sont à placer dans un sous-répertoire du site, pour notre exemple: "/web/webtrees/data/media". Personnellement j'y ai créé un ensemble de sous-répertoires par type d'actes (naissance, bapteme, mariage, divorce, deces, sepulture, publication) et un (portrait) pour les images de la personne. La référence pour cette image est relative, par exemple pour un portrait, cette référence dans l'écran de gestion de la personne sera du style "portrait/dupont.pierre.jpg". Ce fichier se retrouvera dans le serveur sous le nom de fichier "/web/webtrees/data/media/portrait/dupont.pierre.jpg".


Recommandations

Mon fichier GEDCOM provient d'une exportation du site GeneaNet. Mais cette extraction n'est pas des plus conforme.

Il ne faut pas utiliser les options "Nom alias" ou "Prénom alias"; dans l'exportation, il fait un drôle de mélange dans le "NOM" de la personne. Personnellement je mets ces informations dans la zone "Notes". Le logiciel "Ancestris" les considère comme des erreurs.

D'autre part, GeneaNet n'exporte pas les images des actes à part le portrait mais avec une référence inexploitable. J'ai opté pour la création d'un script PHP qui réécrit le fichier GEDCOM extrait afin d'y inclure ces images d'actes et portraits. Ensuite je l'importe dans WebTrees.


Quelques problèmes

Si le site est mis en maintenance et est bloqué, suite à une manipulation qui a mal tourné, il suffit de détruire le fichier "/web/webtrees/data/offline.txt".

Autre cas, suite à une migration de localisation du site, je ne pouvais pas accéder à mes images. Il faut aller modifier un paramètre. On va dans le "Panneau de contrôle" et ensuite on clique sur "Préférences du site web". On adapte le chemin du "Dossier de données".


Géolocalisation

Ce logiciel comporte une géolocalisation des événements. Mais cette géolocalisation n'est pas automatique. Chaque commune/province/pays doit être géolocalisé manuellement pour pouvoir être exploitée. On va dans le "Panneau de contrôle" et en bas de l'écran on clique sur "Données géographiques". Après traitement, exportez votre travail pour le cas où vous devriez refaire votre site à partir d'une sauvegarde. Ces informations ne se trouvent pas dans la base de données. Il existe sur le site du logiciel des fichiers de géolocalisation que l'on peut importer mais ils nécessitent de nombreuses manipulations pour correspondre à votre nomenclature et arborescence des noms de lieux. Ils peuvent aider dans une première phase de localisation massive mais c'est à faire avec précautions. C'est d'ailleurs l'occasion de corriger et d'uniformiser votre nomenclature des lieux.





retour au menu du serveur Web