Installation de Yunohost 3.1 sur Raspberry Pi

Page actualisée en novembre 2018

Ressources

La page est claire pour toutes les étapes !

Résumé

2 Méthodes : utiliser une image pré-installée (plus rapide car elle contient déjà un ensemble de logiciels) ou installer une distribution de base type Raspbian et utiliser le script d'installation “from scratch”, plus long et plus précis et à jour en se référant d'abord au bas de cette page https://yunohost.org/#/install_on_raspberry_fr.

Yunohost Pi branchée sur Internet

Dans le processus d'installation ci-dessous, soit vous disposez d'un nom de domaine, soit vous utilisez un système de DNS dynamique comme proposé lors de l'installation (par exemple monyuno.nohost.me). Dans ces 2 cas, il faut configurer la box Internet pour transférer les requêtes sur les ports 80 et 443 (et d'autres si vous utilisez les mails et d'autres services) vers l'IP locale de la Pi.

Yunohost Pi off line : AnarchaBox - LaboM

Dans ce mode, on peut accéder localement à la Pi Yunohost et ainsi disposer de services collaboratifs “off line”

  • Connexion en Wifi : La Pi Yunohost propose un réseau wifi auquel il convient de se connecter. Une fois connecté, il faut ouvrir son navigateur web à l'adresse http://192.168.100.1 et accepter les certificats invalides, on accède alors à l'interface Yunohost avec les mots de passe de l'utilisateur configuré à l'installation. Pour vérifier l'adresse IP en question, on peut taper dans un terminal :
ip a : donne l'adresse ip de son ordi (du type 192.168.100.xx)
sudo route : donne la passerelle qui doit être la Pi (du type 192.168.100.1)
  • Connexion par cable : Il faut trouver l'adresse IP de la Pi Yunohost sur le réseau, pour cela, soit on regarde dans l'interface de sa box quelle IP a été donnée à la Pi, soit on tape dans un terminal :
ip a : donne l'adresse ip de son ordi (du type 192.168.100.xx)
sudo nmap -sP 192.168.100.0/24 : liste tous les ordis branchés sur le réseau local, l'un d'eux doit s'appeler "Raspberry Pi fondation", son IP est visible au dessus

Installation d'une image pré-installée

La version 3.1 de Yunohost utilise Debian Strech stable (youpi)

Décompresser l'image téléchargée

 unzip yunohost-stretch-3.1.0-rpi-stable.zip

Vérifier l'intégrité de l'image téléchargée

se placer dans le répertoire de téléchargement :

cd ~/Téléchargements
sha256sum yunohost-stretch-3.1.0-rpi-stable.zip
cat yunohost-stretch-3.1.0-rpi-stable.zip.sum

Les 2 dernières lignes de commande doivent donner des suites de lettres et chiffres identiques

Copie sur la carte SD

Avec la commande dd, voir https://yunohost.org/#/copy_image_fr copie de l'image et agrandissement de la partition ext4

Identifier le nom de sa carte SD :

sudo fdisk-l
Périphérique Amorçage  Début      Fin Secteurs Taille Id Type
/dev/sdb1               8192   131071   122880    60M  c W95 FAT32 (LBA)
/dev/sdb2             131072 10371071 10240000   4,9G 83 Linux

ici, c'est /dev/sdb ça peut être également un truc du type /dev/mm…blk

la commande à taper pour copier l'image sur la carte SD : /!\ ne pas se tromper de cible, cette commande peut détruire tout le contenu de votre disque dur /!\

sudo dd bs=4M if=/chemin/vers/votre/.img of=/nom/du/matériel

soit ! ne pas mettre le 1 de sdb1 pour la commande dd

sudo dd bs=4M if=~/Téléchargements/2018-08-25-yunohost-lite.img of=/dev/sdb

ça peut prendre 10 mn … dans un autre terminal, pour suivre l'avancée de dd, taper :

sudo pkill -USR1 -n -x dd

Brancher et démarrer

Méthode écran clavier sur la pi

Brancher la pi avec un écran et un clavier, démarrer, la post install s'affiche:

répondre yes pour lancer le script de post installation. (Ne pas faire entrée, sinon erreur python !!!!) Le clavier sera qwerty ! pour le mot de passe !

Pour récupérer une invitation de commande Ctrl + Alt + F1

Méthode avec interface web

Brancher la pi avec écran clavier, démarrer.

Répondre non à la post install Ouvrir une invitation de commande avec Ctrl + Alt + F1

apt update
apt dist-upgrade
reboot --

Se connecter avec chromium avec l'ip locale de votre pi

Faire la post-install: fonctionne en juillet 2017

Bonus pour patienter

J'ai accepté par erreur ton invitation

J'ai du me gourer dans l'heure

J'ai du m'planter dans la saison

Ne pas être pressé, ça prend un certain temps.

Se connecter en ssh

Avec le user root

ssh root@ip.locale.de.la.pi (192.168.0.101 par exemple)
pwd : yunohost

Il n'y a pas de user pi! Le mot passe de root est yunohost

A la première connexion en ssh, on est contraint de changer le password root ! On arrive sur cette fenetre :

===========================================================

 Congratulations on setting up your YunoHost server !

 To finish the installation, you should run the postinstallation.
 You can find documentation about it on :
     https://yunohost.org/postinstall

 You can run it from the command line interface with :
     $ yunohost tools postinstall

 Or from a browser by accessing one of your local IP :
     192.168.0.19
     
===========================================================

Se connecter avec un navigateur web avec IP locale

Dans un premier temps, les certificats https de Yunohost sont auto-signés, il faut donc accepter l'exception de sécurité pour accéder à l'interface web. Si votre navigateur ne vous propose pas d'ajouter une exception, c'est peut être parcque vous avez déjà fait un essai et votre navigateur a gardé le certificat autosigné en mémoire, il faut alors soit supprimer ce certificat via Préférences > Avancée > Certificats (identifier le certificat et le supprimer), soit utiliser un autre navigateur par exemple chromium !

Le user est admin. Le mot de passe est celui qui est saisi au premier démarrage, attention c'est en qwerty à la saisie !

Vous devriez aboutir à cette interface : fig:accesadminynh.png Saisir le mot de passe défini lors de la post-installation et vous devriez arriver à cet écran : fig:admininsideynh.png Victoire totale !

Se créer un premier utilisateur

Via cet écran fig:ynh-user.png

Générer un "vrai" certificat https avec let's encrypt

En cliquant sur domaine et sur le bouton Certificat SSL mais à ce stade, il faut que votre Yunohost soit accessible depuis Internet (config de votre Box) fig:ynh-domaine-https.png

Installer une application

Via ce menu ou en copiant collant une adresse github d'applications “non officielles” https://yunohost.org/#/apps_in_progress_fr fig:ynh-installappli.png

Moulinette

En ssh

eteindre: halt

reboot: reboot now

Sécurité

Changement du mot de passe root

Pour un mot de passe long et compliqué

sudo passwd root

Changement du mot de passe admin

Pour un mot de passe long et compliqué

sudo passwd admin

Changement du port ssh

Installation des certificats de sécurité

Ressources:

Voir dans la partie gestion du domaine, la possibilité d'installer des certificats via Let'sencrypt via l'interface web. Cela implique que le domaine que vous avez choisi pointe déjà sur votre IP publique et que vous aillez opéré à la redirection des ports 80 et 443 (au moins) dans votre box internet ou votre routeur.

Installation sur une clé usb

Si la carte SD à tendance à mal marcher,

  • Copier l'image sur la carte SD
  • Copier l'image sur la clé usb
  • Monter la carte SD, et éditer le fichier cmdline.txt
  • Remplacer ' root=/dev/mmcblk0p2 par root=/dev/sda2'
  • Monter la clé usb pour aggrandir la partition ext4

Modification de la time zone

Se connecter en ssh en root

raspi-config

Choisir Europe puis Paris

Mettre à jour toutes les applications

yunohost tools update && yunohost tools upgrade && yunohost app upgrade

Transformer la Raspberry Pi en point d'accès via sa carte wifi

Avec la version 3 de la Raspberry Pi, une carte wifi est intégrée, il est possible de réaliser cela aussi avec une carte wifi externe

Pour résoudre l'adresse le DNS affecté à Yunohost en local

Il faut modifier le fichier /etc/dnsmasq.conf comme cela :

interface=wlan0
dhcp-range=wlan0, 192.168.100.2,192.168.100.100,255.255.255.0,24h
address=/anarchabox.ynh.fr/127.0.0.1
address=/pad.anarchabox.ynh.fr/127.0.0.1
#address=/#/127.0.0.1

#domain-needed
#expand-hosts

# if you plan to use dnsmasq for the local system only, you should lock it down by adding the line
listen-address=127.0.0.1
resolv-file=/etc/resolv.dnsmasq.conf
cache-size=256


###### logging ############
# own logfile
log-facility=/var/log/dnsmasq.log
log-async
#log dhcp infos
log-dhcp
# debugging dns
#log-queries

et le fichier /etc/hosts (modifier monyunohost selon votre config)

192.168.100.1   monyunohost.ynh.fr
192.168.100.1   pad.monyunohost.ynh.fr

Régler les problèmes

Problème avec redis-server.service après upgrade, supprimer le bd :

rm /var/lib/redis/dump.rdb

LDAP

  • installation_de_yunohost_sur_raspberry_pi.txt
  • Dernière modification: 2019/08/21 10:47
  • par Benjamin Labomedia