[TUTO] Auto-héberger un noeud DUNITER sous Debian/Ubuntu

Rédigé par citizenz - - 15 commentaires
Article mis à jour le 21/11/17.
Reprenons ce que nous dit https://yeuxdelibad.net/Blog/?d=2017/11/08/16/00/51-debuter-avec-duniter-1-puis-heberger-un-noeud :
Pour rappel : Duniter est un logiciel. Son but est de permettre la production d'une nouvelle valeur numérique (ou électronique) ayant toutes les caractéristiques d'une « monnaie libre ». Nom de code de cette nouvelle valeur : la Ğ1 (prononcez « June », \ʒɥn\). La Ğ1 est désormais bien réelle : les toutes premières unités ont été créées le 8 mars 2017, et de nouvelles sont produites chaque jour par ses membres.

Le petit tuto ci-dessous reste non exhaustif voir même "simpliste" et n'aborde pas l'idée, le projet ou la philosophie de Duniter, de la Ğ1, etc. Il rappelle simplement les différentes étapes d'installation d'un "nœud" Duniter sous Debian/Ubuntu qui permettra de participer aux calculs nécessaires aux échanges de Ğ1.

J'utilise un PC sous Ubuntu 16.04 64 bits à la maison (auto-hébergé).
Connexion ADSL2 : Freebox V6 (+/- 7 MB/s)
PC : Intel i5, RAM 8 GB, SSD 120 GB

C'est parti :

a - On télécharge le paquet Debian (Debian/Ubuntu, ...) (version à vérifier sur le github Duniter ) :
$ wget https://github.com/duniter/duniter/releases/download/1.6.13/duniter-server-v1.6.13-linux-x64.deb

b - On installe le serveur Duniter :
$ sudo dpkg -i duniter-server-v1.6.13-linux-x64.deb

c - On génère la clé :
$ duniter wizard key

Réponse aux questions :
------Modify you keypair? (y/N) y
------Key's salt : mettez ici un mot de passe, une phrase, ce que vous voulez...
------Key's password : mettez ici un mot de passe

d - On configure le réseau :
$ duniter wizard network

Réponse aux questions :
---IPv4 interface : déplacez-vous, le cas échéant avec les flèche du clavier pour choisir la bonne adresse Interne (Privée) et validez. Sur mon réseau local (MAISON), je suis connecté sur ma Freebox V6 en DHCP fixe. En l'occurrence, mon adresse IP internet est : 192.168.0.75
---IPv6 interface : déplacez-vous dans la liste avec les flèches du clavier pour choisir l'adresse et validez. Choisissez "none" si vous n'avez pas d'IPv6.
---Port : 10901
---Remote IPv4 : ici, on vous demande votre adresse IP publique (avec ma Freebox, c'est du type 82.xxx.xxx.xxx)
---Remote port : 10901
---Does this server has a DNS name? y ou n (répondez "y" si vous voulez héberger le nœud sur un serveur possédant un nom de domaine. Exemple : g1.spacejerk.fr)

e - On lance la synchronisation :
$ duniter sync g1.duniter.org 443
Prenez votre mal en patience, ça peut être assez long (20 minutes ou +..., selon votre connexion et votre matériel)

f - On lance le serveur :
Moi, je lance le serveur avec l'interface web, plus pratique :
$ duniter webstart --webmhost 192.168.0.75
Remarquez ici que je rajoute un argument à la commande duniter webstart : "--webmhost" me permet de spécifier l'adresse IP privée de mon réseau interne Freebox
Vous aurez alors accès à votre "interface web" à cette adresse : http://MON-DOMAINE:9220 ou bien http://MON-IP:9220

g - N'oubliez pas d'ouvrir le port suivant dans votre firewall (si vous en avez un) :
10901/tcp = serveur

g bis - Si comme moi votre Freebox est confgurée en mode "routeur", il faut faire une redirection de ports vers votre IP privée (10901)

Attention : l'ouverture du port 9220 sur la box ou le firewall rend l'administration Duniter disponible à *tout utilisateur extérieur* et il devient extrêmement facile de dérober la clé privée si vous n'avez pas de protection supplémentaire (YunoHost, restriction d'accès par IP, ...)

Maintenant se pose la question : comment se connecter "proprement" à l'interface web du nœud, sans ouvrir le port 9220 ? elois sur le forum Duniter nous donne une très bonne astuce à base de SSH :
ssh -L PORT_LOCAL:localhost:9220 user@ip -p SSH_PORT

Ce qui donnerait chez moi, depuis mon PC maison :
ssh -L 8999:localhost:9220 citizenz@MON_IP -p 5001

Puis on tape l'adresse suivante dans son navigateur préféré :
http://localhost:8999

Et zou ! On arrive directement sur l'espace web d'admin du nœud ! C'est magique ! :D

h - S'inscrire sur CESIUM
Cesium est une application vous permettant de gérer votre compte en monnaie libre Ğ1.
URL : https://g1.duniter.fr 
Il va falloir créer un compte. C'est nécessaire pour être inscrit dans le registre public du Ğ1. Vous créerez en même temps un "porte-feuille".
Remplissez complètement les infos demandées dans votre compte.
/!\ Retenez bien votre identifiant secret et votre mot de passe, essentiels pour vous connecter.
Vous devez créez un compte "membre" pour pouvoir plus tard participer au dividende universel....

N.B. : En rentrant ses propres identifiant et mot de passe de membre, on relie le nœud à sa clé publique.

Pour toute info et complément, je vous renvoie vers plusieurs liens :
CitizenZ : Geek quadra nivernais
fan d'ovalie, de musique, de linuxeries et de Net !

À lire également

15 commentaires

#1  - vincentux a dit :

Salut,

sympas comme petit tuto.
Par contre si tu installe Duniter avant de t'inscrire sur Césium ou autres clients, c'est inutile de faire la commande : "duniter wizard key"
Duniter va lui même créer une pair de clé aléatoire.
Et lorsque tu sera inscris, alors tu pourras y mettre ta paires de clé via cette commande.

Vincentux.

Répondre
#2  - citizenz a dit :

Ah ok ! Merci pour la précision @vincentux cool

Répondre
#3  - elois a dit :

Bonjour @Citizen, et merci pour ce partage.

La Ğ1 est une monnaie féminine comme LA "livre sterling" par exemple, merci de corriger !

Éloïs

Répondre
#4  - citizenz a dit :

@elois Corrigé ! big_smile
Je me suis basé sur ce que j'ai trouvé sur le Net et beaucoup de monde fait - semble t-il - l'erreur d'utiliser Ğ1 au masculin.
Peut-être une "déformation" parce qu'on dit "Le" Bitcoin ? ...

Répondre
#5  - gangan a dit :

Pour Centos c'est pour quand ?

Répondre
#6  - citizenz a dit :

@gangan je ne connais pas Centos, désolé... Mais peut-être déjà en compilant/installant depuis le code source ? ---> https://github.com/duniter/duniter/archive/v1.6.13.tar.gz

Répondre
#7  - Guide Gamer a dit :

très intéressant pour le coup, surtout que j'utilise Debian depuis peu longtemps

Répondre
#8  - cgeek a dit :

Attention : l'ouverture du port 9220 sur la box rend votre administration Duniter disponible à *tout utilisateur extérieur*, et il devient extrêmement facile de dérober votre clé privée si vous n'avez pas de protection supplémentaire (YunoHost, restriction d'accès par IP, ...).

Je vous conseille vivement de retirer ce comportement !

Répondre
#9  - citizenz a dit :

@cgeek merci pour ce précieux commentaire wink
Comme je bouge souvent, la restriction d'accès par IP ne me convient pas... n'y a t-il pas d'autres possibilités pour utiliser l'interface web "de l'extérieur" ?
Merci.

Répondre
#10  - citizenz a dit :

Réponse apportée dans l'article avec : ssh -L PORT_LOCAL:localhost:9220 user@ip -p SSH_PORT

Répondre
#11  - aguy a dit :

Bonjour,
Merci pour le tuto qui m'éclaircit beaucoup l'installation, pour un newbee en duniter très appréciable ;o)

Juste un petit complément, avant de lancer l'installation s'assurer de l'installation de unzip avec "apt-get install -y unzip", sinon si ça manque ça plante, bien sûr.

Et juste un zest de remarque:
- soit on se met dans /tmp "cd /tmp" avant le téléchargement
- soit on supprime le fichier téléchargé du répertoire courant, après l'installation, "rm duniter-server-v1.6.13-linux-x64.deb"

Bonne soirée à tous

Répondre
#12  - aguy a dit :

Ah si j'osais un petit conseil supplémentaire pour le tunneling SSH qui permet une connection sécurisé à l'interface web de duniter.

Si vous utilisez un container openvz, lxd ou docker ou bien encore une machine virtuelle pour héberger votre noeud vous pouvez accéder à l'interface web de votre noeud sans ouvrir directement un accès à votre noeud en se servant du tunneling comme passerelle. La connection devient alors :
HOST : machine host (hébergeant votre machine virtuelle ou container, visible d'internet)
VM : votre machine virtuelle ou container qui contient votre noeud duniter

ssh [USER_HOST]@[IP_HOST] -p [PORT_HOST] -L [PORT_LOCAL]:[VM_IP]:[VM_PORT]

avec une connection en local : http://127.0.0.1:PORT_LOCAL pour atteindre la VM VM_IP:VM_PORT.

Répondre
#13  - Eric a dit :

bon article !

Répondre
#14  - Roswell974 a dit :

Bonjour,

Tuto tjs valable en 2020 ?

Répondre
#15  - citizenz a dit :

@Roswell974 je ne pense pas !

Répondre

Fil RSS des commentaires de cet article

Écrire un commentaire

 Se rappeler de moi sur ce site
Quelle est la première lettre du mot r84qz2xk ?