LINUX:WebTrees
→ 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 le le sous-répertoire "data/cache".
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.
Administration
Suite à l'installation, on arrive directement dans l'écran d'administration du site 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".
Images
L'interface ne gère pas les images. Il les affiche si elles existes. Elles sont à placer par vos propres moyens 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
Géolocalisation
→ retour au menu du serveur Web