Salut à tous, aujourd’hui on va parler d’auto hébergement. C’est la grande mode en ce moment. On en parle partout sur internet, rapatrier ses données pour en être le seul responsable.
Cependant cela reste réservé à ceux qui n’ont pas peur de la ligne de commande et qui ont des bases plutôt solides en administration système et réseau.
Mais j’ai récemment découvert le projet YunoHost. Une bande d’amis qui ont décidé de fournir une solution d’auto hébergement clé en main. Ce projet convient tout à fait à une utilisation personnelle mais il ne sera pas adapté pour une utilisation en entreprise.
Le projet met l’accent sur la sécurité en chiffrant tous les protocoles utilisés et la simplicité / rapidité d’administration et de déploiement des services. Vous pourrez par exemple monter un serveur mail personnel en quelques minutes.

YunoHost est disponible sous la forme d’une distribution à part entière basée sur Debian, ou comme un paquet à installer sur un serveur Debian fraîchement installé.
Vous pouvez retrouver le descriptif de YunoHost sur la page de présentation du projet.
Je souhaitais donc partager avec vous l’installation et la configuration basique de cette distribution.

Pré-requis

– Un serveur (une VM, un Raspberry, un Docker, un dédié, c’est vous qui voyez) x86 ou ARM ; 256Mo de RAM et 4Go de stockage minimum
– Savoir se connecter en SSH
– Une souris, et un navigateur web (non je ne plaisante pas !)

Installation de YunoHost

Suivant le type de machine sur lequel vous souhaitez l’installer, je vous laisse vous procurer le bon fichier sur cette page
J’ai pour ma part fait l’installation sur mon Raspberry Pi 2 déjà équipé de Rasbian. Je vais donc récupérer le script permettant d’effectuer l’installation de tous les packages sur une machine vierge.
Je pars donc d’une clean install de Debian et me connecte en SSH.
Voici les commandes à effectuées pour procéder à l’installation.

install_packages
L’installation demande un peu de temps en fonction de la puissance de la machine et de la connexion internet.
A la fin du script il est demandé si on souhaite procéder à la post installation.
post_install
Il est possible de la faire soit par le navigateur, soit en SSH.
On nous demande alors le domaine utilisé pour YunoHost ainsi que le mot de passe d’administration.
domain
Si vous n’avez pas de nom de domaine, YunoHost vous permet d’en créer un gratuitement via l’interface Web.

Administration

Une fois connecté au portail d’administration de YunoHost nous avons accès à plusieurs options que nous allons découvrir ensemble.
administration
panel
Premièrement la création d’un utilisateur.
Elle permet de se connecter sans utiliser les identifiants administrateur.
C’est également dans cet onglet que l’on définit le quota de mails que l’on attribue à l’utilisateur.
user
L’onglet Applications est surement la partie la plus intéressante. Ce via ce panneau que l’on sélectionne les applications à héberger sur le serveur et qui seront accessibles aux utilisateurs.
Lors de l’installation vous pouvez choisir le nom sous lequel apparait l’application sur le panel ainsi que son chemin d’accès. Cela peut-être pratique pour certains utilisateurs.
list_apps
install_apps
L’onglet Pare-Feu peux-être utile si votre serveur est exposé en frontale. Il permet d’ouvrir et fermer certains ports pour plus de sécurité.
Je vous laisse découvrir les derniers onglets liés aux informations du serveur.

Partie utilisateur

Maintenant voyons la partie utilisateur.
Il suffit de taper le nom de domaine, d’accepter le certificat HTTPS (que vous pouvez ensuite remplacer par des certificats Let’s Encrypt) et de se connecter avec l’utilisateur que l’on a créé préalablement.
login
On a alors accès au panel utilisateur avec toutes les applications installées auxquelles on a donné l’accès à cet utilisateur.
panel_user
Il suffit de cliquer sur une tuile pour lancer l’application correspondante.
Pour gérer les mails il suffit d’installer Roundcube et on a alors accès à la boite mail de l’utilisateur. Vous pouvez même installer quelques jeux pour vous détendre !
hextris
Je vous laisse configurer les services et applications que vous souhaitez hébergées. N’hésitez pas à vous rendre sur le Github du projet si vous souhaitez vous renseigner sur le code source.

[EDIT – 09/03/2016] : Voici une petite astuce pour tester ça en VM sans avoir de domaine ouvert sur l’extérieur.

Partagez également vos différentes configurations dans les commentaires !