Bonjour,
Voici mes notes prises lors de l’installation de Duniter version server sur un Raspberry Pi 4 sans yunohost.
Est-ce que vous pouvez confirmer que ce tuto est juste et que rien n’y manque ? L’idée étant de publier cela à plus grande échelle.
Merci d’avance.
1 Introduction
La Ğ1 (prononcez « June »), crypto-monnaie atypique, basée sur la blockchain et co-produite par ses utilisateurs, fonctionne sur un réseau d’ordinateurs. Son fonctionnement est totalement décentralisé, en P2P. Et repose sur des centaines de petits (ou gros) ordinateurs sur lesquels est installé un programme : Duniter. C’est ce dernier qui se charge d’effectuer les opérations demandées par les utilisateurs de la Ğ1. Donc, si vous êtes vous même utilisateur de la Ğ1, pour permettre au réseau de fonctionner et à la Ğ1 de circuler, soit vous estimez que vos compétences en informatique/électronique sont trop faibles pour être utiles et alors je vous invite à verser une contribution (une partie de votre DU, par exemple) sous forme de don à la clé publique TENGx7WtzFsTXwnbrPEvb6odX2WnqYcnnrjiiLvp1mS (plus de détail ici), soit vous mettez un peu de votre temps, énergie, argent et vous proposer un serveur à la communauté. Voici ici, la procédure que j’ai suivi pour y arriver. J’utilise pour cela un Raspberry Pi 4.
2 Le Raspberry Pi.
- Acheter un Raspberry Pi 4 (RP).
La liste des revendeurs dans votre région se trouve à cette adresse. Il se peut qu’un RP 3 pourrait être suffisamment puissant pour faire l’affaire. À tester. Le RP 400 est fourni avec clavier et souris, ce qui n’est pas nécessaire dans ce projet. J’ai acheté le boîtier quand même pour le protéger de la poussière.
- Vérifiez que votre vendeur vous fournis les câbles nécessaire
(au minima un câble HDMI pour connecter votre RP à un téléviseur et un câble USB type C pour l’alimentation). Pour ce projet, vous aurez besoin d’un câble pour vous connecter à Internet (connu sous les noms de câble Ethernet ou RJ45). À moins que vous ne passiez par le Wi-Fi mais c’est hors sujet. Et temporairement d’un clavier USB et d’une souris USB et d’un écran avec une entrée HDMI.
-
Acheter une micro-carte SD. Minimum 16G, je pense.
-
Installer une image du système d’exploitation (Opereting system, OS) sur la carte SD.
Cette image est disponible sous forme d’un fichier exécutable.
Téléchargez la version qui correspond à l’OS de l’ordinateur que vous utiliser chaque jour, ici. Vous téléchargez l’image sur votre ordinateur, vous insérez votre carte SD dans votre ordinateur, puis vous la transférez sur la carte SD en exécutant le fichier exe. Ensuite, vous placez la carte dans le RP.
-
Connecter les câbles et installer l’OS sont décrits ici.
-
Lors de l’installation, vous avez dû créer un user nommé « pi » et vous avez modifié son mot de passe (mdp), bien sûr.
À ce stade-ci, le RP est allumé et que vous voyez le bureau sur votre écran.
- Configuration spécifique du RP pour Duniter.
L’idée ici est qu’en définitive, votre RP soit placé dans un coin de votre maison, avec pour seules connections celles de l’alimentation et de l’Ethernet et que vous y accédiez à partir de votre PC habituel. Pour cela, il existe un outil qui se nomme SSH et qui est disponible par défaut sur les ordinateurs Windows modernes (pour Linux ou Mac, je ne sais pas mais vous bien, j’en suis sûr :-). Pour pouvoir l’utiliser avec votre RP, il faut l’activer. Pour cela, sur votre RP, ouvrez une console, un terminal (une fenêtre noir dans laquelle on peut taper des commandes, accessible via le menu du bureau) et écrivez « sudo raspi-config », vous allez peut être devoir introduire le mdp de pi. Là, vous entrez dans un menu de configuration de RP et choisissez « Interfacing options » et choisissez la ligne SSH puis « Yes ». Sauvez. Voilà, c’est activé. Je reviendrai sur SSH plus tard. Il est possible d’y arriver via le menu « menu des applications ➜ Préférences ➜ Configuration du Raspberry », onglet interfaces.
-
Dans cette console, tapez la commande « ifconfig ». Si votre RP est connecté via le câble RJ45, il y aura dans la réponse une ligne qui commence par « eth0 » et en dessous une autre, décalée qui commence par inet. Notez les nombres qui suivent, c’est l’adresse IP interne à votre réseau du RP. 4
nombres séparés par 3 points, qui normalement commence par 192.168… Pour la suite du tuto, je noterai « aaa.bbb.ccc.ddd » cette adresse IP.
Pour s’assurer que l’OS est à jour, tapez « sudo apt-get update » suivi d’un « sudo apt-get upgrade ». -
Démarrer le RP en mode console.
Pour ne plus à avoir besoin de clavier, souris, écran. Ce qui libérera des ressources pour Duniter.
3 Le serveur Duniter.
-
Prérequis, obtenez votre adresse IP externe.
Pour cela ouvrez le navigateur de votre PC et surfez sur « https://www.monippublique.com/ », notez cette adresse. Pour la suite du tuto, je noterai « zzz.yyy.xxx.www » cette adresse IP là. -
Accéder à votre RP à partir de votre PC.
Il est question ici d’installer une version serveur du nœud Duniter, pas de la version desktop.
Pour cela, vous allez vous connecter à votre RP à partir de votre PC Windows. C’est à dire, sur votre PC, faites une recherche sur « Invite de commandes » (IC) et ouvrez en une. Tapez « ssh pi@aaa.bbb.ccc.ddd » Il vous demandera peut-être le mdp de pi. Vous devriez ensuite alors voir « pi@respberrypi:~$ » et le curseur qui clignote.
À ce stade-ci vous pouvez envoyer des commandes à votre RP à partir de votre PC.
Sur le site de Duniter, il est expliqué comment arriver à forger des blocs. C’est sur base de ces pages que ce texte est rédigé.
- Téléchargez Duniter sur votre PC.
Pour cela, rendez-vous avec votre navigateur sur cette page et télécharger la version 1.8.0 Linux (Raspbian buster) armv7l - Server [53.6 Mo] disponible à ce jour (sinon, choisissez le package Raspbian Server stable (pas rc ou beta) le plus récent).
- Copiez le fichier sur RP.
Pour cela j’utilise l’outil WinSCP. Qui une fois installé et démarré vous demandera un nom d’hôte (inscrivez « aaa.bbb.ccc.ddd », un nom d’utilisateur : « pi » et un mot de passe, celui de pi. Ensuite retrouvez le fichier téléchargé dans la fenêtre de gauche et accédez à « /tmp/ » dans la fenêtre de droite et glissez/déposé le fichier de gauche à droite.
(on dit que sur votre serveur RP, il y aura un nœud du réseau Duniter). Pour cela retournez dans votre programme « Invite de commandes » et tapez « cd /tmp/ » puis « sudo dpkg -i Duniter--linux-.deb ». Normalement, il devrait installer Duniter sur votre RP.
Afin qu’il soit identifiable avec votre propre identité. Pour cela, tapez « Duniter wizard key » et inscrivez votre clé publique de Ğ1 dans « Key’s salt » et votre mot de passe de Ğ1 dans « Key’s password ». Puis configurez l’accès réseau du nœud. Pour cela, tapez « Duniter wizard network ». Voici ce que j’ai introduit :
? IPv4 interface: eth0 aaa.bbb.ccc.ddd
? IPv6 interface: eth0 Je sais plus mais cela n’a pas d’importance, je pense
? Port: 10900
? Remote IPv4: zzz.yyy.xxx.www
? Remote port: 10900
? UPnP is available: use automatic port mapping? (easier) No
? Does this server has a DNS name? No
- Ouvrir le port du RP
En suite un point crucial et qui n’est pas expliqué, c’est que vous devez permettre à ce qu’Internet ait accès au RP. Et pour cela, vous devez vous connecter à l’administration de votre routeur, de votre box (cela se fait généralement via votre navigateur) et vous devez ouvrir le port 10900 du RP à Internet (l’adresse IP aaa.bbb.ccc.ddd:10900). Vous devez indique que aaa.bbb.ccc.ddd:10900 peut
être accessible de l’extérieur. Mais je ne peux pas vous expliquer comment faire cela car ça
dépend de votre routeur.
- Démarrer le nœud. Dans l’IC, tapez d’abord la commande « Duniter check-config » pour vérifier que tout est OK. Puis « Duniter sync g1.duniter.org » pour synchroniser votre nœud avec le réseau Duniter. Puis « Duniter direct_webstart –ipv4 aaa.bbb.ccc.dd ». Le nœud est alors accessible via le navigateur de votre PC à l’adresse aaa.bbb.ccc.dd:9220 (vous n’aurez pas à installer un serveur apache). Gardez un œil sur l’IC car vous allez peut être avoir des messages en tous genres dont certains vous renseigneront sur d’éventuelles erreurs.
- Et plus loin.
Il existe encore d’autres subtilités comme celle de ne plus afficher les messages dans l’IC, celle de démarrer automatiquement le nœud au démarrage du RP. Pour arrêter le nœud, la commande « Duniter
stop » devrait faire l’affaire.