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 ?