Nous proposons ici un condensé des étapes nécessaires à l'installation de Nextcloud sur Yunohost, sur un appareil auquel nous ajouterons un disque dur externe. Si vous n'êtes pas complètement à l'aise, nous vous invitons à lire ce résumé pour avoir une idée des étapes qui vont se succéder, puis à le réaliser un pas après l'autre, en suivant l'explication détaillée ci-dessous.
Pour installer Yunohost, nous allons suivre ces étapes dans l'ordre :
Télécharger ici l'image Yunohost, puis l'écrire sur une clé USB avec Balena Etcher, après en avoir vérifié l'intégrité.
Une fois installé (pour les fichiers .iso) et démarré, nous nous connectons avec un navigateur à l'interface de notre Yunohost. Pour cela nous utilisons soit l'URL https://yunohost.local, soit l'adresse IP du matériel révélée dans le terminal avec la commande nmap -sn $(hostname -I | cut -d'.' -f1,2,3).0/24
, ou grâce à l'outil Angry IP Scanner.
Nous choisissons d'utiliser un sous-domaine de Yunohost par simplicité, en suivant les indications sur l'interface Yunohost.
Nous définissons un mot de passe robuste pour l'utilisateur "admin" du système Yunohost.
Nous créons le premier utilisateur en cliquant sur "Utilisateurs Nouvel utilisateur". Nous choisissons de le nommer "administrateur" car il sera administrateur pour les services installés ultérieurement. Cet utilisateur sera le premier de l'annuaire LDAP de Yunohost.
Il faut vérifier au niveau de votre box que les ports 80 et 443 sont ouverts (ou que UPnP est activé et fonctionnel). Nous vous invitons à vous tourner vers les paramètres de votre FAI. Il faut que les ports 80 et 443 de la box soient redirigés vers les mêmes ports que ceux de votre machine Yunohost.
Nous faisons un diagnostic, en cliquant sur "Diagnostic", pour vérifier qu'au moins le port 443 et 80 soient fonctionnels. Il se peut qu'il y ait des avertissements pour d'autres ports non ouverts, de fait ils ne sont pas indispensables. Pour la sécurité, nous évitons d'ouvrir des ports dont nous ne voulons pas.
Nous configurons un certificat Let's Encrypt en suivant : "Domaines votre_domaine.nohost.me Certificat SSL Installer un certificat Let's Encrypt" (nécessite les 2 étapes précédentes).
Nous mettons à jour le système : "Mettre à jour le système ...[Attendre]... Mettre à jour tous les paquets".
Nous ajoutons un disque dur externe. Nous vous invitons à suivre le point détaillé ci-dessous. Cette étape se fait nécessairement en ligne de commande.
Nous installons Nextcloud en suivant ce chemin : "Applications Installer Chercher "Nextcloud" Installer Installer".
Nous vous conseillons d'ajouter un nouvel utilisateur qui sera pour votre usage quotidien de Nextcloud et autres services que vous installerez. Pour cela, suivez les mêmes étapes qu'en 5. Pour des raisons de sécurité, il est fortement déconseillé d'utiliser un utilisateur ayant des droits d'administration dans votre usage quotidien.
Yunohost peut s'installer sur la grande majorité des supports que nous trouvons autour de nous. Ce système est conçu pour ne pas demander trop de ressources pour fonctionner. Ainsi, si vous voulez donner une seconde vie à un vieil ordinateur, c'est tout à fait possible.
Voici le matériel supporté par Yunohost :
Vous aurez également besoin des connecteurs nécessaires (câble RJ45) pour connecter à Internet votre ordinateur/serveur/carte raspberry/machine virtuelle, et donc de la connexion Internet qui va avec (votre box dans la majorité des cas). Nous déconseillons fortement le Wi-Fi dans ce cas d'usage, celui-ci ajoutant certaines failles de sécurité (préfer donc une connexion via câble ethernet (RJ45) sur la machine hôte, que celle-ci soit réelle (hardware physique) ou virtuelle).
Selon l'espace de stockage disponible sur le support sur lequel vous installez Yunohost, il pourrait être judicieux d'opter pour l'ajout d'un disque dur externe sur lequel les données des utilisateurs seront enregistrées.
Vous aurez également besoin d'un autre ordinateur quelconque pour le temps de l'installation. Évitez le smartphone pour des soucis de clarté et de facilité liés à l'interface de Yunohost. Il est nécessaire d'être connecté au même réseau (même box, via Wi-Fi ou Ethernet, peu importe) que le matériel Yunohost.
Pour commencer, nous allons devoir télécharger Yuhonost.
Dans notre cas, nous utilisons un Raspberry Pi4, nous téléchargeons donc l'image correspondante dans la section "Télécharger l'image YunoHost" de "RaspberryPi 2, 3 ou 4".
Nous choisirons la version 64bits (à gauche) car nous utilisons un RPi version 3/4.
Prenez le temps de vérifier la somme de contrôle de l'image Yunohost à la fin de son téléchargement. ici.
Comme nous utilisons un RaspberryPi, le système d'exploitation doit être installé sur une carte MicroSD. Nous recommandons une carte MicroSD d'au moins 16Go, même si 8Go suffisent probablement.
Pour écrire l'image téléchargée précédemment, nous utilisons le logiciel Balena Etcher (suivez la page dédiée, ou le site officiel) :
Sur Balena Etcher, vous commencerez par sélectionner le fichier Yunohost téléchargé précédemment, puis par sélectionner votre carte SD (attention de ne pas vous tromper), puis lancer l'écriture.
Une fois l'écriture terminée :
Vous pouvez tenter de vous connecter avec cet URL : https://yunohost.local.
Si cela fonctionne, passer à la section suivante : Configurer le domaine.
Sinon, passer au point 3 suivant...
En ligne de commande sur un ordinateur quelconque, vous pouvez utiliser la commande Nmap
suivante depuis le terminal (il faut que Nmap soit installé sur votre ordinateur) :
nmap -sn $(hostname -I | cut -d'.' -f1,2,3).0/24 | grep -v "Host is up"
Sur les lignes qui vous seront retournées, chercher des informations qui vous permettent d'identifier votre Raspberry Pi, ou Yunohost lui-même. Et noter son adresse IP, qui sera de la forme : 192.168.0.19, ou 192.168.1.163 par exemple.
Ouvrez le logiciel AngryIpScanner.
Si c'est la première fois que vous l'ouvrez, décochez la case "Send anonymous error reports", puis cliquez sur Suivant.
Ensuite, dans le menu, allez dans "Outils > Préférences...".
Allez dans l'onglet Affichage, puis cochez la case Hôtes actifs (répondant aux pings) seulement.
Cliquer sur OK.
Pour lancer le scan, cliquez sur Démarrer puis attendez que le scan soit terminé.
Enfin, dans la liste qui s'affiche, identifiez la ligne qui correspond à votre matériel ou à yunohost. Et notez son adresse ip (première colonne : IP).
Une fois l'adresse IP cible trouvée, ouvrir un navigateur sur un ordinateur quelconque, puis dans la barre d'URL saisir l'adresse IP récupérée juste avant (ex: 192.168.1.12).
Un avertissement de sécurité sera levé. Vous pouvez cliquer sur Avancé... puis Accepter le risque et poursuivre. Cet avertissement est lié au certificat qui n'est pas reconnu publiquement. Le problème sera résolu ultérieurement.
Le domaine, c'est le nom qui va être utilisé dans l'URL pour accéder à votre site. Par exemple, pour le site https://wikilibriste.fr, le nom de domaine est wikilibriste.fr. Ce nom est reconnu dans le monde entier, il doit donc être unique.
Yunohost propose 2 possibilités pour choisir son domaine :
Pour plus d'informations, consultez le site officiel.
Dans notre cas, nous utilisons la première solution. Pour cela, en suivant les indications de l'interface :
Attention, ce nom ne peut pas comporter de caractères spéciaux. Vous pourrez y mettre des minuscules, des chiffres, et des "-". Nous déconseillons tout autre caractère.
Enfin, nous pouvons cliquer sur Suivant.
Très important : ce mot de passe est la barrière principale contre les attaques !
Il est impératif que les mots de passe soient de la plus grande qualité : très long, avec le plus de caractères possibles (caractères spéciaux, chiffres, etc...).
Le mieux serait d'utiliser un long mot de passe aléatoire que vous enregistrez dans un gestionnaire de mot de passe comme Keepass.
Attendez que Yunohost finisse la post-installation. Puis vous arriverez sur l'interface suivante, qui est l'interface d'administration de Yunohost. C'est de là que tout se configure :
Certaines applications Yunohost nécessitent qu'un utilisateur existe avant qu'elle ne soient installables (c'est le cas de Nextcloud). Il faut donc immédiatement créer cet utilisateur.
Ce premier utilisateur a des droits d'administration pour tous les services qui seront installés par la suite. Il faut donc également que cet utilisateur ait un mot de passe très fort.
Pour créer l'utilisateur, nous suivons l'interface :
Cette étape va se passer sur l'interface d'administration de votre box. Cette interface sera accessible sur l'un des liens suivants : http://192.168.1.0, http://192.168.1.1 ou http://192.168.1.254.
Étant donné que l'interface peut changer d'une box à une autre, d'une version à une autre, nous n'allons pas détailler avec précision ce point. Nous vous invitons à chercher sur Internet une page qui pourrait vous éclairer.
Les détails pour chaque opérateur sont en cours d'écriture.
Ce qu'il faut faire :
Sur la page de configuration de votre box, trouvez les paramètres de redirection de ports.
Si vous avez un service UPnP, vous pouvez tenter de l'activer, et cela devrait suffire.
Sinon, il faut trouver les paramètres de "redirection de port" souvent aux côtés de paramètres "Nat & Pat"..
Une fois ces paramètres trouvés, configurez de tel sorte que la box le port 80 de la box soit connecté au port 80 de votre appareil Yunohost. Il faudra refaire la même opération pour le port 443 (obligatoire), et les autres ports (facultatif) que vous souhaiteriez exposer.
Détail pour ouvrir les ports pour chaque box (autres opérateurs à venir) :
Connectez-vous :
Tout d'abord, ouvrez le lien suivant : https://192.168.1.254
Une fois la page chargée, entrez votre mot de passe d'administrateur de la box (ou configurez le si nécessaire en suivant les indications affichées).
Puis connectez vous en cliquant sur Connexion
Allez dans les paramètres d'ouverture de ports :
En arrivant sur la page de configuration de votre Box, allez dans la section BBOX.
Puis déroulez le menu SERVICES DE LA BBOX.
Enfin cliquez sur Redirection de ports.
Ouvrir un port : 443
Tout d'abord, il faut activer la fonction NAT & PAT de la box en activant le bouton Off/On comme ceci :
Nous allons ouvrir le port 443 en suivant ces étapes :
Le port 443 de votre box redirigera à présent toutes les requêtes vers le port 443 de votre ordinateur Yunohost. Vous avez donc à présent accès à votre installation Yunohost depuis Internet, sans avoir nécessairement besoin d'être connecté à votre Wifi.
Vous pourrez ajouter une seconde règle identique, mais pour le port 80, et tous les autres ports que vous voudrez ouvrir.
Enfin, pour vous déconnecter, cliquez sur l'icône en haut (dans l'en-tête) à droite de l'interface Bouygues.
Se connecter à l'interface :
Vous arriverez dans une page semblable à celle-ci :
Trouver les paramètres d'ouverture de ports :
Vous obtiendrez une "fenêtre" semblable à celle-ci :
Ouvrir un port : 80
Vous pourrez ajouter une seconde règle identique, mais pour le port 443, et tous les autres ports que vous voudrez ouvrir.
Enfin, vous pouvez terminer en cliquant sur "OK" en bas de la "fenêtre".
Puis vous déconnecter en allant dans le menu Freebox puis en cliquant sur Déconnexion.
Il est nécessaire à cette étape de vérifier que nos deux ports 80 et 443 sont ouverts, grâce à l'outil de diagnostic de Yunohost. Sans cette étape, nous ne pouvons passer à la suivante.
Pour faire le diagnostic, rien de plus simple :
Il y aura probablement quelques avertissements qui seront remontés, notamment pour les e-mails (nous ne nous en occuperons pas dans ce tutoriel, peut-être un jour ). Tant que les ports 80 et 443 sont bien configurés et marqués comme "OK", ça devrait être bon.
Le certificat est un outil de sécurité qui permet d'authentifier le serveur à un client, grâce à des fonctions cryptographiques. Let's Encrypt, qui est utilisé par Yunohost pour créer ces certificats, est une autorité de certification qui fournit gratuitement et de manière automatisée des certificats reconnus.
Grâce à ce certificat "reconnu", vous n'aurez plus le message d'avertissement comme vous avez eu à la toute première connexion à l'interface de Yunohost.
Attention : Cette étape nécessite les deux étapes précédentes : ouverture des ports et diagnostic. Sinon celle-ci échouera à tous les coups.
Pour installer le certificat, il suffit de suivre l'interface comme suit :
Comme expliqué dans le point de sécurité en début d'article, les mises à jour sont extrêmement importantes.
Pour faire les mises à jour, suivez ces étapes :
Lorsque l'on installe Nextcloud sur un RaspberryPi, il y a de fortes chances que vous soyez très limité en terme d'espace de stockage avec une simple carte SD. Nous allons donc voir comment déplacer les données des applications, sur un disque dur externe afin d'étendre ce stockage comme vous le souhaitez.
Dans notre cas, nous allons déplacer toutes les données du répertoire /home
vers le disque dur. Cela inclue : les sauvegardes, les données lourdes des applications, les données lourdes partagées par plusieurs applications. Plus de détail dans le tableau ici.
Pour configurer Yunohost afin qu'il utilise bien le disque dur, il va falloir utiliser quelques lignes de commande.
Le site officiel détaille toutes les étapes à suivre ici.
ATTENTION :
- Taper exactement les lignes de commande que nous vous invitons à taper. Si on vous invite à l'adapter, veillez à n'adapter que ce sur quoi on vous invite à adapter la commande. Par exemple, ne retirez pas les guillemets si nous ne spécifions pas qu'ils peuvent être retirés.
- Ne fermez pas le Terminal (ou invite de commande) tant que nous ne vous invitons pas à le faire.
Soyez attentif tout au long de cette partie. Elle n'est pas compliquée, mais il est important de faire exactement ce qui est indiqué.
Note : Ne branchez pas votre disque dur tout de suite au Raspberry Pi. Nous vous indiquerons quand le brancher
Attention : formater le disque supprimera toutes les données qui s'y trouvent enregistrées.
Avant d'installer le disque dur, nous vous conseillons de le formater avec le système de fichier ext4
. Il est impératif que le système de fichier ne soit ni NTFS
, ni FAT32
.
Cette opération se déroulera sur un ordinateur quelconque.
Vous pouvez utiliser un logiciel tel que GParted (sur Linux). Pour ce faire :
Une fois fait, vous pouvez l'éjecter de votre ordinateur.
Tout d'abord, trouvez l'adresse IP de votre appareil Yunohost si ce n'est pas déjà fait. Si nécessaire, vous pouvez revenir au point 2.3 Trouver l'adresse IP du Raspberry Pi.
Ensuite, ouvrir un terminal, et taper une à une ces commandes :
Penser à adapter "192.168.1.12" avec l'adresse IP récupérée quelques étapes avant.
ssh admin@192.168.1.12
sudo -i
Tout d'abord, identifiez les espaces de stockages disponibles actuellement, avec la commande suivante :
lsblk -a -l -o NAME,LABEL,SIZE,FSUSE%,FSTYPE
Ensuite, branchez votre disque dur au Raspberry Pi, et relancez la commande précédente :
lsblk -a -l -o NAME,LABEL,SIZE,FSUSE%,FSTYPE
Identifiez l'espace de stockage qui est apparu. Vous pouvez vous aider de l'espace disponible sur le disque pour l'identifier sans vous tromper.
Ensuite, noter son nom (en première colonne, il devrait être de la forme : sda1
ou sdb1
).
Nous enregistrons ce nom dans une variable pour faciliter la suite des commandes.
Tapez donc la commande suivante en adaptant "sda1" avec le nom que vous venez de trouver :
device_name="sda1"
Tapez une à une, sans adaptation, les commandes suivantes :
mkdir "/mnt/hdd"
mount /dev/$device_name /mnt/hdd
mkdir -p "/mnt/hdd/home"
Si vous n'avez pas encore installé de service depuis Yunohost, vous pouvez passer à l'étape 6.
Sinon il faut passer chacune des applications en mode maintenance. Cela est possible de 2 manières :
service nom_du_service stop
. Si vous ne connaissez pas le nom du service, tentez l'auto-complétion avec la touche TAB.Si vous aviez déjà installé des applications sur Yunohost, il est possible que cette étape prenne du temps, car toutes les données vont être déplacées. Soyez patient
Tapez une à une les commandes suivantes, sans adaptation :
mv /home /home.bkp
mkdir /home
mount --bind /mnt/hdd/home /home
cp -a /home.bkp/. /home/
Si vous n'avez pas encore installé de service depuis Yunohost, vous pouvez passer à l'étape 8.
Sinon il faut sortir chacune des applications du mode maintenance. Cela est possible de 2 manières :
service nom_du_service start
.Tapez une à une les commandes suivantes, sans adaptation :
cp "/etc/fstab" "/etc/fstab.bkp"
uuid=$(blkid -s UUID -o value /dev/$device_name)
echo "UUID=$uuid /mnt/hdd ext4 defaults,nofail 0 2" >> /etc/fstab
echo '/mnt/hdd/home /home none defaults,bind 0 2' >> /etc/fstab
Pour tester la configuration, il suffit de redémarrer. Pour cela, vous pouvez utiliser la commande reboot
depuis le terminal, ou lancer l'action depuis l'interface Yunohost. Attendre 1 à 2 minutes avant de tenter de se reconnecter en SSH (ssh admin@192.168.1.12
, ou voir §1 ci-dessus si besoin).
Une fois reconnecté, il suffit de vérifier si le dossier "/home" contient des dossiers et fichiers.
Pour cela, taper la commande :
ls "/home"
Si rien ne s'affiche, c'est qu'il y a eu une erreur. Dans ce cas, vous pouvez retenter l'étape 8 mais avec ces lignes de commande (avant de les taper, repassez les étapes 2 et 3) :
sudo -i
rm "/etc/fstab" && mv "/etc/fstab.bkp" "/etc/fstab"
uuid=$(blkid -s UUID -o value /dev/$device_name)
echo 'UUID=$uuid /mnt/hdd ext4 defaults,nofail 0 0' >> /etc/fstab
echo '/mnt/hdd/home /home none defaults,bind 0 0' >> /etc/fstab
Si l'erreur persiste, vous pouvez vous référer à la documentation officielle ici ou n'hésitez pas à demander de l'aide sur notre groupe Telegram !
Si la configuration est fonctionnelle, vous pouvez supprimer les anciennes données avec cette commande :
sudo rm -Rf /home.bkp
sudo rm /etc/fstab.bkp
Ensuite, vous pouvez vous déconnecter en tapant la commande suivante (ou avec le raccourci CTRL + D) jusqu'à ce que le terminal se ferme (c'est bon, vous pouvez le fermer ) :
exit
Pour installer une application qui vous fournira un service via Internet, rien de plus simple.
Il suffit de suivre les étapes suivantes :
À ce stade, vous pouvez vous connecter à Nextcloud en allant sur votre site (dans notre exemple : https://wikilibriste.nohost.me/). Vous pourrez vous connecter avec l'utilisateur administrateur que nous avons créé en 5. Cet utilisateur aura les droits d'administration sur Nextcloud, il vous permettra donc d'ajouter des applications au sein de Nextcloud.
Pour ajouter des utilisateurs à Nextcloud, nous vous conseillons de passer par l'interface Yunohost qui gère l'ensemble des utilisateurs pour tous les services. Pour ce faire, il suffit de suivre exactement les mêmes étapes qu'au paragraphe 5 : Création du premier utilisateur (admin). Les utilisateurs ajoutés ne seront pas administrateurs, mais simplement utilisateurs.
Contributeur(s): Jesf, Ayo