« LINUX:GeneWeb » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 71 : Ligne 71 :


[[FILE:LINUX:Geneweb.start.png|600px|center]]
[[FILE:LINUX:Geneweb.start.png|600px|center]]




Ligne 87 : Ligne 85 :
Il ne faut pas oublier de relancer le service Iptables pour que ces règles soient effectives:
Il ne faut pas oublier de relancer le service Iptables pour que ces règles soient effectives:
  systemctl restart iptables.service
  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
 
[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:
----
tcp        0      0 0.0.0.0:2316            0.0.0.0:*              LISTEN      1225868/gwsetup
----





Version du 19 décembre 2023 à 23:19


retour au menu Divers


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.


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".

LINUX:Geneweb.start.png


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
 
[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:


tcp        0      0 0.0.0.0:2316            0.0.0.0:*               LISTEN      1225868/gwsetup





retour au menu Divers