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







retour au menu du serveur Web