« LINUX:GeneWeb » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(5 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
__FORCETOC__ | __FORCETOC__ | ||
---- | ---- | ||
''→ [[LINUX: | ''→ [[LINUX:Serveur WEB|retour au menu du serveur Web]]'' | ||
---- | ---- | ||
=But= | =But= | ||
GeneWeb est un programme serveur qui permet de gérer des arborescences généalogiques. Il est libre. 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. | GeneWeb est un programme serveur qui permet de gérer des arborescences généalogiques. Il est libre. Il est à la base du site GeneaNet. 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. | ||
Ligne 118 : | Ligne 118 : | ||
ExecStart=/web/geneweb/gw/gwsetup -daemon -lang fr -gd /web/geneweb/gw | ExecStart=/web/geneweb/gw/gwsetup -daemon -lang fr -gd /web/geneweb/gw | ||
WorkingDirectory=/web/geneweb/bases | WorkingDirectory=/web/geneweb/bases | ||
User=apache | |||
Group=apache | |||
| | ||
[Install] | [Install] | ||
Ligne 181 : | Ligne 183 : | ||
ExecStart=/web/geneweb/gw/gwd -daemon -lang fr -hd /web/geneweb/gw | ExecStart=/web/geneweb/gw/gwd -daemon -lang fr -hd /web/geneweb/gw | ||
WorkingDirectory=/web/geneweb/bases | WorkingDirectory=/web/geneweb/bases | ||
User=apache | |||
Group=apache | |||
| | ||
[Install] | [Install] | ||
Ligne 241 : | Ligne 245 : | ||
==Importation== | ==Importation== | ||
La seconde façon est d'importer | La seconde façon est d'importer un fichier de sauvegarde compatible d'un autre logiciel de généalogie. Nous utilisons le logiciel "Geneanet" publique sur le Net. A partir de celui-ci, nous avons effectué une sauvegarde. Nous avons obtenu le fichier "base.ged". Il est possible d'utiliser un autre format. | ||
On utilise la première option "à partir d’un fichier GEDCOM (ged2gwb)" de la colonne de gauche au dessus sous la rubrique "Créer une généalogie". | On utilise la première option "à partir d’un fichier GEDCOM (ged2gwb)" de la colonne de gauche au dessus sous la rubrique "Créer une généalogie". | ||
Ligne 249 : | Ligne 253 : | ||
[[FILE:LINUX:Geneweb.importation.png|800px|center]] | [[FILE:LINUX:Geneweb.importation.png|800px|center]] | ||
Le fichier de données à importer, "base.ged" dans notre cas, doit être sur le serveur Linux. On le sélectionne en se déplaçant dans l'arborescence des fichiers de la machine Linux (première zone). Dans la seconde zone, on donne un nom à notre base de données. Nous avons donné le nom "debast". Si cette base existe déjà, elle sera écrasée après confirmation. On coche ensuite les options désirées et on valide en cliquant sur le bouton "OK". | Le fichier de données à importer, "base.ged" dans notre cas, doit être sur le serveur Linux. On le sélectionne en se déplaçant dans l'arborescence des fichiers de la machine Linux (première zone). Dans la seconde zone, on donne un nom à notre base de données. Nous avons donné le nom "debast". Si cette base existe déjà, elle sera écrasée après confirmation. On coche ensuite les options désirées et on valide en cliquant sur le bouton "OK" du bas. | ||
Ligne 279 : | Ligne 283 : | ||
[[FILE:LINUX:Geneweb.recherche.png|600px|center]] | [[FILE:LINUX:Geneweb.recherche.png|600px|center]] | ||
On y a introduit le nom d'une personne, par exemple "bogo". Et on valide par la touche "Enter". On a une liste des "Bogo". | On y a introduit le nom d'une personne, par exemple "bogo". Et on valide par la touche "Enter". On a une liste des personnes ayant comme nom de famille "Bogo". | ||
[[FILE:LINUX:Geneweb.liste.png|600px|center]] | [[FILE:LINUX:Geneweb.liste.png|600px|center]] | ||
Ligne 291 : | Ligne 295 : | ||
=Sécuriser la base de données= | =Sécuriser la base de données= | ||
Par défaut, tout le monde peut tout faire dans la base généalogique, ce qui ne pose par de problème s'il | Par défaut, tout le monde peut tout faire dans la base généalogique, ce qui ne pose par de problème s'il n'est accessible que par vous dans votre LAN privé. | ||
Par contre si on l'ouvre à plusieurs | Par contre si on l'ouvre à plusieurs personnes ou sur Internet, il devient nécessaire de la protéger. | ||
Ligne 340 : | Ligne 344 : | ||
[[FILE:LINUX:Geneweb.securise.png|600px|center]] | [[FILE:LINUX:Geneweb.securise.png|600px|center]] | ||
Pour avoir plus de possibilités, il faut s'authentifier. | Pour avoir plus de possibilités, il faut s'authentifier sinon on est considéré comme un visiteur. | ||
==Exclusion des visiteurs== | ==Exclusion des visiteurs== | ||
On peut aller plus loin en exigeant une authentification. | On peut aller plus loin en exigeant une authentification. Les visiteurs n'auront aucun accès. | ||
il nous faut ajouter dans le fichier de configuration de la base de données, par exemple "debast.gwf", les lignes suivantes: | il nous faut ajouter dans le fichier de configuration de la base de données, par exemple "debast.gwf", les lignes suivantes: | ||
Ligne 352 : | Ligne 356 : | ||
visitor_access_msg_'''fr'''=L'accès est limité aux amis. | visitor_access_msg_'''fr'''=L'accès est limité aux amis. | ||
---- | ---- | ||
Les lignes deux et trois permettent d'afficher un message d'avertissement, | Les lignes deux et trois permettent d'afficher un message d'avertissement personnalisé, la deuxième en anglais ("en") et la troisième en français ("fr"). On peut ajouter des messages pour les autres langues. Elles sont facultatives. | ||
L'écran d'accueil devient alors: | L'écran d'accueil devient alors: | ||
Ligne 364 : | Ligne 368 : | ||
---- | ---- | ||
''→ [[LINUX: | ''→ [[LINUX:Serveur WEB|retour au menu du serveur Web]]'' | ||
---- | ---- | ||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
[[Category:LINUX]] | [[Category:LINUX]] |
Dernière version du 6 juin 2024 à 10:21
→ retour au menu du serveur Web
But
GeneWeb est un programme serveur qui permet de gérer des arborescences généalogiques. Il est libre. Il est à la base du site GeneaNet. 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.
Installation
La première étape consiste à télécharger le logiciel sur le site https://geneweb.tuxfamily.org/wiki/download/fr On y trouve diverses versions pour Linux, MacOS, Windows et les sources à compiler. A cette date, nous avons pris la dernière version 7.0.
On décompresse le fichier "geneweb-linux-88536ed4.zip" récupéré sur notre serveur. Le logiciel se trouve dans le sous-répertoire "distribution".
Nous avons concentré nos sites Web dans le répertoire "/web". Nous y créons le sous-répertoire "geneweb". Nous y transférons le contenu du sous-répertoire "distribution", résultat de la décompression.
On n'oublie pas de donner les droits nécessaires et la propriété à l'utilisateur "apache" sous lequel le serveur Httpd, Apache est lancé. Lors de la phase de mise en oeuvre, il est conseillé de désactiver SeLinux.
Description des services
Ce logiciel est composé de deux services. Nous utilisons notre serveur Linux "serverdb.home.dom".
gwsetup
Le daemon "gwsetup" est chargé de la gestion des bases généalogiques: la création, la sauvegarde, l'importation,... Son accès doit être réduit si pas arrêté dès les opérations de gestion effectuées. Par défaut, il présente un interface Web accessible par défaut via le port TCP 2316. A partir d'un explorateur Internet tel Firefox, nous y accédons via l'URL: http://serverdb.home.dom:2316
gwd
Le daemon "gwd" permet la gestion des arbres généalogiques. C'est lui que les utilisateurs devront utiliser. Il présente un interface Web accessible par défaut via le port TCP 2317. A partir d'un explorateur Internet tel Firefox, nous y accédons via l'URL: http://serverdb.home.dom:2317
httpd
Pour faciliter l'accès à ces deux service, un fichier Html est fourni. Nous utiliserons le service Httpd d'Apache. On peut évidemment s'en passer. Après configuration d'Apache et à partir d'un explorateur Internet tel Firefox, nous y accédons via l'URL: http://serverdb.home.dom/geneweb
Configuration d'Httpd
Service Httpd
La première étape consiste d'ajouter un fichier de configuration dans Apache.
On ajoute dans le répertoire par défaut réservé à la configuration des sites Wen "/etc/httpd/conf.d" le fichier "geneweb.conf".
Voici son contenu:
Alias "/geneweb" "/web/geneweb" <Directory "/web/geneweb"> DirectoryIndex START.htm Options +FollowSymLinks -Indexes <IfModule mod_authz_core.c> Require all denied Require ip 127.0.0.1 Require ip 192.168.1 </IfModule> </Directory>
Le site "geneweb" se trouve, comme dit plus haut, dans le répertoire "/web/geneweb". Par défaut, à l'appel à la consultation du site, c'est le fichier "START.htm" qui est ouvert. En dessous, on limite l'accès à notre réseau privé "192.168.1.0/24".
On n'oublie pas de relancer le service Httpd:
systemctl restart httpd.service
Modification du fichier START.htm
La seconde consiste à adapter à notre contexte le fichier "/web/geneweb/START.htm". En effet, il est écrite pour être utilisé seulement en local sur le serveur ("localhost").
Avec un éditeur de texte classique, on substitue cette adresse "localhost" par le nom de notre serveur "serverdb.home.dom". A adapter selon votre situation
Remarquons que ce script est multilingue.
Dès que l'on veut accéder à cette page via l'URL: http://serverdb.home.dom/geneweb, on a la fenêtre suivante qui nous permettra d'accéder facilement à nos deux services "gwsetup" et "gwd".
Configurer le mur de feu ou FireWall
Outre le port TCP 80 pour HTTP et éventuellement le port TCP 443 pour HTTPS, il faut ouvrir les ports TCP 2316 pour le service "dwsetup" et 2317 pour le service "gwd". Ces ports sont ceux par défaut. Il est possible de les changer mais dans la mesure du possible, gardez-les.
Nous devons ajouter les règles suivantes au service Iptables dans le fichier "/etc/sysconfig/iptables":
-A INPUT -p tcp -m tcp --dport 2316 -s 192.168.1.2 -m conntrack --ctstate NEW -j ACCEPT -A INPUT -p tcp -m tcp --dport 2317 -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
Nous avons ouvert le service "gwd" (port: 2317) à tout notre LAN privé mais nous avons restreint l'accès au service "gwsetup" (port: 2316) au seul PC sensé le gérer ayant l'adresse IP "192.168.1.2". A adapter selon vos besoins.
Il ne faut pas oublier de relancer le service Iptables pour que ces règles soient effectives:
systemctl restart iptables.service
Configuration de GwSetup
Help
Le programme se trouve dans le répertoire "/web/geneweb/gw". En lançant la commande suivante dans ce répertoire:
gwsetup --help
on obtient la liste des paramètres et leur syntaxe. Grace à eux nous allons pouvoir créer le service.
Fichier de configuration
Dans le répertoire "/web/geneweb/gw", il faut adapter le fichier "only.txt". Il contient l'adresse IP de la machine qui pourra utiliser ce service. Par défaut, c'est la machine serveur locale ("127.0.0.1").
On la remplace par l'adresse IP reprise dans la règle d'Iptables.
192.168.1.2
C'est une seconde protection.
Création du service
Il est possible de lancer le service interactivement. Mais il est plus pratique de passer par un service géré par Systemd.
Dans le répertoire "/etc/systemd/system", on crée le fichier "gwsetup.service" dont voici le contenu:
[Unit] Description=Geneweb - Configuration [Service] Type=forking ExecStart=/web/geneweb/gw/gwsetup -daemon -lang fr -gd /web/geneweb/gw WorkingDirectory=/web/geneweb/bases User=apache Group=apache [Install] WantedBy=multi-user.target
On remarque que ce programme s'exécute dans le sous-répertoire "/web/geneweb/bases". C'est là que se situeront les bases de données généalogiques.
Alors que les programmes se trouvent dans le sous-répertoire "/web/geneweb/gw".
Le programme s'exécute en tant que "daemon" et c'est la langue française qui a été choisie.
Il faut actualiser les paramètres de Systemd car on vient d'y ajouter un fichier de paramètre:
systemctl daemon-reload
Ensuite on active le lance ce service nouvellement créé:
systemctl enable gwsetup.service systemctl start gwsetup.service
On peut vérifier du bon état du service:
systemctl status gwsetup.service
Avec la commande:
ps axf
on y trouve le programme lancé:
1225873 ? SN 0:00 /web/geneweb/gw/gwd -daemon -lang fr -hd /web/geneweb/gw
De même, la commande:
netstat -nltp | grep 2316
affiche le port TCP lié:
tcp 0 0 0.0.0.0:2316 0.0.0.0:* LISTEN 1225868/gwsetup
Interface Web
Dès on peut accéder à ce service en cliquant sur l'entrée du menu correspondante dans la fenêtre Web présentée en premier (START.htm). On a la fenêtre suivante:
Configuration de GwD
Help
Le programme se trouve dans le répertoire "/web/geneweb/gw". En lançant la commande suivante dans ce répertoire:
gwd --help
on obtient la liste des paramètres et leur syntaxe. Grace à eux nous allons pouvoir créer le service.
Création du service
Il est possible de lancer le service interactivement. Mais il est plus pratique de passer par un service géré par Systemd.
Dans le répertoire "/etc/systemd/system", on crée le fichier "gwd.service" dont voici le contenu:
[Unit] Description=Geneweb - Arborescence [Service] Type=forking ExecStart=/web/geneweb/gw/gwd -daemon -lang fr -hd /web/geneweb/gw WorkingDirectory=/web/geneweb/bases User=apache Group=apache [Install] WantedBy=multi-user.target
On remarque que ce programme s'exécute dans le sous-répertoire "/web/geneweb/bases". C'est là que se situeront les bases de données généalogiques.
Alors que les programmes se trouvent dans le sous-répertoire "/web/geneweb/gw".
Le programme s'exécute en tant que "daemon" et c'est la langue française qui a été choisie.
Il faut actualiser les paramètres de Systemd car on vient d'y ajouter un fichier de paramètre:
systemctl daemon-reload
Ensuite on active le lance ce service nouvellement créé:
systemctl enable gwd.service systemctl start gwd.service
On peut vérifier du bon état du service:
systemctl status gwd.service
Avec la commande:
ps axf
on y trouve le programme lancé:
1225873 ? SN 0:00 /web/geneweb/gw/gwd -daemon -lang fr -hd /web/geneweb/gw
De même, la commande:
netstat -nltp | grep 2317
affiche le port TCP lié:
tcp 0 0 0.0.0.0:2317 0.0.0.0:* LISTEN 1225873/gwd
Interface Web
Dès on peut accéder à ce service en cliquant sur l'entrée du menu correspondante dans la fenêtre Web présentée en premier (START.htm). On a la fenêtre suivante:
Création d'une base de données
Pour pouvoir aller plus loin dans l'écran ci-dessus; il nous faut une base de données généalogique. Nous allons utiliser pour cela le service "gwsetup" via son écran présenté en second.
Création à vide
La première façon est de créer une base vierge, vide. On utilise la troisième option "vide (gwc)" de la colonne de gauche au dessus sous la rubrique "Créer une généalogie".
Nous obtenons l'écran suivant.
Il suffit de donner un nom à la base de données. Ici son nom est "base". Ensuite on clique sur le bouton "Créer".
On remarque qu'un sous-répertoire "base.gwb" a été créé dans le répertoire "/web/geneweb/bases".
Importation
La seconde façon est d'importer un fichier de sauvegarde compatible d'un autre logiciel de généalogie. Nous utilisons le logiciel "Geneanet" publique sur le Net. A partir de celui-ci, nous avons effectué une sauvegarde. Nous avons obtenu le fichier "base.ged". Il est possible d'utiliser un autre format.
On utilise la première option "à partir d’un fichier GEDCOM (ged2gwb)" de la colonne de gauche au dessus sous la rubrique "Créer une généalogie".
Nous obtenons l'écran suivant.
Le fichier de données à importer, "base.ged" dans notre cas, doit être sur le serveur Linux. On le sélectionne en se déplaçant dans l'arborescence des fichiers de la machine Linux (première zone). Dans la seconde zone, on donne un nom à notre base de données. Nous avons donné le nom "debast". Si cette base existe déjà, elle sera écrasée après confirmation. On coche ensuite les options désirées et on valide en cliquant sur le bouton "OK" du bas.
On remarque qu'un sous-répertoire "debast.gwb" a été créé dans le répertoire "/web/geneweb/bases".
Maintenant que la base de données est créé, dans le troisième écran présenté ci-dessus, on peut introduire un nom de base de données pour accéder à notre généalogie.
Configuration
Avec chaque base de données est créé un fichier de configuration dans le répertoire "/web/geneweb/bases". Il porte le nom de la base avec l'extension ".gwf". Par exemple pour la base "debast", le fichier "debast.gwf" est créé et inclus nombre de paramètres prédéfinis.
On peu le modifier avec un éditeur de texte. Le fichier "/web/geneweb/gw/a.gwf" décrit les paramètres possibles. Dans notre cas, nous avons ajouté quelques-uns:
default_sosa_ref=Albert Ghislain.0 De Bast default_image=yes
Le premier défini la personne de la base de l'arbre généalogique (Sosa 1).
Le second affiche une image par défaut pour la personne selon son sexe.
Aperçu de l'interface Généalogique
Maintenant que nous avons une base de données, on peut la visiter.
Quand on lance l'interface Web de Gwd (troisième écran vu ci-dessus), on peut introduire le nom de la base, par exemple "debast". On obtient cet écran.
On y a introduit le nom d'une personne, par exemple "bogo". Et on valide par la touche "Enter". On a une liste des personnes ayant comme nom de famille "Bogo".
On clique sur une des personnes pour avoir le détail.
La barre d'outils du dessus permet d'aller plus loin.
Sécuriser la base de données
Par défaut, tout le monde peut tout faire dans la base généalogique, ce qui ne pose par de problème s'il n'est accessible que par vous dans votre LAN privé.
Par contre si on l'ouvre à plusieurs personnes ou sur Internet, il devient nécessaire de la protéger.
Groupes d'utilisateurs
Il existe trois sortes d'utilisateurs:
- les visiteurs qui ne peuvent rien modifier et n'ont accès qu'à la partie publique
- les amis qui ont accès à tout mais ne peuvent rien modifier
- les magiciens qui ont un accès total sans limites
Nous allons décrire quelques unes des différentes possibilités.
Création des utilisateurs
Le groupe "visiteurs" n'a pas besoin de configuration car il regroupe l'ensemble des autres utilisateurs.
Pour les deux autres groupes, on crée pour chacun un fichier dans le répertoire "/web/geneweb/bases". C'est un fichier texte où chaque ligne concerne un utilisateur. Cette ligne a le format de base:
<nom d'utilisateur>:<mot de passe>
par exemple:
Pierre:Bateau-Blanc Baptiste:Boulle-et-Bill
Nous créons le fichier "ami.txt" pour le groupe des amis et le fichier "editeur.txt" pour le groupe des magiciens.
Maintenant nous ajoutons dans le fichier de configuration de la base de données, par exemple "debast.gwf", les deux lignes suivantes:
friend_passwd_file=ami.txt wizard_passwd_file=editeur.txt
Activer la vie privée
Depuis quelques années a été introduite le règlement général de protection des données (RGPD).
Pour l'activer, nous ajoutons dans le fichier de configuration de la base de données, par exemple "debast.gwf", les deux lignes suivantes:
private_years=100 hide_private_names=yes
Avec ces deux paramètres, les visiteurs ne pourront pas voir les informations pour toute personne ayant des dates (naissance-mariage-décès) comprises dans les 100 dernières années. En 2023, les visiteurs ne verront que les personnes au delà de 1923. Entre 1924 et 2023, ils ne verront que des "X X".
Aperçu
Maintenant l'écran de départ possède en haut à droite deux boutons de connexion et le nom du Sosa 1 n'est pas affiché.
Pour avoir plus de possibilités, il faut s'authentifier sinon on est considéré comme un visiteur.
Exclusion des visiteurs
On peut aller plus loin en exigeant une authentification. Les visiteurs n'auront aucun accès.
il nous faut ajouter dans le fichier de configuration de la base de données, par exemple "debast.gwf", les lignes suivantes:
visitor_access=no visitor_access_msg_en=Access to the base is restricted to wizard and friends. visitor_access_msg_fr=L'accès est limité aux amis.
Les lignes deux et trois permettent d'afficher un message d'avertissement personnalisé, la deuxième en anglais ("en") et la troisième en français ("fr"). On peut ajouter des messages pour les autres langues. Elles sont facultatives.
L'écran d'accueil devient alors:
→ retour au menu du serveur Web