Tuto – Geneweb – Raspberry – https – YunoHost

logo GRY, oct. 2022
logo GRY

Tuto – Geneweb – Raspberry – https – YunoHost

Sur ce Tuto je vais tenter de vous expliquer comment avoir un accès https sur Geneweb en mode pur service et non en page web sur « /var/www » et sans script cgi-bin.

Je vais également vous expliquer les raisons de mes choix, le matériel utilisé, les problèmes rencontrés et solutions trouvées.

Alors pas un tuto traditionnel, linéaire où l’on y fait des copiés/collés sans réfléchir, mais mon objectif et mes doutes, interrogations avant de trouver la solution. Démontrer que tout n’est pas toujours limpide même si la solution est finalement plus simple mais autrement que nous l’avions pensé. Et que si ce tuto ne fonctionne pas in-texto pour vous, la solution existe certainement.

Du coup Sima tu ne fais pas vraiment pro !
Je ne suis pas pro mais éternel amateur dont je revendique le statut. Comme aux jeux d’échecs, on apprend beaucoup plus en analysant nos déboires que nos victoires !
Ouah sima en plus t’es philosophe !
Ouais !

  1. Matériels
  2. Explication de mes choix
  3. Rapsberry
  4. Geneweb
  5. Défi https et problème rencontrée.
  6. Appel à un ami !
  7. La solution via Yunohost
  8. Pour conclure

1 Matériels

Rapsberry pi3 avec sd noobs et disque dur externe ssd pour les sauvegardes.
– Serveur avec couche YunoHost

Retour haut de page

2 Explication de mes choix

Je souhaitais que Geneweb soit séparé pour plusieurs raisons.

  • a – Des craintes dont certaines pas forcément fondées puisque pas testées mais je ne souhaitais pas prendre le risque. Mettre Geneweb sur le serveur sous Yunohost en mode service avec stunnel4 pour le https, seule solution que j’avais trouvé à une époque. Pas envie non plus de le mettre dans « /var/www/ » avec un cgi-bin qui m’aurait obligé à apporter des modifications que peut-être Yunohost aurait viré lors des mises à jours et aussi pour ne pas perturber la cohérence du serveur sous Yunohost.
  • b – Laisser la possibilité de donner la main en mode administrateur à ceux qui souhaiteraient parmi les membres de cette généalogie… Aller au-delà de compléter les informations généalogiques et pourquoi pas gérer la totalité en mode admin. On se doute que je ne souhaite pas donner des droits administrateurs sur mon serveur perso sous Yunohost. D’où l’idée de le séparer.
  • c – Je n’avais pas envie de gérer un ième serveur web avec Apache ou Nginx et le tutti-conti. Quelque chose qui soit le plus simple possible allant à l’essentiel.

Retour haut de page

3 Rapsberry

Un Rapsberry oppérationel, je ne vais pas faire un tuto sur le sujet pour peu que vous ayez une carte sd Noobs, vous avez juste à vous laisser guider, il existe plein de tutos sur le web.

Penser à changer le mot de passe par défaut, activer SSH, changer le numéro de port, mettre une IP fixe (moi je l’ai fait depuis ma freebox où j’attribue une ip au Raspberry). Pas d’Apache ou Nginx, ni base de données, on reste minimaliste.

Retour haut de page

4 Geneweb

Installer en mode service avec un simple apt. Du coup ce sera la version des dépôts, la version Geneweb 6.08 même s’il existe la version 7 sur un GitHub.

On peut juste faire :

apt install geneweb

et configurer certains fichiers à la main.

Le plus simple est de tout installer, ça reste très léger :

apt install geneweb geneweb-gui gwsetup gwtp

En allant sur localhost:2317 vous accédez à geneweb (vide).
En allant sur localhost:2316 vous accédez à gwsetup qui vous permettra de créer une base généalogique ou d’en charger une existante (ce que j’ai fait).

Vous retrouverez tout (l’essentiel) dans « /var/lib/geneweb/ »

J’ai modifié à la main le fichier ma_base.gwf car j’utilise des fonctions pas prévues dans l’outil gwsetup.

gwsetup vous propose de mettre un « Ami » (accès à tout l’arbre généalogique sans droit de modification) et un « Magicien » (droit de modification de l’arbre généalogique.
Or moi j’ai un fichier (file-friends.auth) où se trouvent tous les « Amis » et un autre (file-wizards.auth) où se trouvent tous les « Magiciens ». Ces fichiers se créent à la main, au fil du temps où vous ajoutez ou supprimez des « Amis » et/ou « Magiciens » et vous nommez vos fichiers comme vous voulez et les mettre dans « /var/lib/geneweb/ »

Il suffit dans « /var/lib/geneweb/ma_base.gwf » de mettre en commentaire deux lignes et en rajouter deux autres :

# friend_passwd=
# wizard_passwd=
friend_passwd_file=file-friends.auth
wizard_passwd_file=file-wizards.auth

Tout fonctionne bien en localhost:2317 et depuis un pc du réseau http://IpduRapsberry:2317 soit du genre : http://192.168.xx.xx:2317

Faire une redirection sur la freebox pour que tout ce qui vient sur le port 2317 arrive bien sur le Rapsberry et non sur l’autre serveur.

Test extérieur ça fonctionne mais en http et pas en https

Défi : que ça passe en https. Problème, difficulté rencontrée.

Retour haut de page

5 Défi https et problème rencontrée.

Donc dans mon idée il y avait

Sauf qu’à l’étape « a » ça se passe mal. « certbot » (qui permet de générer des certificats LetsEncrypt) me crie dessus me disant qu’il ne s’agit pas d’un serveur web qu’il n’y a ni Apache ou Nginx ou autre et que j’aille me faire foutre voir ailleurs, je n’aurais pas de certificats LetsEncrypt.

Là je reste interdit, que faire ? Des certificats auto-signés qui afficheraient des messages d’alerte sur les navigateurs ? Pas top…

Un petit tour chez mon fournisseur de nom de domaine (Gandi) et une solution possible… Je peux générer mes propres certificats et les soumettre à leur signature, solution possible, payante, sans certitude absolue mais une bonne piste…

Que faire ? Appel à un ami ?

Retour haut de page

6 Appel à un ami !

Quand on est confronté à un problème, on en fait parfois une fixette comme une poule ou un coq qui découvre un cure-dents.

Poule, oct. 2022
Coq

Appeler un ami c’est l’espoir d’avoir une solution, ou des pistes et au pire ça fait du bien de chialer sur l’épaule d’un autre.

La victime fût Benzo, Le pauvre… Pourquoi lui ? Déjà on s’entend bien, c’est un pro, et je sais qu’il connaît bien Yunohost et qu’il a des services en parallèle…

Il ne connaît pas Geneweb mais à bien identifié mon problème, pas de solution immédiate, mais plein d’échanges d’idées : (…) si tu crées un domaine sur yunohost et fait un script pour renvoyer les certificats, écrire une redirection (…).

Ça part dans tous les sens, ça fuse sans solution concrète… Mais, mais, mais ça fait du bien et de ma vision d’une poule face au cure-dents, j’ai une vision bien plus panoramique.

Dès qu’on raccroche, j’ai le déclic… domaine Yunohost, redirection !

Retour haut de page

7 La solution via Yunohost

Le domaine (sous domaine) YunoHost, j’en ai un inutilisé genre mon-arbre.MonNomDeDomaine.fr avec les certificats LestEncrypt générés et renouvelé automatiquement.

Si je ne l’avais pas ça se crée au simple clique sous Yunohost. Plus qu’à compléter deux lignes chez le fournisseur de nom de domaine, si vous ne savez pas quoi mettre, YunoHost vous le dit !

Bref, nom de domaine fait !

Je me souviens qu’il existe une app sous Yunohost pour les redirections.
J’installe sous Yunohost « Redirect » et le configure comme suit :

Redirect, oct. 2022
Redirect

* Après vérification, c’est juste le / avec rien derrière.

Si vous mettez « /votre_base »    « votre base » étant une base généalogique existante ça fonctionne et vous arrivez directement sur la base. Le souci est que si vous avez plusieurs bases, ou souhaitez en créer d’autre, vous n’arriverez que sur la base que vous aurez mise derrière le « / ».

Il n’est pas possible de vérifier la configuration après installation de Redirect, ni la modifier, il faut faire « Supprimer » et installer de nouveau, comme je l’ai dit, ça prend moins d’une minute.

Lors de vos tests geneweb depuis le navigateur, pensez à bien vider votre cache avant chaque tentative, pas un simple rafraîchissement de la fenêtre, j’ai galéré un moment à cause de cela.

Dans « Emplacement de destination » mettez l’IP interne d’accès à votre geneweb, donc sur le port 2317 et en http, soit http://192.168.xx.xx:2317

Dans « Type de redirection » 4 choix : choisissez Proxy, invisible accessible à tout le monde comme sur l’image.
Bref vous arriverez directement sur la page d’accueil en tapant sur votre navigateur :
https://nomsousdomaine.nomdomaine.fr

Le mieux est d’arriver sur la page d’accueil et taper le nom de la base généalogique sur laquelle on souhaite aller:

page accueil des bases geneweb, oct. 2022
page accueil des bases geneweb

page accueil des bases geneweb

Retour haut de page

8 Pour conclure

Un Raspberry avec Raspbian sur lequel on installe Geneweb et rien de plus.

Sur le serveur YunoHost créer un domaine et générer les certificats LetsEncrypt (chez votre fournisseur de nom de domaine apporter les précisions « AAAA » et « CNAME » à votre nouvelle création (si vous ne savez pas quoi mettre, suivez les conseils YunoHost, vous aurez juste à faire des copiés/collés). Installer l’application « Redirect », la configurer… Et c’est terminé.

Un Grand merci et bravo aux développeurs et contributeurs de Yunohost et de ses applications.

Je pense donc qu’il est possible d’installer geneweb avec simple « apt » sur un serveur Yunohost avec la redirection qui va bien… Mais ça je n’ai pas testé.

Les utilisateurs pourrons se connecter en https sur le domaine que vous aurez créé genre : hppts://geneweb.nom_domane.fr

Sur votre Yunohost, ne vous connectez pas directement en cliquant sur la brique, vous ne pourrez pas vous connecter en  « Ami » ou « Magicien » car je pensez qu’il est attendu un identifiant enregistré sous Yunohost.

Hein sima, tout ce baratin pour une si courte conclusion !
Hé oui, c’est plus un retour d’expérience qu’un tutoriel !

J’envisage écrire un autre tutoriel, plus technique, factuel, sans y raconter ma vie pour le site officiel Geneweb

Le billet Tuto – Geneweb – Raspberry – https – YunoHost est apparu en premier sur le blog de Sima78.

Retour haut de page

Blog – La suite de mon Doctclear Yunohost

La suite de mon Doctclear Yunohost

J’en ai fini concernant mon blog (ou presque), j’ai revu tous les billets pour que les images s’affichent, aucun lien avec YunoHost cette modification est dû au choix de créer un sous-domaine.

Catégories

J’ai réduit considérablement les catégories, bien que je ne pense pas que cela soit toujours judicieux pour certains billets en effet, lorsque je publie un billet avec deux ou trois lignes de commande et se retrouve dans Tutos, on peut se poser la question, j’aurai peut-être dû créer une catégorie « Astuces ». Pas facile de créer des catégories dans lesquelles s’encre correctement les billets, j’admire les blogueurs qui y arrivent.

DotClear et YunoHost.

Reste un tout petit souci qui pourrait être corrigé. Lorsque je publie un billet, j’aimerai que l’auteur du billet soit Sima78, or le pseudo pris en compte et celui du nom complet enregistré sous YunoHost, ici « sima sa » et non pas le nom d’utilisateur enregistré sous YunoHost. J’ai beau aller en admi dans Dotclear → Préférences… Changer le pseudo et enregistrer (Sima78), il suffit que je me déconnecte et me reconnecte pour que ce soit de nouveau « sima sa », ce n’est pas bien grave, mais ce serait bien que ce soit corriger.

Plugins

J’ai remis tous mes plugins sauf un,bon il faut dire que je n’ai pas beaucoup de plugins, je suis de ceux qui pensent que moins on en a, mieux l’on se porte. Toutefois celui manquant m’embête un peu, il s’agit de « Contactez-moi », celui proposé par Dotclear fonctionne pour la version 2.19 et pour l’instant je suis en 2.18. Je vais devoir attendre que YunoHost mette à jour dotclear.

YunoHost en général.

Comme je l’ai dit, je suis bluffé par l’efficacité. Par exemple, lorsque j’ai créé des sous-domaines chez Gandi et que j’ai lancé le diagnostique YunoHost, j’ai plusieurs avertissements des manques concernant le DNS. Non seulement il y a l’alerte mais en regardant dans le détail il y a la solution, plus qu’à faire des copiés/collés directement chez Gandi et tout rentre dans l’ordre… Super !

S’il fût un temps où j’ai adoré bricoler IpTables, Fail2ban, les Vhost, etc… Franchement, est-ce l’âge ? Mais j’ai de moins en moins envie de me prendre la tête et en cela YunoHost est magique et simplifie au maximum la tâche, tout se fait aux cliques ! Je me souviens qu’il y a quelques mois sur mon ancien serveur, j’avais renoncé à installer un « pad », sous YunoHost je l’ai fait en quelques secondes. J’envisage d’ajouter un disque supplémentaire et d’installer PeerTube, ce que je n’envisageais pas avant.

YunoHost facilite vraiment la vie et à de l’avenir.

Blog – le retour de sima78

Yunohost, août 2021
Yunohost

Le retour de Sima78

Ok, je ne suis jamais vraiment parti mais il y a eu des changements et d’autres à venir.

Un serveur avec YunoHost, et le blog est dessus. Alors, oui, il reste du travail à faire.

Je me suis lancé mais je dois vous l’avouer, ce qui m’a motivé est le commentaire de « ljf » sur le billet « Dotclear et Yunohost pas au point » et aussi la participation, in-situ, de Benzo, grande source de motivation !

Premier changement, j’ai créé un sous domaine pour le blog, même si j’ai créé une redirection, le mieux pour ceux qui suivent le blog est de reprendre la nouvelle URL.
Donc sous Yunohost, mais reste du taf !

Le blog

  • Reprendre tous mes billets car les images ne s’affichent plus, ce n’est pas lié à YunoHost mais au fait d’avoir créé un sous domaine, en effet les images pointent sur « sima78/public/etc » alors qu’elles sont dans « public/etc ». Donc reprendre tous mes billets car si pour certains les images ont peu d’importance ce n’est pas le cas des tutoriels. Heureusement contrairement à Iceman qui a dû revoir plus de mille billets, j’ai l’avantage du paresseux qui publie peu.
  • En profiter pour refaire les catégories car je trouve que c’est un peu le bordel, le fouillis.
  • Revoir le thème.
  • Apparament la mise-à-jour de Dotclear ne se fait pas directement depuis l’interface admin du blog… ça ne fonctionne pas. Je pense que cela dois ce faire depuis YunoHost.

Nextcloud

  • Voir d’où vient le problème de synchronisation ! Pour l’instant je n’ai essayé que la synchronisation des contacts et de l’agenda avec mon ordiphone et ça ne fonctionne pas alors que je mets la bonne url, le bon « user » et bon mot de passe. Je n’ai pas encore essayé la synchronisation de « Carnet » ni des dossiers du cloud.
  • Après quelques tests et essais, toutes les synchronisations fonctionnent (contacts, agenda, carnet, et dossiers)
     

Grande interrogation ?

Geneweb !

J’utilise Geneweb 6.x, mais je teste depuis un certains temps Geneweb 7.x en localhost.

  • Dois-je installer Geneweb7.x à la main avec un « demons » qui se lance automatiquement à chaque redémarrage su serveur ?
  • Dois-je travailler sur un app Geneweb7.x pour YunoHost ? D’autres ont essayé avec la version 6.x, ce qui n’est pas une bonne idée, autant partir sur la version 7 qui est « responsive » à souhait et je pense plus facile à installer…

Les soucis :

  • je ne me vois pas ouvrir un GitHub, ni créer une machine virtuelle de test, donc déjà c’est mal parti, j’inspire de plus en plus au moindre effort, je veux bien contribuer aux scripts Yunohost, avec mes modestes connaissances.
  • Je pense qu’il faut revoir certaines parties de Geneweb pour une réelle convivialité administrative car s’il existe deux niveaux (ami pour consulter l’arbre généalogique et magicien pour pouvoir le modifier), le vrai administrateur est celui qui à la main sur le serveur pour ajouter (des amis avec mot de passe ou magiciens et autre configurations qui se font à la « mano ») et pour améliorer cela il faut voir avec ceux qui sont capable de développer/améliorer Geneweb.

En cours :

J’ai apporté pas mal de modification concernant les DNS chez Gandi, il m’en reste encore quelques-autres à faire. En fait j’ai encore pas mal de choses à voir comme installer d’autres blogs etc.

Voilà où j’en suis actuellement.

Dotclear et Yunohost pas au point

Dotclear et Yunohost  pas au point.

Contrairement à ce que je disais dans le précédent billet, je vais continuer mes publications puisque la migration sur le nouveau serveur ce n’est pas pour demain.

Contexte :

J’ai une vieille machine qui fait office de serveur, il est dans la salle à manger et Madame Sima ne supporte plus de voir et surtout d’entendre ce gros machin ronfler 24h/24h. J’ai depuis quelques mois une machine flambant neuf sans ventilateur qui dort dans son carton et comme tout bon procrastinateur que je suis, remettais au lendemain l’installation. La semaine dernière un ami est venu et il m’a motivé, je voulais un serveur avec Yunohost. C’est parti ! On installe Debian, puis la couche Yunohost. Pour les bases de données on y met l’application PhpMyAdmin (quitte à l’enlever plus tard), ça faisait looongtemps que je n’avais pas utilisé PhpMyAdmin, mais puisque Yunohost autant aller dans la simplicité.

Puis installer Dotclear pour y migrer mon blog, et là c’est le début des problèmes.

Je ne vais pas vous décrire tout dans le détail, ce sera déjà assez long ainsi, je vais essayer d’être le plus linéaire possible. Précision, à chaque fois que ça ne fonctionnais pas comme je le souhaitais, je suis reparti « from scratch« 

Installation de l’app Dotclear pour Yunohost

Avant tout il faut créer dans Yunohost l’utilisateur qui sera admin du blog, c’est logique sinon on aura comme admi l’utilisateur par défaut de Yunoshost (si on en a créer qu’un).
Donc créer l’utilisateur « sima78 », c’est simple c’est au clique.

Installation de l’app Doctlear

Il est demandé le nom de l’utilisateur qui sera admin, donc « sima78 » et où doit être installé Dotclear, par défaut « /dotclear2 »
Etant donné que je devrais migrer 3 Dotclears appartenant à des personnes différentes, je mets donc « /sima78 »

Tout s’installe bien, je fais un diagnostique, tout est ok, je génère les certificats pour le blog, nickel, tout au clique et en toute simplicité, c’est magique ! C’est bluffant !

J’arrive sur Dotclear, tout beau, tout neuf ! Je me connecte en admi et je vois qu’il y a une mise à jour à faire.
Premier clique et premier message d’erreur.
Je ne l’ai pas noté mais en gros un fichier a été modifié pour l’app et ne permet pas la mise à jour automatique et nécessite une mise à jour manuelle.
Je fais l’impasse sur la mise à jour.

Voyons deux problèmes « bases de données » et migration du blog (fichiers et dossiers).

Base de données :
A l’installation de Dotclear, l’app crée une base de données appelé « dotclear2 »
J’ai créé une base de donnée « sima78 », modifier le fichier inc/congif.php (via ssh et vim) et là je me rends compte d’un premier souci, Dotclear est dans var/www/dotclear2 et non dans /sima78 ? J’y reviendrai plus tard c’est un autre problème.

Créer sa base de données sous un autres nom et modifier le fichier de configuration ne fonctionne pas, j’ai plein de messages d’erreurs, pour que ça fonctionne un peu près correctement il faut importer sa base de données dans la base dotclear2. Bon, là je m’interroge déjà comment je vais faire pour les deux autres blogs.
Bon j’ai une base de données qui fonctionne, pas au bon endroit, pas avec le nom que je souhaiterai, mais ça fait le boulot pour l’instant, pour un blog.

Importation du blog
Vous vous souvenez, le répertoire « sima78 » ne s’est pas créé. Via ssh et mkdir je crée le répertoire « /sima78 » lui donne les mêmes droits que /dotclear2 et reparts « from scratch » (un parmi tant d’autres).

Mais non, rien n’y fait, il reste désespérément vide et il recrée un répertoire dotclear2 ou tout y est !

Je fais l’impasse et me contenterais pour mes tests du répertoire imposé.

Dans l’interface admi j’importe mon blog, tout semble bien se passer, je vais sur le blog, et là horreur, plus de thème, plus de plugin, un blog à la lynx, pas d’image, rien.
Je repars de zéro et tente d’importer mon blog là via ftp, parfois comme un bourrin, d’autres fois plus finement, mais non, rien de satisfaisant.

Pour résumer :
Au pire plein de messages d’erreurs et pas grand-chose qui fonctionne, au mieux un blog avec un thème, les liens entre articles qui fonctionnent, mais pas d’image (média) dans mes billets ni de plugin dans mon blog. Pour les plugins ce n’est pas un vrai problème, j’en ai peu, trois de mémoire (map du site, contact, et un captchat pour les commentaires), mais pour les images c’est un véritable problème car leurs liens relatifs est /sima78/public/etc

Les améliorations à apporter

Certains me dirons : bah sima ! Vas-y ! Yapuka !
Sauf que je ne sais pas faire, alors apporter mes critiques est déjà une contribution, d’autant plus que j’y ai passé du temps, pourtant dès que j’ai vu que le répertoire ne se créait pas et que l’on ne pouvait pas faire fonctionner avec plusieurs bases de données, chacune liée à un blog différent… dans l’immédiat, je savais déjà que je n’utiliserai pas Yunohost.

Donc les améliorations pour l’app Dotclear :

  • Faire en sorte que la mise-à-jour au clique fonctionne ! Car manuellement sous yunohost, je n’y crois pas.
  • Que Dotclear crée et s’installe sur le répertoire demandé !
  • Lors de l’installation, que soient posés les questions « nom de la base de données », « user de la base de données », « mot de passe de la base de données », comme c’est le cas lorsque l’on installe pour la première fois un dotclear, c’est implémenté dans le système d’installation de Dotclear alors pourquoi pas dans l’app. Et le top, serait que préalablement l’on nous demande de télécharger la base de données. Bref, la possibilité d’avoir plusieurs bases de données pour plusieurs blogs.

Et là il sera possible de migrer des blogs Dotclear dans Yunohost. Pour l’instant il est juste possible de se créer un blog Dotclear « from scratch » dont je ne suis pas certain qu’il soit facile de le migrer par la suite ailleurs.

Cela-dit je suis resté bluffé par Yunohost et j’ai vraiment apprécié, j’ai fait des tests en installant d’autres applications. Je pense que c’est vraiment une solution d’avenir… Mais sous prétexte de simplicité il ne faut pas perdre de vue que la maîtrise des données personnelles c’est aussi pouvoir les migrer où l’on souhaite par la suite.

Et quand ça ne va pas comme je le souhaite, comment faire un break, si ce n’est avec Kurtis Blow