Attention, l’installation d’un serveur domestique est un bien grand mot. Ce qui suit est à caractère personnel, bien évidemment contestable. Il ne s’agit pas de faire un concours d’expert, d’autant moins que je ne suis pas administrateur système. Cela dit, ça marche et la mise en place n’est ni longue ni onéreuse.
Pourquoi installer un serveur domestique ?
Je n’avais pas de volonté d’installer un serveur maintenant même si c’était prévu. L’élément déclencheur aurait dû être la fibre optique. Il se trouve que durant un temps d’attente devant une boutique orange, j’ai eu la réponse à la question pourquoi la fibre n’arrive pas. Pour arriver chez moi, c’est de l’aérien. La dame d’orange m’a dit que nous serions les derniers servis, car c’est cher et complexe. Cher surtout. Un serveur sans fibre optique, pour se connecter de l’extérieur, n’a que peu de sens. On pense à tort qu’un serveur, c’est forcément tourné vers l’extérieur, pas seulement. Par exemple, mon PC fait office de serveur DLNA dans la maison.
Comme je l’ai expliqué, j’utilise mon instance Nextcloud offerte par o2switch pour synchroniser mes podcasts entre Antenna Pod et Kasts. Malheureusement, la version distribuée par o2switch est une version 25 qui date, nous en sommes à la 27. J’ai rencontré dernièrement des problèmes de synchronisation, il est possible que ce soit le souci.
Le service n’étant pas totalement indispensable, je peux m’en passer comme du serveur. En effet, j’écoute principalement les podcasts sur mon téléphone.
Le choix de la machine.
Je n’allais pas mettre le prix fort dans cette machine, si bien que je me suis tourné vers le marché de l’occasion. J’avais des machines à la maison qui correspondait mais on trouve des tas de petits PC à pas cher. Comme toujours, Ebay, une machine à 45€ frais de port compris. À l’origine, nous sommes sur un Celeron avec 4 Go de RAM et un disque dur mécanique de 320 Go. Du fait d’avoir du matériel de passe, j’ai mis 4 Go de plus et un SSD de 256 Go. Si je suis satisfait à long terme, je pourrais augmenter avec un SSD plus important.
On notera que c’est de la RAM d’ordinateur portable et qu’à part ce slot supplémentaire, on ne peut rien rajouter. J’ai fait ce choix plutôt que d’une mini-machine chinoise pour la robustesse des ordinateurs professionnels
On notera le faible encombrement de la machine par rapport à la NB6 de chez SFR.
Le choix de la distribution
Il aurait été possible de faire le choix de Yunohost la distribution dédiée à l’auto-hébergement. Avec Linux en fait tout est possible, installer n’importe quelle distribution puis installer Nextcloud en suivant un tutoriel quelconque. J’ai décidé d’aller à l’essentiel puisque ici, il s’agira de n’installer que Nextcloud ou presque. Je prévois en effet de déplacer le serveur Minidlna.
Je ne vous montrerai pas les écrans d’installation, parce qu’ils sont triviaux pour qui sait installer une distribution Linux. Le seul écran d’intéressant, c’est le suivant. Il apparaît une liste de programmes qui sont directement installables. C’est ce que je trouve de facile et de rapide, Ubuntu, je pense, est la seule à proposer un système aussi simple. On notera qu’ici, on profite du système de snap dans le cas présent. Pas besoin de configurer apache ou d’autres paramètres, tout est fait.
À la sortie, on peut avoir accès directement à son Nextcloud, mais c’est ici que les choses se compliquent.
Un certificat SSL sinon rien
AntennaPod peut potentiellement fonctionner avec un certificat autosigné, mais c’est galère. Il est nécessaire de récupérer le certificat puis de le faire accepter dans le mobile Google. L’idéal est donc d’utiliser un nom de domaine et d’y mettre un certificat Let’s Encrypt. C’est ici que les choses ont commencé à se compliquer pour moi.
Je suis client chez OVH qui gère mes noms de domaine. OVH est intéressant sur plusieurs points notamment les noms de domaine OVH à 3€ et la possibilité d’avoir des domaines avec des DNS dynamiques. En effet, je suis client RED, je n’ai pas d’IP fixe. Dans la box NB6 la possibilité d’utiliser le DynHost d’OVH est prévu. La faute à pas de chance, il apparaît que le service ne fonctionne plus depuis des mois. La NB6 est vieille, et je ne pense pas qu’elle soit mise à jour. Si OVH bouge son service, on peut rêver pour une correction chez SFR surtout pour un service aussi minoritairement utilisé.
Il est donc nécessaire d’installer un logiciel sur le serveur pour assurer la liaison avec le nom de domaine. Il s’agit de ddclient. La configuration donne ceci.
Afin de vérifier si la configuration fonctionne, il faudra faire : sudo ddclient -daemon=0 -debug -verbose -noquiet. Il faudra ouvrir les ports 80 et 443 avec sudo ufw allow 80,443/tcp. Pour lesquels il sera nécessaire de faire des règles NAT sur la box avec la redirection vers la machine physique.
Par défaut, votre domaine de Nextcloud, c’est l’adresse IP avec laquelle vous avez installé la machine. Ainsi, votre nom de domaine qui pointe désormais vers la machine n’est pas reconnu comme étant de confiance. Il le devient avec la commande ci-dessous.
sudo snap run nextcloud.occ config:system:set trusted_domains 1 –value=mon.joli.domaine (source)
Le fameux certificat SSL est fait avec la commande suivante : sudo nextcloud.enable-https lets-encrypt
Enfin, afin d’avoir une adresse IP fixe pour le serveur, on passera par le logiciel Netplan. C’est le tuto suivant que j’ai utilisé, les autres n’étaient pas à jour.
OUF !
On peut se dire que la réalisation de ce serveur domestique a été particulièrement rapide. Pas du tout. Si on a l’impression, à juste titre, qu’il y a peu de lignes de commande et c’est le cas, j’ai sorti les rames. Si l’installation en elle-même ne pose aucun souci, le lien avec le nom de domaine est une catastrophe.
La problématique de la box aura été une perte de temps sévère. Je pensais au départ que cela venait de ma configuration. Ensuite, j’ai fait quelques erreurs de paramétrage si bien que j’ai bloqué un temps la génération du certificat Let’s Encrypt.
La suite sera de faire un peu le tour de Nextcloud, j’ai installé par exemple le module de lecture de flux RSS que je ne consulte que depuis mon poste avec Liferea au local. Ici cela me donnerait la possibilité de le voir un peu partout. À voir comment se comporte la machine avec une connexion internet pour le moins catastrophique.
Ta box ne permet pas d’avoir une IP fixe sur ton réseau ?
Pour info chez Free y’a le nom de domaine gratos fourni pour la box et le reste est aussi simple.
Ça passe pas en ADSL Free chez toi ? 😁
Chez Red, tu peux appeller le support et tu demandes une IP fixe car tu héberges un site et ils suppriment la configuration IPv6 de ta box pour la fixer en ipv4.
Dans mon cas, ça a pris moins d’une journée entre ma demande et son traitement par le support compétent.
Merci pour le conseil, mais en fait le paramétrage tel qu’il est réalisé me permet d’être indépendant de la BOX.
les 2 éléments intéressants de Yunohost :
– une gestion des utilisateurs
– une base partagée des utilisateurs sur les applications que tu installes
Si t’es solo et avec une seule appli, il y a peu d’intérêt.
Depuis très longtemps, je suis adepte de nextcloud
La difficulté d’un usage sur le long terme, c’est la maîtrise des mises à jour. [Pas uniquement pour nextcloud!]
Mes serveurs les plus stables sont devenus trop vieux, les clients nextcloud râlent et se déchargent de toute responsabilité 😉
J’ai récemment fait une tentative nextcloud/docker… Hélas, le seul docker a foirer sa mise à jour, c’est le nextcloud. ! 🙁
Actuellement, j’en suis également à la version snap, qui s’est automatiquement mise à jour sans problème depuis des mois (mais « hors production » collègues, jusqu’ici).
Si snap est fourni par Ubuntu, le snap nextcloud est fourni par un tiers. L’ensemble augmente donc la liberté de l’utilisateur (on appelle ça aussi le « pouvoir d’agir »).
Le problème du Nextcloud de o2switch n’est pas tant Nextcloud itself qu’on peut mettre à jour manuellement depuis le panneau d’administration, mais la version de PHP sur laquelle ils les déploient et là où on n’a pas la main, à savoir PHP7.4 qui n’est plus supporté depuis 2 ans et ne reçoit plus aucun patch de sécurité depuis plus d’un an maintenant 😬
Dans le panneau d’administration, je reste coincé à la version 25. Si tu as réussi à bypasser, je serai curieux de savoir comment. De toute façon, c’était clair dès le départ avec o2switch c’est un os à ronger puisqu’aucune maintenance n’est envisagée sur cet espace.
On reste coincé à la 25 parce que c’est la dernière de Nextcloud à supporter notre version de PHP. Pas trouvé de moyen de bypasser. Ça fait longtemps que je repousse l’ouverture d’un ticket au support à ce sujet…