YunoHost, l'auto-hébergement à portée de main

Linux Pratique n° 096 | juillet 2016 | Annaïg Denis
Creative Commons
  • Actuellement 0 sur 5 étoiles
0
Merci d'avoir participé !
Vous avez déjà noté cette page, vous ne pouvez la noter qu'une fois !
Votre note a été changée, merci de votre participation !
Comment faire pour héberger chez soi les différents services et applications que l'on utilise afin de préserver sa vie privée ? Une des solutions se trouve dans la distribution YunoHost qui permet d'installer un serveur de courriels et un serveur XMPP ainsi que de nombreuses applications. Ce tutoriel présente ainsi l'installation et la configuration de YunoHost avec comme base une Brique Internet, un nano-ordinateur faisant office de serveur. Nous avons choisi d'y installer OwnCloud pour ses services d'agenda, de carnet d'adresses et de synchronisation de fichiers, ainsi que le webmail Roundcube et le client XMPP Jappix. Les applications de la Brique Internet permettent en outre de simplement pouvoir configurer une connexion sécurisée VPN sur tous les appareils du domicile en intégrant un point d'accès Wifi.

1. Présentation

1.1. YunoHost pour une gestion aisée de son système et ses applications

YunoHost [YNH] est une distribution GNU/Linux basée sur Debian, qui permet d'installer et configurer un serveur même si vous avez peu de notions d'administration système et que vous n'êtes pas familier de la ligne de commandes. L'installation du serveur et sa configuration sont relativement simples ; un serveur mail et un serveur XMPP sont en outre embarqués par défaut. L'ajout d'applications devient presque un jeu d'enfant grâce à une interface d'administration web. À vous donc la possibilité de vous passer des fournisseurs de services qui ne vous garantissent pas la confidentialité des données ni des échanges avec les autres.

 

Figure 1 : Interface d'administration de YunoHost permettant la configuration en mode graphique de votre serveur.

YunoHost est compatible avec les PC classiques (architectures x86), mais aussi les différents nano-ordinateurs comme les Raspberry Pi, Cubieboard, Olimex, Cubox, Beagleboard (architectures armhf). Ces derniers présentent les avantages d'être peu onéreux, économes en énergie, silencieux et très peu encombrants. Ils sont donc particulièrement adaptés pour avoir son propre serveur à domicile.

Parmi les nombreuses applications disponibles [APO], pouvez notamment installer :

- le webmail Roundcube, pour consulter en ligne vos courriels en plus de pourvoir configurer vos boîtes mails dans vos applications locales favorites ;

- le client XMPP Jappix en ligne, pour faire de la messagerie instantanée, des conversations audio ou des vidéoconférences avec vos contacts ;

- l'application Owncloud permettant d'héberger ses agendas et carnets d'adresses, alors synchronisables avec les protocoles CalDAV et CardDAV, ainsi que de configurer la synchronisation et le partage de fichiers.

1.2. Du VPN pour la confidentialité des échanges

YunoHost permet de configurer très facilement un client VPN avec la connexion VPN que vous aurez souscrite au préalable chez un fournisseur de confiance ; le serveur VPN doit utiliser le protocole OpenVPN et vous fournir une adresse IPv4 fixe.

Utiliser une connexion VPN présente en outre d'autres avantages :

- si vous n'avez pas d'adresse IP fixe fournie par votre FAI, celle de votre VPN permet de joindre les applications et services hébergés grâce à YunoHost ;

- il n'y a pas besoin de faire de configurations sur le routeur ou la box assurant votre connexion Internet ;

- en ayant la possibilité de vous connecter sur n'importe quel type de connexion, vous bénéficiez d'une mobilité totale et ainsi d'un serveur nomade ;

- si vous souhaitez que ces applications et services soient joignables avec le protocole IPv6 émergeant, YunoHost en permet la configuration aisément à condition que votre abonnement VPN comprenne des adresses IPv6.

1.3. Une Brique Internet pour une installation simplifiée et sécurisée

Ce tutoriel se base sur le projet de la Brique Internet [CUB] qui permet de facilement installer YunoHost sur la carte LIME d'Olimex à l'aide d'un script. Il est en outre particulièrement aisé de faire une installation en chiffrant [CRY] les données sur la carte (Full Disk Encryption), ce qui permet de garantir la confidentialité de vos données en cas par exemple de vol de la carte (servant de support de stockage) ; d'autres facilités sont de plus apportées par le script d'installation. Ce récent projet a ajouté à YunoHost la possibilité de la convertir en routeur en configurant un point d'accès Wifi qui permet de faire passer les communications de tous les appareils de votre domicile par votre connexion VPN et ainsi d'en garantir la confidentialité.

 

Figure 2 : Illustration expliquant les avantages d'avoir recours à une Brique Internet (Crédit : La Brique Internet - Licence CC-by-sa).

Il est possible d'arriver au même résultat sur d'autres matériels en installant l'image fournie par YunoHost [IMG] et les applications proposées ici. Si vous en avez les compétences, vous pouvez même adapter les scripts de build des images [BLD] pour générer les images adaptées à votre matériel, et qui sait, contribuer au projet.

2. Prérequis

2.1. Nom de domaines et configuration des DNS

L'installation d'un serveur personnel est l'occasion d'avoir son propre nom de domaine. YunoHost en propose gratuitement comme des sous-domaines de nohost.me, mais vous pouvez aussi choisir d'en louer un qui sera plus personnel. Le tutoriel est réalisé en prenant un nom de domaine chez Gandi, ici mondomaine.me mais la configuration chez un autre fournisseur devrait être relativement similaire. Un nom de domaine n'est en général pas actif immédiatement et cela peut demander entre 24 et 72h après le paiement pour y avoir accès : vous devez vous y prendre un peu en avance.

Après la commande, il faut ensuite configurer votre zone DNS, c'est-à-dire ce qui va permettre de faire le lien entre l'URL et l'adresse IP de la brique. Identifiez-vous sur votre compte, et dans la liste des noms de domaines, sélectionnez votre nom de domaine. En bas à droite dans la partie Fichier de zone, cliquez sur Voir la zone : vous pourrez ainsi découvrir comment est configurée une zone DNS si vous l'ignoriez. Afin de pouvoir la modifier, il convient de créer une copie de la zone, cliquez alors sur le bouton à droite Dupliquer cette zone en validant les options par défaut (n° de version et nom de domaine concernés), car une zone DNS ne se modifie pas directement. Cliquez à nouveau sur le bouton Créer une nouvelle version sous le titre Enregistrement : vous êtes maintenant dans l'onglet de la « version 2 » et les icônes Éditer en forme de crayon sont alors actives en fin de chaque ligne.

Supprimez toutes les lignes de la zone. Cliquez sur le bouton Ajout pour créer autant de nouveaux enregistrements que de lignes, comme dans le tableau ci-dessous :

Type TTL* Nom Valeur Priorité MX
A 5 minutes @ <IPv4 de votre VPN> n/a
AAAA 5 minutes @ <IPv6 de votre VPN> n/a
A 5 minutes * <IPv4 de votre VPN> n/a
AAAA 5 minutes * <IPv6 de votre VPN> n/a
MX 5 minutes @ mondomaine.me. 10
SRV 5 minutes _jabber._tcp.mondomaine.me 0 5 5269 mondomaine.me n/a
SRV 5 minutes _xpmm-server._tcp.mondomaine.me 0 5 5269 mondomaine.me n/a
SRV 5 minutes _xpmm-client._tcp.mondomaine.me 0 5 5222 mondomaine.me n/a
TXT 5 minutes @ "v=spf1 mx a -all" n/a

* le TTL, ou Time To Live, est le temps pendant lequel le cache d'un résolveur DNS conservera cet enregistrement avant de demander à nouveau à quoi il correspond.

De façon générale, les enregistrements nécessaires se retrouvent en allant dans Domaines > mondomaine.me > Configuration DNS sur l'interface d'administration de YunoHost. Cliquez sur le bouton Activer cette version, puis validez la fenêtre d'avertissement pour que votre nouvelle configuration soit prise en compte. La racine de votre domaine (@) et tous ses sous-domaines (*), ainsi que le MX (pour les courriels) ou XMPP (pour la messagerie instantanée) seront dirigés sur votre brique via votre connexion sécurisée VPN.

Il faudra néanmoins attendre un certain temps pour que cela soit effectif, que les caches des résolveurs DNS se renouvellent. Il est donc conseillé de faire cette nouvelle configuration au plus tôt.

À la fin de l'installation de votre brique, quand vous aurez validé que tout fonctionne, vous devrez éditer votre zone DNS à nouveau et passer tous les TTL à 3h afin de ne pas générer trop de requêtes en utilisation courante.

2.2. Prérequis matériels

Pour réaliser ce tutoriel, nous avons utilisé une carte Olimex A20-OLinuXino-LIME (la LIME2 qui est plus puissante peut aussi être utilisée), dotée de son boîtier (A10-OlinuXino-LIME-BOX), d'un adaptateur secteur (à brancher sur le port 5V DC) (SY0605E) pour la carte ainsi qu'éventuellement des câbles nécessaires pour connecter un disque dur externe (SATA-CABLE-SET).

La carte micro-SD a un rôle équivalent à celui du disque dur d'un ordinateur ; il est conseillé de prendre une carte reconnue pour sa robustesse afin de ne pas avoir de soucis de panne, c'est pourquoi nous avons pris une Transcend Premium 300x Classe 10. Une capacité de 16 Go est en général suffisante, sachant que vous pouvez y adjoindre un disque dur externe.

Pour l'antenne Wifi (dongle USB) nécessaire pour faire de la Brique Internet un routeur Wifi, nous avons choisi la AR9271 de TPLink, mais limitée à 2 points d'accès et 7 connexions simultanées. Si vous avez besoin de plus de points d'accès ou de connexions, vous pouvez utiliser par exemple la MOD-WIFI-R5370-ANT qui permet d'avoir jusqu'à 8 points d'accès, mais qui utilise un firmware non-libre.

Figure 3 : Photo de la Brique Internet basée sur la carte LIME d'Olimex une fois montée et connectée à un disque dur externe 2,5 pouces sur lequel elle est posée.

Des batteries externes ou des panneaux solaires pour recharger la carte sont aussi disponibles si vous souhaitez un peu de mobilité. Vous pouvez acheter le matériel Olimex directement auprès de la société ou chez des revendeurs ; des commandes groupées sont aussi réalisées par certains membres de la fédération FFDN [FED] afin de mutualiser les coûts.

Une fois que les différents éléments sont montés ensemble, il faut savoir que la brique se met en marche directement une fois sous tension [DOC]. Elle est dotée de 3 boutons encastrés, placés sous les connecteurs pour disque dur SATA ; de gauche à droite le premier (power) sert à éteindre la brique et le second (reset) à la relancer.

2.3. Prérequis logiciels

Ce tutoriel est réalisé avec un ordinateur sous Mageia 5 avec KDE, mais vous pouvez sans problème utiliser une autre distribution GNU/Linux en adaptant les commandes.

Au niveau des logiciels, vous devez installer nano et arp-scan. Et si au cours de l'exécution du script d'installation (partie suivante), vous avez un message d'erreur du type :

[ERR] <application> command is required

 

vous devez alors installer l'application indiquée en début de ligne et relancer l'exécution du script pour pouvoir continuer.

3. Installation

3.1. Récupération du script d'installation

Sur votre ordinateur, créez un dossier briquedirectement dans votre espace personnel et téléchargez-y les fichiers suivant sur https://repo.labriqueinter.net :

- le script install-sd.sh ;

- le fichier de contrôle MD5SUMS qui comporte les sommes de contrôle correspondant aux différents fichiers présents sur le dépôt de la Brique Internet ;

- et éventuellement le fichier labriqueinternet_A20LIME_encryptedfs_latest_jessie.img.tar.xz qui est l'image qui va être installée sur la carte micro-SD.

En effet, si vous disposez d'une connexion Internet un peu lente ou aléatoire, le script peut utiliser un fichier local au lieu de le télécharger. Cela permet aussi de pouvoir relancer le script plusieurs fois si vous vous apercevez que vous vous êtes trompé dans une réponse, sans devoir télécharger à nouveau l'image à chaque fois.

Après sa récupération, il faut rendre exécutable le fichier install-sd.sh. Ouvrez maintenant une console et placez-vous dans le dossier brique précédemment créé et calculez la somme de contrôle du script  :

$ cd ~/brique/

$ md5sum install-sd.sh -c MD5SUMS

Si vous obtenez une réponse négative, vous ne devez surtout pas utiliser ce fichier et devez le retélécharger jusqu'à ce qu'il soit conforme.

3.2. Installation de l'image sur la carte SD

Parce qu'il vaut mieux prévenir que guérir, il peut être judicieux de déconnecter tous les disques durs ou clés USB qui ne vous servent pas en ce moment afin d'éviter d'en effacer un par erreur.

Note

Les erreurs mettront fin généralement à l'exécution du script avec le tag [ERR]. Les plus communes sont listées sur le wiki de la Brique Internet [CER].

L'exécution du script se fait dans la console, en tant qu'utilisateur, grâce à la commande suivante :

$ ./install-sd.sh -e

 

L'option -e signifie que l'on va installer l'image en mode chiffré. Si vous disposez d'une carte Olimex LIME2, vous devez indiquer l'option -2 en plus.

Si vous avez prétéléchargé le fichier de l'image, la commande à exécuter est alors :

$ ./install-sd.sh -f labriqueinternet_A20LIME_encryptedfs_latest_jessie.img.tar.xz -c MD5SUMS

 

Le script commence par un message d'avertissement qu'il faut accepter, en répondant par yes :

THERE IS NO WARRANTY FOR THIS PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.[...] BE CAREFUL!

 

Continue? (yes/no) yes

Le script passe alors à la phase de détection automatique du périphérique de bloc (block device), le chemin où le système a monté la carte micro-SD :

[INFO] Option -s was not set, starting Assisted Block Device Detection

1. Please, remove the target SD card from your computer if present, then press Enter

Cela signifie que vous devez vous assurer que la carte micro-SD n'est pas insérée dans l'ordinateur et que vous devez l'enlever si cela est le cas, et ensuite presser la touche [Entrée].

2. Please, plug the target SD card into your computer (and don't touch to other devices), then press Enter

 

Insérez la carte micro-SD, et validez après avoir attendu quelques secondes.

Si vous obtenez le message suivant (avec (x) une lettre), c'est que la détection s'est bien passée, il suffit d'agréer :

Block device /dev/sd(x) found. Use it as your SD card block device? (yes/no) yes

 

Le mot de passe de l'utilisateur <user> qui a exécuté le script et qui dispose des privilèges sudo est alors demandé :

[INFO] This script needs a sudo access

Mot de passe [sudo] de <user> :

Le saisir et valider. Le script vous demande alors de saisir la phrase de passe (c'est-à-dire un mot de passe en plus long et hautement sécurisé [PWD]) qui va protéger les données présentes :

Passphrase for your encrypted disk (should be strong):

Confirm passphrase:

L'installation est achevée quand le script vous retourne les messages suivants :

[INFO] Installing encrypted SD card (this could take a few minutes)

[INFO] Done

3.3. Premier démarrage de la Brique Internet et connexion

La carte micro-SD peut alors être insérée dans votre carte Olimex. Si vous connectez une clé USB en sus, les fichiers de log seront copiés dessus et pourront faciliter un debug si la configuration se passait mal. Branchez votre brique au réseau puis ensuite à l'alimentation électrique ; les diodes autour de la prise Ethernet se mettent alors à clignoter.

Il faut alors détecter l'adresse IP locale à laquelle votre brique répond ; l'option -l du script permet cela :

$ ./install-sd.sh -l

Internet Cubes found on the network:

1. YunoHost Admin: https://192.168.0.10

SSH Access: ssh root@192.168.0.10

HyperCube Debug: http://192.168.0.10:2468/install.html

Le script indique tout d'abord qu'il a trouvé une Brique Internet à l'adresse IP locale 192.168.0.10 ici ; puis signale :

Select an IP to add to your hosts file (or just press Enter): 1

Choose a host name for this IP: labrique

En indiquant un nom d'hôte comme labrique, cela fait en sorte qu'il ne sera plus nécessaire d'indiquer sur cet ordinateur l'IP, mais que labrique suffira à joindre votre brique depuis votre réseau local.

Il faut ensuite se connecter à la page web de déchiffrement de la brique dans un navigateur web : https://labrique.Il est nécessaire de rajouter une exception de sécurité temporaire au navigateur, car le certificat n'est pas reconnu (ce qui n'est pas gênant dans ce cas) [CAE]. Une page web au design certain s'affiche enfin avec le message « Hard Drive Locked. Enter your passphrase to unlock the hard drive: ». Saisissez votre phrase de passe et validez. Quand « Unlocked! » clignote à l'écran, c'est que le système démarre.

Il est désormais possible de se connecter en SSH à la brique ; ouvrir une console et saisir la commande suivante :

$ ssh root@labrique

 

Le système demande alors le mot de passe de l'administrateur du système (root) :

root@labrique's password:

 

Il faut indiquer celui par défaut qui est olinux. Il est ensuite imposé de changer le mot de passe :

Changing password for root.

 

Indiquez à nouveau le mot de passe par défaut pour commencer : olinux

(current) UNIX password:

 

Puis saisir deux fois de suite le mot de passe administrateur (root) que vous aurez choisi et validez.

Enter new UNIX password:

Retype new UNIX password:

Vous constatez que vous êtes connectés en ssh sur votre brique. À noter : la connexion SSH est configurée par défaut pour que l'on puisse s'identifier par un mot de passe, ce qui est potentiellement dangereux. Afin de renforcer la sécurité, il est préférable de forcer la connexion par échange de clé SSH, en ayant bien évidemment fait en sorte de pouvoir s'y connecter de la sorte. La documentation de YunoHost vous assiste dans cette procédure [SSH].

Vous pouvez maintenant mettre à jour le système complet avec la commande suivante :

# apt-get update && apt-get dist-upgrade

 

Si cette première mise à jour comportait une mise à jour du noyau linux (image-linux), il faut procéder à un redémarrage du système en tapant la commande suivante (ou avec le bouton reset) :

# reboot

Il faut alors se reconnecter à l'interface graphique de déchiffrement de la carte micro-SD (https://labrique) afin que le système démarre.

4. Configuration de base

4.1. Post-installation de YunoHost

Ouvrez votre navigateur Internet et allez sur l'adresse URL locale https://labrique ; celle-ci vous redirige automatiquement sur l'interface d'administration de YunoHost.

Le message d'avertissement « Le certificat n'est pas sûr, car il est auto-signé. » s'affiche et implique que vous devez accepter une exception de sécurité sans soucis, il s'agit de votre certificat d'ailleurs. Vous êtes alors accueilli par le message « Félicitations ! YunoHost a été installé avec succès. ».

Cliquez sur le bouton C'est parti pour commencer la post-installation de YunoHost puis cliquez sur J'ai déjà un nom de domaine à moins que vous n'ayez choisi de bénéficier de ceux proposés par YunoHost.

Indiquez le nom du domaine, mondomaine.me ici et validez, puis saisissez deux fois le mot de passe qui servira à l'administration de YunoHost.

Une fois la configuration terminée, vous arrivez sur la page de connexion à l'interface d'administration de YunoHost qui est disponible dorénavant localement à l'adresse : https://labrique/yunohost/admin/.

Note

Afin de retrouver plus tard les applications de la Brique Internet directement dans la liste des applications de l'interface d'administration, il faut les ajouter à YunoHost :

# yunohost app fetchlist -n labriqueinternet -u https://labriqueinter.net/apps/labriqueinternet.json

4.2 Interface d'administration de YunoHost

L'interface d'administration de YunoHost [ADM] est divisée en plusieurs parties :

-Utilisateurs, pour ajouter et modifier les comptes des différents utilisateurs ;

-Domaines, pour gérer les domaines et sous-domaines qui seront utilisés pour les applications ;

-Applications, pour installer, supprimer et configurer les différentes applications libres ; en plus de celles que nous allons installer, on peut en particulier retrouver WordPress (blog), Dokuwiki (wiki simple), Transmission (torrent), TinyTinyRSS (suivi de fils RSS), OpenSondage (sondages), etc. [APO] ;

-Mettre à jour le système, pour la mise à jour de la distribution et des applications YunoHost (à faire régulièrement) ;

-Services, pour (des)activer ou supprimer des services ;

-Outils, utile en particulier pour changer le mot de passe d'administration de YunoHost, configurer le pare-feu, ou connaître l'état du serveur ;

-Sauvegarde, pour sauvegarder la configuration de YunoHost et les données (encore en bêta).

Elle sera disponible à l'adressehttps://mondomaine.me/yunohost/admin/une fois la configuration achevée.

4.2.1 Gestion des utilisateurs

Une des premières actions est de configurer les comptes des utilisateurs de YunoHost. Il faut noter qu'un annuaire LDAP permet en interne de générer les comptes des utilisateurs dans toutes les applications que vous installez de manière centrale. Ceci implique que les utilisateurs devront être créés dans YunoHost et non dans les applications elles-mêmes. Ils y auront un mot de passe unique, qui sera utilisé par toutes les applications.

Allez dans la partie Utilisateurs > Nouvel Utilisateur et complétez les différents champs du formulaire : identifiant, prénom, nom, adresse courriel, quota de la boîte mail (elle sera illimitée si ce champ est à zéro) et enfin le mot de passe. Cliquez sur le bouton Sauvegarder pour retourner à la page listant les utilisateurs. Le premier utilisateur créé se voit doté de différents alias dédiés à l'administration : root@ admin@, webmaster@ et postmaster@.

4.2.2 Configuration des domaines

Vous pouvez vouloir ajouter des sous-domaines à votre domaine pour que par exemple :

- Owncloud soit accessible sur cloud.mondomaine.me ;

- Roundcube sur webmail.mondomaine.me ;

- et Jappix sur jappix.mondomaine.me.

Dans la partie Domaines, cliquez sur le bouton Ajouter un domaine puis sélectionnez J'ai déjà un nom de domaine… Complétez alors le sous-domaine (ou tout autre domaine sur lequel vous avez des droits) que vous souhaitez créer :

 

Figure 4 : Le formulaire d'ajout d'un domaine.

Et cliquez finalement sur le bouton Ajouter.

C'est aussi en bas de la page présentant les domaines que l'on peut choisir de changer le domaine par défaut, sur lequel sera alors joignable YunoHost.

4.2.3 Installation d'applications

En allant dans la partie Applications vous visualisez la liste des applications installées, et en sélectionnant une application, avez accès à différentes actions comme la désinstaller. Vous pourrez aussi définir des droits dans la partie Opérations, à savoir pour quel(s) utilisateur(s) chaque application est disponible : par défaut, elle est accessible à tous les utilisateurs. C'est aussi là que vous pouvez sélectionner l'application vers laquelle est redirigée la racine du domaine configuré. Cette liste est donc vide à cette étape du tutoriel.

Vous pouvez accéder à l'installation de nouvelles applications en cliquant sur le bouton installer. Les applications s'installent alors aisément en sélectionnant dans la liste des applications officiellement supportées celle que vous souhaitez installer puis en remplissant les différents champs proposés : en général le nom sous lequel elle sera disponible, le domaine à utiliser et le chemin d'installation de l'application. À noter que lorsque l'on installe une application à la racine d'un (sous-)domaine /, on ne peut pas en installer d'autre sur ce (sous-)domaine. Suivant les applications, d'autres options ou configurations sont demandées comme par exemple si l'application doit être accessible publiquement, ou ne sera accessible que via l'interface utilisateur de YunoHost.

Il est aussi possible d'installer une application non officiellement supportée [APN] en allant en bas de la page d'installation et en saisissant l'URL du dépôt git sur laquelle elle est hébergée, la suite de l'installation étant alors similaire. Il convient d'être très précautionneux sur une telle opération, ces applications n'étant pas testées par l'équipe de développement de YunoHost.

4.3. Configuration des certificats

Le certificat généré pour la brique est un certificat auto-signé, c'est-à-dire que vous êtes l'émetteur du certificat qui est utilisé pour les connexions sécurisées comme le https. Or les navigateurs Internet ou d'autres applications génèrent des messages d'avertissement ou d'erreur, voire même vous interdisent d'utiliser les certificats qui ne sont pas signés par un émetteur « connu ». Et ils ne connaissent la plupart du temps que des sociétés commerciales qui vous feraient payer la certification de vos certificats, plus ou moins cher selon le nombre de domaines concernés. Il est possible de changer les certificats de la brique, mais cela demande pour l'instant un peu de configuration manuelle.

Un module permettant de générer des certificats Let's Encrypt [LET], gratuits et largement reconnus par les navigateurs Internet est en cours de développement : https://github.com/alexAubin/letsencrypt_ynh. Il est à l'heure actuelle expérimental, c'est-à-dire qu'il ne doit pas être utilisé par des personnes n'ayant pas de solides compétences en administration système, de même que Let's Encrypt est lui-même en version bêta (voir l'article « Let's Encrypt : le chiffrement gratuit, ouvert et automatisé sur Internet » du n°94 de Linux Pratique).

4.4. Interface utilisateur de YunoHost

L'interface utilisateur est disponible à l'adresse https://mondomaine.me/yunohost/. Elle permet à tous les utilisateurs d'avoir accès aux applications qui leur sont proposées, et sur lesquelles ils seront automatiquement authentifiés grâce à l'authentification unique (Single Sign On) intégrée dans YunoHost.

Figure 5 : Interface utilisateur de YunoHost avec les applications disponibles.

Les utilisateurs peuvent éditer leur profil en cliquant sur leur identifiant en haut à gauche de cette interface et ainsi modifier leur nom et prénom ou leur mot de passe. Ils peuvent aussi définir des alias, en renseignant le champ Adresses supplémentaires, qui sont valables aussi bien pour les mails que pour les comptes XMPP, ou des transferts de courriels vers d'autres adresses en complétant le champ Adresses de transfert.

5. Installation et configuration des applications

5.1. Client VPN

Installez le client OpenVPN (attention, il ne faut pas installer à la place l'application OpenVPN, qui sert elle à installer un serveur VPN) en conservant les paramètres par défaut pour le nom, le nom de domaine et le chemin d'installation.

Retournez sur la liste des applications installées et sélectionnez Client VPN. Dans la partie Opérations, cliquez sur le bouton Accès afin de définir au moins un utilisateur qui aura accès à la configuration du client VPN. Dans le menu déroulant du bloc Utilisateurs autorisés, choisir l'utilisateur qui en fera la configuration et cliquer sur le bouton Ajouter. Plusieurs utilisateurs peuvent être choisis.

Afin de pouvoir se connecter à l'interface utilisateur de YunoHost alors que la connexion VPN n'est pas encore configurée, il faut éditer le fichier /etc/hosts de votre ordinateur avec les droits sudo :

# sudo nano /etc/hosts

Indiquez votre mot de passe et rajoutez la ligne suivante (en remplaçant l'IP locale par celle de votre brique) :

192.168.0.10 mondomaine.me

Enregistrez et quittez.

Ouvrez l'interface utilisateur et identifiez-vous avec l'utilisateur qui a le droit sur le client VPN, et ouvrez l'application Client VPN. Glissez le bouton VPN activé sur On tout d'abord. Si votre fournisseur de connexion VPN vous a fourni un fichier .cube, allez dans l'onglet Automatique et sélectionnez le fichier .cube qui vous a été fourni.

Si vous n'avez pas eu un tel fichier de configuration, vous devrez récupérer auprès de votre fournisseur les diverses informations : adresse du VPN, port, protocole, préfixe IPv6, nom d'utilisateur, mot de passe et IP des DNS à renseigner dans le formulaire ainsi que le certificat du serveur, à importer.

Sur votre ordinateur, éditez à nouveau le fichier /etc/hosts/afin de supprimer la ligne ajoutée précédemment.

5.2. Owncloud

Passez ensuite à l'installation d'Owncloud en configurant les champs suivants en plus de sélectionner l'utilisateur qui sera administrateur de l'application.

Application Libellé Domaine Emplacement
Owncloud Owncloud cloud.mondomaine.fr /

Ouvrez l'interface utilisateur de YunoHost en connectant l'utilisateur administrateur de Owncloud et ouvrez l'application Owncloud. Cliquez sur le menu en haut à gauche puis sur l'icône Applications. Installez les applications Calendar ainsi que Contacts en les recherchant dans la boîte de recherche en haut à droite puis en cliquant sur le bouton Activer.

Vous pouvez choisir d'étendre la capacité de stockage de votre brique en ajoutant un disque dur externe afin d'avoir plus de place pour la synchronisation de fichiers d'Owncloud. Cette étape est complètement facultative et réalisable en suivant le tutoriel disponible sur le wiki de La Brique Internet [FDE].

5.3 Services disponibles

5.3.1 Comptes de messagerie

Chaque utilisateur dispose d'un compte de messagerie de la forme <identifiant>@mondomaine.me dans notre cas, les informations nécessaires à la configuration d'un client courriel sont alors :

- serveur entrant IMAP : mondomaine.me (port 993) ;

- serveur sortant SMTP : mondomaine.me (port 465) ;

avec l'identifiant et le mot de passe de l'utilisateur tels que définis dans YunoHost, comme sécurité SSL/TLS (toujours) et une authentification de type PLAIN.

5.3.2 Comptes XMPP

Les utilisateurs disposent aussi d'un compte XMPP, de la même forme que leur adresse courriel.

Ce compte leur permet d'être en contact avec tous les utilisateurs du protocole XMPP quel que soit le serveur utilisé pour créer leur compte, via des conversations texte, audios et vidéos [XMP].

5.3.3 Agendas CalDAV - Carnets d'adresses CardDAV

Vous bénéficiez maintenant de la synchronisation d'un agenda et d'un carnet d'adresses (ou plusieurs) sur vos différents ordinateurs, tablettes ou smartphones. Par exemple, sur ordinateur vous pouvez configurer le client mail Thunderbird en y ajoutant l'extension connecteur Sogo afin d'y configurer votre carnet d'adresses. Ou encore sur smartphone Android, l'application DavDroid disponible sur le dépôt F-Droid vous permet d'intégrer directement le carnet d'adresses et l'agenda au sein des applications natives.

Dans le menu supérieur d'Owncloud, chaque utilisateur peut ainsi accéder à son carnet d'adresses (entrée Contact) ainsi qu'à son agenda (entrée Calendrier), créer les entrées désirées et les partager si nécessaire avec d'autres utilisateurs. En cliquant sur la roue crantée en bas de la colonne de gauche, une icône de partage permet d'afficher l'URL pour la synchronisation de chaque calendrier et carnet d'adresses du type https://cloud.mondomaine.me/remote.php/dav/addressbooks/users/<identifiant>/default/ pour ce dernier par exemple. La documentation d'Owncloud donne plus d'informations sur son usage de façon générale [OWC].

5.4. Roundcube

Installez Roundcube en renseignant les champs suivants et en cochant bien la case Installer le plugin de synchronisation CardDAV .

Application Libellé Domaine Emplacement
Roundcube Roudcube webmail.mondomaine.me /

En ouvrant pour la première fois l'application, chaque utilisateur pourra compléter quelques informations personnelles. À noter que le premier utilisateur devra prendre soin de bien indiquer son adresse de courriel, car c'est l'alias admin@ qui est pré-configuré et non l'adresse de cet utilisateur.

Afin d'avoir accès à son carnet d'adresses CardDAV, chaque utilisateur devra ensuite aller dans Paramètres > Préférences > CardDAV et indiquer l'URL de son carnet d'adresses et pourra même en configurer plusieurs si nécessaire.

5.5 Jappix

Installez Jappix en renseignant les champs suivants :

Application Libellé Domaine Emplacement
Jappix Jappix jappix.mondomaine.me /

Il n'y a pas de configuration particulière à faire, chaque utilisateur quand il s'y connecte via l'interface utilisateur est simplement invité à renseigner différents champs de personnalisation.

5.6. Points d'accès Wifi

Installez le Hotspot Wifi en conservant les paramètres par défaut pour le nom, nom de domaine et chemin d'installation. Il vous est en sus demandé de configurer votre premier point d'accès Wifi en indiquant son nom et une clé pour une connexion sécurisée (WPA2).

Ouvrez l'application Hotspot Wifi à partir de l'interface utilisateur de YunoHost, connecté avec l'utilisateur qui a les bons droits. Glissez le bouton VPN activé sur On puis sélectionnez wlan0 comme Interface.

Vous pouvez modifier le point d'accès précédemment configuré ou en ajouter un supplémentaire : cliquez sur le bouton Ajoutez un point d'accès et complétez le nom que vous souhaitez lui donner. Cliquez sur le bouton Sécurité pour le passer à On afin de pouvoir indiquer une clé qui permettra de protéger la connexion. Cliquez sur le bouton Sauvegarder et recharger en bas de page une fois les informations complétées.

Vous pouvez dorénavant connecter à Internet les ordinateurs de votre domicile via les(s) point(s) d'accès.

Attention !

Encore plus de facilités avec l'Hypercube

Parallèlement à l'arrivée de la version 2.4 de YunoHost en mai dernier, est arrivée une nouvelle procédure d'installation de la Brique Internet, entièrement automatisée. En effet, le site https://install.labriqueinter.net permet de saisir toutes les informations relatives au compte VPN, à la configuration de YunoHost et au point d'accès Wifi. Grâce au fichier de configuration qui est produit et à la documentation personnalisée proposée à la fin de la procédure, il suffit simplement d'ajouter un argument au script d'installation, puis d'attendre que la Brique ait démarré. Le point d'accès Wifi apparaît et YunoHost (avec VPN) est directement fonctionnel. Ce tutoriel n'a pas utilisé cette technique, spécifique au projet de la Brique Internet, afin de mieux découvrir et comprendre le fonctionnement de YunoHost.

Conclusion

Vous pouvez maintenant commencer à utiliser votre Brique Internet avec les applications installées et trouverez de plus amples informations dans la documentation utilisateur [USR] si besoin est. Vous pourrez aussi installer de nouvelles applications si vous le souhaitez, grâce à la simplicité de YunoHost, et étendre ainsi les fonctionnalités de votre brique.

Remerciements

Merci à Jocelyn, opi et ju pour avoir relu ce tutoriel et plus globalement à tous les développeurs de YunoHost et de la Brique Internet qui répondent régulièrement à mes questions depuis que j'en suis l'heureuse utilisatrice.

Références

[ADM] https://yunohost.org/#/admindoc_fr

[APN] https://yunohost.org/#/apps_in_progress_fr

[APOhttps://yunohost.org/#/apps_fr

[BLD] https://github.com/labriqueinternet/build.labriqueinter.net

[CAE] http://guide.boum.org/tomes/2_en_ligne/3_outils/04_ajouter_certificat_electronique/

[CER] https://wiki.labriqueinter.net/doku.php/howto:install-script-common-errors

[CRY] http://guide.boum.org/tomes/2_en_ligne/1_comprendre/6_chiffrement_asymetrique/

[CUB] https://labriqueinter.net

[DOC] https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME/resources/a20-olinuxino-lime-um.pdf

[FDE] https://wiki.labriqueinter.net/doku.php/howto:owncloud-with-encrypted-disk

[FED] https://ffdn.org

[IMG] https://yunohost.org/#/install_fr

[LET] https://letsencrypt.org

[NNT] http://www.laquadrature.net/fr/neutralite_du_Net

[OWC] https://doc.owncloud.org

[PST] https://yunohost.org/postinstall_fr

[PWD] http://guide.boum.org/tomes/2_en_ligne/3_outils/09_gerer_des_mots_de_passe/

[SDO] https://wiki.mageia.org/en/Configuring_sudo

[SSH] https://yunohost.org/#/security_fr

[USR] https://yunohost.org/#/userdoc_fr

[XMP] https://fr.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol

[YNH] https://yunohost.org

Tags : hébergement