Installation d’un nœud Duniter à l’aide de YunoHost

Installation d’un nœud Duniter à l’aide de YunoHost

Objectifs

Cet atelier a pour objectif d’installer l’application Duniter à l’aide de YunoHost.

Avantages

Par rapport à Duniter-desktop, l’avantage d’avoir Duniter sur un serveur et le fait de pouvoir laisser son nœud tourner 24/7.
L’avantage de YunoHost et de l’application Duniter est de vous faciliter l’installation de Duniter sur un serveur.

Contraintes

Avoir des connaissances de base en administration système.
Laisser un serveur tout le temps allumé.

Pre-requis

  • Avoir une machine sous Unix (GNU/Linux, BSD, Mac OS) de préférence.
  • Avoir déjà manipulé la ligne de commande.
  • Pouvoir installer YunoHost via une des trois solutions cité ci-dessous.

Qu’est-ce que YunoHost ?

YunoHost est une distribution orientée serveur pour faciliter l’auto-hébergement. Elle est basée sur Debian GNU/Linux.

Elle peut vous permettre d’héberger des services comme un serveur de courriers électroniques, de messagerie instantanée XMPP, un site web…etc YunoHost est extensible avec tous types d’applications.

YunoHost peut être installé sur un ordinateur chez soi, comme sur la Brique Internet, ou dans un entrepôt de serveurs dans lequel le serveur serait loué.

Installation de YunoHost

Solutions d’installation de YunoHost

Voici trois solutions proposées durant cet atelier selon les contraintes et possibilités de chacun :

  • 1) brique avec YunoHost déjà installée. Il faut avoir une brique avec YunoHost d’installé.
  • 2) machine virtuelle locale. Si la machine a les capacités CPU et RAM. Plus technique.
  • 3) machine virtuelle dans un data-center. Il faut sortir la carte bancaire ! Des VM peuvent êtres crées entre les personnes.

1) Lancez votre Brique sans la casser

Par contre, on ne fera pas d’installation de briques étant donné que le flashage des cartes SD est une tâche chiante qui ne devrait pas être fait durant cet atelier car c’est une perte de temps sur notre objectif principal.

Après avoir connecté votre Brique au réseau, repérez l’adresse IP de la machine et connectez-vous.

2) Machine virtuelle locale

Installer une machine virtuelle à l’aide de l’outil de développement de YunoHost. Cet outil permet de déployer facilement un machine virtuelle de YunoHost localement. À faire de préférence sous un OS de la famille de Debian.

  • Installez les dépendances :
sudo apt-get install vagrant virtualbox git
  • Téléchargez l’outil ynh-dev :
wget https://github.com/YunoHost/ynh-dev/raw/master/ynh-dev
chmod u+x ynh-dev
  • Créer l’environnement :
./ynh-dev create-env /chemin/installation
  • Lancer le conteneur avec le nom de domaine rml8.org :
cd /chemin/installation
./ynh-dev run rml8.org stable

Il va télécharger l’image de YunoHost. Ça risque d’être longs, ça dépend du débit.
Vous serez automatiquement connecté en ssh à la VM.

Lancez la post-installation :

sudo yunohost tools postinstall -d rml8.org

Ajouter un nom de domaine spécifieque pour l’application Duniter:

sudo yunohost domain add duniter.rml8.org

Ajouter deux alias, en tant que root, à la fin du fichier /etc/hosts sinon l’installation du paquet échoue :

127.0.0.1 rml8.org
127.0.0.1 duniter.rml8.org

Passez à l’étape d’installation du paquet Duniter.

3) Machine virtuelle dans un data-center

Créer un compte sur DigitalOcean qui est un service de machines virtuelles pas chère pour une courte période de test d’une heure ou deux. C’est de l’ordre du centime d’euro l’heure.
Mettez-y de la monnaie à l’aide d’une carte bancaire, puis créer une machine virtuelle Debian Jessie x86 avec 1 Go de Ram. Ça ne passe pas avec 512 Mo de ram

Installer YunoHost

Nom de domaine – DNS

Sur Internet, pour accéder un site, comme duniter.org, votre ordinateur va demander à un serveur DNS (Domain name system) quelle est l’adresse IP pour accéder à ce site. Le serveur DNS, va lui répondre qu’il faut qu’il aille à l’adresse 51.255.197.83.

La procédure d’installation de YunoHost, vous demandera un nom de domaine. Si vous possédez un nom de domaine que vous pouvez dédier à ces tests.
Si vous n’avez pas de nom de domaine, une des astuces sera d’utiliser un nom de domaine que vous ne possédez pas, par exemple rml8.org.

L’application a également besoin d’un sous domaine. Vous pouvez utiliser la convention <pseudo>.rml8.org pour que les nœuds puissent être facilement repérable.

Pour cela, il suffira de modifier le fichier /etc/hosts en ajoutant qui fera office de serveur DNS uniquement sur votre machine :

sudo nano /etc/hosts

Ajouter ces lignes à la fin du fichier :

<adresse ip> rml8.org
<adresse ip> <pseudo>.rml8.org

Quittez et sauvegardez avec Ctrl + X puis O ou Y pour oui/yes.

Connexion SSH

SSH est un super outil permettant de contrôler à distance sa machine via des lignes de commandes.
Connectez-vous à la machine en ssh, en remplaçant <utilisateur> et <adresse> :

ssh <utilisateur>@<adresse>

Installation

Une fois connecté sur le serveur, installez YunoHost :

sudo apt-get install git

Clonez le dépôt du script d’installation de YunoHost :

git clone https://github.com/YunoHost/install_script /tmp/install_script

Lancez le script d’installation :

cd /tmp/install_script && sudo ./install_yunohost

Installation de l’application Duniter

L’application Duniter ne fait pas partie des applications officielle. Elle est dans la liste des applications communautaires. (Si vous cherchez bien, il est possible que vous trouviez une autre app concernant les monnaies libres \o/.) Elle ne fait pas partie des apps officielles, car le cœur n’est pas stable et aucune monnaie libre n’a été lancée. Elle pourra l’être une fois ces conditions réunies.

Créer un utilisateur

Le formulaire d’installation de l’application Duniter demande un compte utilisateur sur YunoHost. Cet utilisateur sera nommé administrateur de l’app. Il sera le seul à pouvoir accéder à l’interface web d’administration du nœud Duniter.

Créer un sous nom de domaine

L’application Duniter n’est pas encore installable sur un chemin, par exemple, domain.tld/duniter.
Voir ce rapport de bug pour plus de détails.
Pour cela, il faut l’installer sur un sous-domaine de la forme duniter.domain.tld.

Installation

L’installation peut se faire via l’interface web ou en ligne de commande.

Depuis l’interface web

Allez dans la partie d’administration de votre serveur, puis dans la section Applications, installer, puis tout en bas de la liste des apps officielles, un champ vide vous permet d’installer des applications communautaires.

Sinon, c’est également accessible à l’adresse https://domain.tld/yunohost/admin/#/apps/install

Mettez-y l’adresse du paquet Duniter :

https://github.com/duniter/duniter_ynh

Puis, inscrivez-y le sous-domaine choisi plus haut, l’utilisateur qui aura accès à l’interface d’administration du nœud Duniter.
Si vous avez un compte sur le réseau de test-net, renseignez vos identifiants dans le formulaire d’installation.
Tous les autres paramètres laissés par défaut devraient faire l’affaire.

En ligne de commande

Idem qu’avec l’interface web :

sudo yunohost app install https://github.com/duniter/duniter_ynh

Renseignez les champs comme expliqués plus haut.

Profitez de l’interface d’administration

Mise à jour

Le cœur de Duniter est toujours en développement actif, et il nous arrive souvent de devoir mettre à jour nos nœuds.
Si vous vous rendez compte que votre application n’est plus a jour dans Sakia, il faudra la mettre à jour pour que le réseau puisse continuer d’avancer.

Étant donné qu’il ne s’agit pas d’une app officielle, elle ne bénéficie pas de la possibilité d’être mise à jour via l’interface web. Pour cela, il faut passer en ligne de commande, avec la commande suivante qui devrait faire le boulot :

sudo yunohost app upgrade duniter -u https://github.com/duniter/duniter_ynh

Aller plus loin

Maintenant que vous maitrisez les bases pour héberger vos propres services grâce à YunoHost vous êtes prêt pour vous lancer dans l’auto-hébergement et participer à la vie de votre système monétaire. C’est pas beau l’indépendance ?

6 J'aime

7 messages ont été déplacés vers un nouveau sujet : Full-HTTPS support for Duniter package for YunoHost