Nextcloud - Pas à pas
Pas à pas pour réaliser son propre cloud maison, avec Nextcloud

Stocker ses informations personnelles sur le cloud, ça veut simplement dire : stocker ses informations personnelles sur l'ordinateur de quelqu'un d'autre !
"iCloud" & co, tous les GAFAMs & leurs potes ont réussi à vendre des services pour rendre la vie plus facile : confier leur vos informations personnelles en échange d'un abonnement payant mensuel 💸
Sauf qu'en faisant ça, c'est faire confiance à Apple, Google ou les autres en leur envoyant TOUTES vos données (photos, contacts, historiques de connexion, localisation...), et quand on sait quelle période nous sommes en train de vivre, plus que jamais, je ne peux que conseiller à tous de ne plus confier ses données à ces acteurs.
Alors il ne s'agit pas de se passer de la "magie" d'internet mais plutôt de se créer son propre cloud maison ! Un espace sécurisé, à soi, gratuit, connecté à internet, sur lequel on peut stocker toutes ses données et y avoir accès depuis n'importe quel terminal et depuis n'importe où 🌟
Il existe pléthore d'outils & de méthodes pour le faire ! Sur cette page je propose un tutoriel pas à pas pour reproduire ce que j'ai fait pour nous à la maison avec NextCloud. Ça ne conviendra pas à tout le monde, mais peut-être que ça peut inspirer 😉
Je décris sur la page des étapes clefs qui, il me semble, manquent parfois dans d'autres tutoriels : comment acheter un nom de domaine et le configurer, comment configurer sa Livebox, comment installer from scratch une Debian sur un PC... ça en fait un set de pas à pas qui peuvent être réutilisés pour faire tout à fait autre chose ! On m'a fait remarqué sur le Fediverse qu'il existe des distributions comme Yunohost :
C'est un super projet, qu'on peut installer sur une machine, ou une VM.
https://yunohost.org/#start
Cela simplifie une partie de la gestion du système et ça libère du temps pour le reste.
Mais, ça implique d'apprendre à se servir d'une solution logiciel supplémentaire.— LautreG (@lautreg@pouet.chapril.org) 2/8/2025, 12:13:52 AM
J'imagine qu'en prenant des bouts de mon pas à pas sur la conf du nom de domaine et de la Livebox, il est possible de tester et de voir si d'autres solutions comme Yunohost te conviendraient mieux.
Qu'est ce qu'on cherche à faire
L'idée c'est d'avoir un joli nom de domaine à soi, qu'on puisse taper dans la barre de son navigateur préféré pour accéder depuis internet à son cloud qui sera au chaud à la maison. Par exemple le miens se trouve sur https://nextcloud.harvestntech.fr. Seuls 2 utilisateurs peuvent s'y connecter bien sûr, Tristan & moi. Depuis nos smartphones on peut utiliser l'application Nextcloud pour y stocker nos photos par exemple ! Et j'utilise aussi toute la suite d'outils de LibreOffice pour créer / modifier mes documents.
Ci-dessous un petit schéma pour expliquer ce qu'on va réaliser avec ce pas-à-pas.
- à gauche c'est internet, on y voit un smartphone et un ordinateur portable qui tente d'accéder au domaine nextcloud.monNomDeDomaine.fr ;
- on devra se créer un compte sur un "Registraire" comme OVHCloud (ou celui qui te plaît évidemment) pour acheter un nom de domaine personnalisé (environ 5 ou 6 euros à payer par an). C'est le registraire qui aura la responsabilité d'associer l'adresse IP de ta Livebox (ou freebox ou n'importe quoi box) à ton nom de domaine ;
- on s'occupera de configurer cette dernière pour lui dire de rediriger toutes les requêtes venant d'internet vers ton PC Lenovo ;
- sur lequel on aura installé et configuré préalablement Nextcloud. Et voilà ✌️

Le matériel
Je vais réaliser ce tutoriel avec une petite machine que j'adore. Je l'ai achetée, reconditionnée, sur ebay pour quelque chose comme 100€ :

- PC LENOVO ThinkCentre M700 Tiny i3-6100T
- 8GB DDR4
- 128Go SSD
L'avantage de cette beauté, c'est qu'elle a aussi un port M2 pour y insérer un disque plus véloce que j'ai acheté en plus : Western Digital WD Blue SA510 M.2 - 250 Go
Cette configuration ou une autre fera l'affaire bien sûr, un vieux PC, un modèle plus ancien, plus récent, plus véloce, moins véloce, ce qui compte c'est :
- qu'il y a ait assez d'espace disque pour stocker toutes ses données évidemment,
- que la machine puisse se connecter à son routeur, idéalement en filaire
- que la machine dispose d'un port USB
Le pas à pas
Les grosses étapes sont :
- Installer la machine avec Debian & configurer la Livebox
- Acheter & configurer un nom de domaine
- Installer & configurer Nextcloud
Installer la machine avec Debian & configurer la Livebox
Depuis un autre ordinateur et avec l'aide d'une clef USB, on va récupérer une distribution GNU/Linux que j'affectionne particulièrement : Debian. On entre dans le sérieux !
- On télécharge l'image ISO depuis ce lien (sinon depuis le site debian.org il y a un lien "Téléchargement")
- On télécharge l'outil Balena Etcher qui s'occupera de flasher notre clef USB avec l'image ISO, il suffit de récupérer celle qui convient à son ordinateur depuis ce lien
- On insère la clef USB (attention TOUT son contenu sera supprimé !)
- On lance l'application Balena Etcher
- On clique sur "Flash from file"
- On sélectionne l'image ISO téléchargée
- On clique sur "Select target"
- On fait bien attention à sélectionner sa clef USB
- On clique sur Flash!
- (à la fin l'OS peut se plaindre que la clef USB n'est pas lisible, c'est normal)



Les différentes étapes pour Flasher sa clef USB
- On relie le serveur à la Livebox avec un câble RJ45, on le relie à l'alimentation, à un écran, à un clavier, à une souris, on insère la clef USB qu'on vient de flasher;
- Maintenant va falloir dire au serveur de démarrer depuis la clef USB. Pour ce faire on démarre le serveur et tout de suite après on appuie plusieurs fois sur la touche F1 jusqu'à ce qu'un écran "Lenovo BIOS Setup Utility" apparaît;
- Un écran explique les commandes basiques pour se déplacer dans le BIOS. En gros les flèches pour se déplacer et la toucher Entrer pour valider. Mais si on a une souris c'est encore plus simple 😉. On valide;
- On va sur la partie "Startup";
- On va sur la partie "Primary Boot Sequence";
- On se déplace avec les flèches haut / bas pour faire apparaître en surbrillance la partie "USB FDD" et on appuie sur la touche + autant de fois que nécessaire pour qu'elle soit en premier, tout en haut de la liste.
- On appuie sur la touche F10 pour sauvegarder et quitter. On valide.
- Normalement le serveur va redémarrer et il va afficher un écran au fond bleu et le logo Debian 12, parfait on a bien démarrer sur la clef USB;
- Avec les flèches on s'assure de bien sélectionner "Graphical install" et on appuie sur la touche Entrée;
- On choisit sa langue préférée mais attention moi je prends toujours "English" ça me permet d'avoir un système qui n'essaiera pas de tout traduire en Français et d'avoir des soucis pour comprendre plus tard des commandes, des étapes, d'autres tutoriels...;
- On choisit sa location: "other" > "Europe" > "France" > "United States en_US.UTF-8";
- On choisit la configuration de son clavier: "French";
- On choisit un nom pour sa machine: "lenovo-home";
- On choisit le domain name qu'on utilisera aussi plus tard: "hl0dwig.fr";
- On choisit un mode passe Root très solide et on le retient. C'est important ce mot de passe c'est le sésame de la machine. L'utilisateur Root a tous les droits, c'est l'administrateur tout puissant de la machine. Quelque chose comme "POURRIR-crapules-promue-reed-rebelles". Et surtout on clique sur "Show Password in Clear" pour s'assurer de n'avoir pas fait d'erreur et que le clavier est bien configuré, sinon c'est galère assurée;
- On choisit un "full name for the new user" puis un "username for your account". Pour les deux je choisis "hl0dwig". C'est lui qu'on utilisera pour se connecter à la machine, il est différent de Root. Il aura moins de droit, ça sera bien plus safe de l'utiliser. A la demande, quand on aura besoin de droit supplémentaire on pourra utiliser à l'occasion Root, mais par défaut on utilise cet user;
- On choisit aussi un très beau mot de passe genre "patates-culturel-dang-FOSS-turbo";
- On laisse l'installateur s'occuper de partitionner le disque comme il faut, pour rappel j'ai 2 disques dans ma machine, un SSD d'origine et une barrette M2 supplémentaire. On choisit "Guided - use entier disk" ce qui aura pour effet de tout supprimer et de prendre toute la place pour Debian 12. Ciao Windows si t'était installé 😉
- On choisit le disque sur lequel on veut mettre le système, moi je le mets sur mon M2 de 250 GB. On ne choisit pas la clef USB les guys hein!
- On choisit "All files in one partition";
- On clique sur "Finish partitioning and write changes to disk";
- On choisit "Yes";
- On choisit une nouvelle fois "France" pour la configuration du package manager;
- On choisit "deb.debian.org" pour l'archive mirror;
- On laisse la partie "HTTP proxy information" vide;
- On choisit "No" pour l'usage survey;
- Pour la Software Selection on ne sélectionne que "SSH server" et "standard system utilities", tout le reste doit être décoché;
- Une fois qu'on arrive sur l'écran "Finish the installation" on peut retirer la clef USB et cliquer sur "Continue" une dernière fois pour redémarrer la machine;
- On laisse la machine se lancer, un menu bleu va apparaître quelques secondes mais par défaut le système se lancera tout seul, on arrive enfin à un écran tout simple avec une invite qui affiche lenovo-home login: 👌
Maintenant on va chercher à configurer notre système pour que notre utilisateur "hl0dwig" puisse, de façon occasionnelle, utiliser les droits administrateurs. Pour se faire on va se logguer en tant que Root, installer l'outil "sudo", ajouter notre utilisateur "hl0dwig" dans le groupe "sudo", et enfin tester que ça fonctionne bien en essayant d'éteindre le serveur avec l'utilisateur "hl0dwig" :
- On entre le nom de l'utilisateur suprême, "root";
- On entre son mot de passe (attention Linux n'affichera aucun caractère c'est normal);
- On entre la commande "apt install sudo";
- On entre la commande "usermod -aG sudo hl0dwig";
- On entre la commande "exit";
- On entre le login de notre utilisateur "hl0dwig";
- On entre son mot de passe;
- On tape la commande "sudo shutdown -h now";
- On entre le mot de passe de l'utilisateur;
- Et le serveur s'éteint;
- On peut maintenant débrancher l'écran, clavier, souris, le ranger où on veut, juste le garder brancher à son alimentation et au câble RJ45 qui le relie à la Livebox. Une fois que c'est bon, on relance la machine et on va prendre son contrôle depuis un autre ordinateur plus tard;
- Depuis son ordinateur, on ouvre un navigateur et on entre dans la barre "http://livebox/";
- On entre l'utilisateur "admin" et le mot de passe, soit par défaut, soit celui que tu as bien évidement déjà configuré 😉;
- On clique sur "Réseau";
- On va s'assurer que notre serveur aura toujours la même adresse IP, pour se faire dans la partie "Baux DHCP statiques" on sélectionne dans le menu déroulant notre serveur qui doit apparaître "lenovo-home" et on clique sur "Ajouter";
- On note quelque part son adresse IP, chez moi le routeur lui a attribué "192.168.1.14" et il aura toujours cette adresse;
- On va indiquer maintenant au routeur que toutes les requêtes qui viendront d'internet sur les ports 443 et 80, devront aller vers le serveur. Pour se faire on clique sur l'onglet "NAT/PAT";
- On sélectionne "Web Server HTTP", le port 80 est rempli automatiquement dans les champs suivants, on sélectionne "lenovo-home" puis on clique sur "Créer";
- Maintenant on en crée un nouveau, dans le premier menu déroulant on clique sur "Nouveau" et on entre "Web Server (HTTPS)", on entre 443 dans le port interne et le port externe, on sélectionne de nouveau "lenovo-home" et on clique sur "Créer";








Les étapes pour configurer la Livebox
Acheter et configurer un nom de domaine
Maintenant que la Livebox est configurée, prête à rediriger les requêtes d'internet vers notre bébé serveur, on va s'atteler à prendre un nom de domaine. Chacun choisit son registraire préféré, personnellement j'ai tous mes noms de domaine chez OVHCloud.
Il suffit de se créer un compte comme sur n'importe quel service en ligne, puis on va s'atteler à acheter un nom de domaine. Je conseille bien sûr de prendre un .FR pour des questions de coût et de souveraineté, mais chacun fait ce qu'il lui plaît. Aussi je conseille de faire attention aux patterns d'enregistrement, OVH va proposer un service d'hébergement et aussi de s'abonner pour plusieurs années en avance... on n'a pas besoin de service d'hébergement puisque c'est notre serveur l'hébergement et on veut juste s'assurer que le nom de domaine soit renouvelé automatiquement tous les ans pour ne par le perdre.
- C'est parti, une fois le compte créé on va sur la page de recherche de nom de domaine
- On clique sur "Acheter";
- On fait gaffe à sélectionner "1 an" dans la liste déroulante;
- On clique sur "Poursuivre la commande";
- On clique sur "Ignorer cette étape" sur les 2 écrans suivants;
- Sur la page de "Récapitulatif de la commande" on peut enfin cliquer sur "Payer";
- On fini le formulaire, on accepte tout et maintenant il faudra patienter un peu moins d'une heure pour que la commande soit exécutée et qu'on puisse configurer ce nom de domaine. Un e-mail d'OVH sera envoyé automatiquement quand ça sera prêt.






Les étapes d'achat d'un nom de domaine
Maintenant on va passer à la configuration de ce domaine. Pour la suite je prendrai exemple sur mon domaine "hl0dwig.fr". Cette étape va permettre de lier le nom de domaine à ton adresse IP publique qui relie ta Livebox à internet.
- On repart sur l'interface de la Livebox, pour rappel "http://livebox/";
- On clique sur "Information système";
- On clique sur l'onglet "Internet";
- Et ici on repère et on copie l'adresse IPv4 WAN, chez moi c'est 86.236.109.204


Comment trouver son adresse IP publique depuis sa Livebox
- On repart dans l'interface d'OVH et on clique sur "Web Cloud" puis on déroule "Noms de domaine", on clique sur son nom de domaine et enfin sur l'onglet "Zone DNS";
- Dans le tableau on peut tout supprimer et ne laisser que les lignes de type "NS";
- Puis on clique sur "Ajouter une entrée";
- On clique sur "A";
- On entre le sous-domaine "nextcloud";
- Et dans la cible on colle notre adresse IP publique récupérée dans l'interface de la Livebox précédemment, chez moi c'était 86.236.109.204;
- On vérifie les informations et on valide;





De nos jours, et surtout avec les connexions fibre, notre adresse IP publique ne change pas souvent, mais ça arrive ! Parfois au redémarrage de la connexion internet, ou bien régulièrement en fonction de l'opérateur. Et pour ne pas avoir à refaire cette configuration à chaque fois, il existe un mécanisme qui s'appelle "DynHost". On va configurer notre Livebox pour qu'elle aille mettre à jour toute seule son adresse IP publique dans notre interface OVH, oui oui 😉
- Toujours dans l'interface OVH, on clique maintenant sur l'onglet "DynHost";
- Puis "Ajouter un DynHost";
- Dans sous-domaine on remet notre "nextcloud";
- Et dans l'IP, on remet notre IP actuelle pour moi "86.236.109.204";
- Ensuite on clique sur "Gérer les accès";
- On clique sur "Créer un identifiant";
- Dans suffixe on met "livebox";
- Dans sous-domaine on met "nextcloud";
- Et on crée un random password qu'on prendra soin de noter, il faudra l'indiquer à la Livebox, par exemple "HsJ_XVm-xqFA*b797Qun";
- On valide;




Configuration du DynHost
On en a fini avec OVH 🌟
- On repart sur l'interface de la Livebox, http://livebox/
- On repart dans "Réseau";
- On clique sur l'onglet "DynDNS";
- On choisit "OVH-dynhost";
- On entre le domaine "nextcloud.hl0dwig.fr";
- On entre l'identifiant "hl0dwig.fr-livebox";
- On entre le mot de passe "HsJ_XVm-xqFA*b797Qun";
- Et on clique sur "Enregistrer";

On en a fini avec la Livebox 🌟
Installer et configurer Nextcloud
Aller on touche au but ! Maintenant on va prendre le contrôle de notre serveur depuis un ordinateur qui est forcément sur le même réseau de ta Livebox, et tout va se passer dans une console.
- Ouvre une fenêtre de terminal, c'est dans "Applications" > "Utilitaires" > "Terminal";
- Entre la commande ci-dessous en remplaçant l'adresse IP par l'adresse fixe de ton serveur, qu'on a configuré précédemment dans ta Livebox eten remplaçant hl0dwig par ton nom d'user :
ssh hl0dwig@192.168.1.14
- Entre "yes" à la question posée, puis ton mot de passe;
Si tout va bien maintenant tu as pris le contrôle de ton serveur depuis ton ordinateur.

La suite Nextcloud nécessite tout un environnement pour fonctionner. Un serveur web, une base de données, des outils... on ne va pas s'amuser à installer et configurer tout ça à la main. On va utiliser ce qu'on appelle une image Docker, toute prête, qui sera vraiment très pratique pour configurer notre Nextcloud et avoir une installation clef en main en un rien de temps. Pour se faire on va d'abord commencer par installer Docker.
Il faut lancer une suite de commandes qui va ajouter un répertoire officiel de Docker dans notre système puis lancer l'installation de Docker. Entre une par une les commandes suivantes:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Appuie sur "Y" à cette étape pour lancer l'installation des outils de Docker. Pour vérifier que tout s'est bien passé tu peux lancer cette commande :
sudo docker run hello-world

Maintenant on passe enfin à Nextcloud ! La magie va arriver 🌟
- Entre cette méga dernière ligne de commande dans ton terminal :
sudo docker run \
--init \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 80:80 \
--publish 8080:8080 \
--publish 8443:8443 \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
nextcloud/all-in-one:latest
- Une fois que Docker aura récupéré, installé, configuré une image Nextcloud pour toi, tu peux maintenant fermer ta fenêtre de terminal, et te connecter à l'interface web depuis ton navigateur en entrant cette adresse, bien sûr tu remplaces l'IP par la tienne: https://192.168.1.14:8080
- Ton navigateur va t'alerter du fais que ce serveur est à risque... mais aucun risque c'est le tiens, on n'a juste pas fini de le configurer. Clique sur "Advanced" puis "Accept the Risk and Continue";

- Te voilà sur ton interface de configuration Nextcloud. Attention ici copie-colle la "Passphrase" donnée par l'interface, c'est super important on va en avoir besoin. Moi je la garde précieusement dans un gestionnaire de mot de passe.

- Clique sur "Open Nextcloud AIO login";
- Colle la passphrase et clique sur login;

Maintenant Nextcloud va configurer tout ce qu'il faut pour que ton domaine soit bien certifié ! Dans la nouvelle fenêtre il suffit d'entrer "nextcloud.hl0dwig.fr" et cliquer sur "Submit domain". C'est là que la magie commence 🪄

En un clin d'oeil, ton serveur a réussi à faire le lien entre ton nom de domaine acheté et configuré chez OVH et ta Livebox ! Il a réussi à atteindre ton serveur, et donc à vérifier que le domaine est bien le tiens. Bravo tu viens d'obtenir sans le voir un certificat de nom de domaine, ta connexion avec ton serveur sera sécurisée en HTTPS 🪄
Dans la prochaine fenêtre je te conseille de :
- Cocher Collabora (Nextcloud Office)
- Cocher Imaginary
- Décocher tout le reste
- Cliquer sur "Save changes"
Vérifie plus bas que la timezone est bien "Europe/Paris" et tu peux enfin remonter en haut de la fenêtre et clique sur "Download and start containers" 🪄



Une fois que Nextcloud aura téléchargé tout le nécessaire, il va lancer les différents services pour toi. Tu seras sur une interface avec des voyants jaunes et verts. Sois patient, attends environ une ou deux minutes, et clique sur "Reload" pour voir si tout est vert.

Lorsque l'instance sera prête, tu pourras enfin voir ton premier username et mot de passe initial pour te connecter à ton Nextcloud. Copie le mot de passe et clique sur "Open your Nextcloud" 🪄

Tu peux enfin de connecter à ton propre cloud à la maison, depuis n'importe où, à partir du moment où tu as un accès à internet. Cours te connecter, et va changer ton mot de passe par défaut. Tu connais ton adresse qui ressemble à : https://nextcloud.hl0dwig.fr

- Une fois connecté, clique sur le logo de ton user en haut à droite, puis sur "Paramètres personnels";
- Puis clique sur "Sécurité";
- Entre ton mot de passe donné par Nextcloud, entre un nouveau mot de passe ultra secure;
- Clique sur "Changer de mot de passe";


C'est la fin de ce guide ! BRAVO !
Et surtout merci d'avoir lu cette page jusqu'au bout, j'imagine que vous ne serez pas nombreux 🤪
Bonus
Protéger son serveur des surtensions et coupures électriques
Comme je le disais plus haut, on peut perdre des données à cause de problèmes électriques. C'est jamais vraiment bon pour notre serveur d'être éteint brusquement. Donc je conseille évidemment d'investir dans un onduleur sur batterie comme le miens, de le brancher via USB au serveur, et de se lancer dans une configuration simple qui permettra d'éteindre notre machine automatiquement en cas de pépin prolongé. Dès lors que la batterie de l'onduleur sera trop basse, le serveur s'éteindra tout seul et les données seront en sécurité 👌
- On ouvre un terminal et on prend le contrôle à distance de son serveur
ssh hl0dwig@192.168.1.14
- On tape la commande suivante pour s'assurer que le serveur a bien trouvé l'onduleur
lsusb
- Voici ma sortie ci-dessous, et je vois que mon onduleur est bien présent :
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 1462:7c95 Micro Star International MYSTIC LIGHT
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 002: ID 0463:ffff MGE UPS Systems UPS
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- On installe un utilitaire pour piloter l'engin :
sudo apt install apcupsd
- Maintenant on va configurer l'outil. Pour se faire on va d'abord copier / coller le fichier de configuration initial pour en garder une copie au cas où, puis modifier le fichier de façon à appliquer la configuration voulue :
sudo cp /etc/apcupsd/apcupsd.conf /etc/apcupsd/apcupsd.conf.bak
sudo nano /etc/apcupsd/apcupsd.conf
Bienvenue dans mon éditeur de fichier préféré dans la console ! Il est simple à utiliser, surtout pour ce dont on a besoin. Toutes les lignes qui débutent par # sont des commentaires. On peut se déplacer dans le fichier avec les flèches du clavier. Il suffit d'aller sur les lignes blanches, non commentées, et modifier comme moi. Je dis simplement quelle ligne modifier, son état précédent, son nouvel état, et je mets des captures. Il n'y a que 4 lignes à modifier comme suit :
DEVICE /dev/ttys0
DEVICE
#POLLTIME 60
POLLTIME 60
BATTERYLEVEL 5
BATTERYLEVEL 10
MINUTES 3
MINUTES 5



- Une fois qu'on a terminé, pour quitter l'éditeur et sauvegarder nos modifications on appuie sur "CTRL + X" puis "Y" puis "Entrée"
Maintenant on va tester que ça fonctionne bien, pour se faire on va éteindre l'utilitaire. Lancer un test. Et redémarrer l'utilitaire.
- On tape les deux commandes suivantes :
sudo systemctl stop apcupsd
sudo apctest
On va voir apparaître un menu comme ci-dessous avec un mot magique "SUCCESS".

- L'utilitaire ne sait pas trop faire toutes ses opérations sur mon onduleur, mais peu importe on s'est juste assuré que la communication entre l'onduleur et le serveur fonctionne. On entre "Q" puis "Entrée"
- Maintenant on va relancer l'utilitaire en tâche de fond puis lui faire afficher le statut réel de l'onduleur en entrant les deux commandes suivantes :
sudo systemctl start apcupsd
sudo apcaccess
Et voilà ! Ci-dessous le dernier statut de mon onduleur, on voit bien que ça fonctionne, je vois le pourcentage de la batterie à 100%, je vois aussi l'estimation du temps pendant lequel la batterie pourrait alimenter mon serveur en cas de coupure électrique : 40 minutes. Dans tous les cas, si jamais il y a une coupure, maintenant notre serveur vérifiera toutes les 60 secondes l'état de l'onduleur et s'éteindra proprement tout seul comme un grand dès lors que soit il restera 10% de batterie soit 5 minutes de temps restant estimé :

Sauvegarder ses données
Nextcloud permet de sauvegarder ses données au choix, localement, sur un disque dur externe par exemple, ou bien sur un serveur distant. On ne peut pas faire faire les deux, et une fois qu'on a choisi une méthode de sauvegarde il n'est pas possible d'en changer (ou très difficilement). Donc je conseille d'abord de bien lire les étapes pour les 2 méthodes ci-dessous et de bien faire son choix, avant de se lancer !
Sauvegarder localement ses données
En cas de pépin, c'est important de disposer d'une sauvegarde sous la main ! Et ça tombe bien Nextcloud dispose d'un outil de sauvegarde automatisé.
Dans un premier temps on va s'occuper de faire une sauvegarde locale, dans mon exemple avec un disque externe que je branche en USB à ma machine. On va s'atteler à le formater, puis configurer notre Nextcloud pour qu'il est accès au disque et lui donner l'ordre de faire des sauvegardes dessus. Bien sûr il est recommandé de dédié le disque uniquement à ce usage.
Le disque est branché, je tape la commande suivante pour le retrouver :
sudo fdisk -l
Qui permet de lister tous mes disques :

- /dev/sdb est un disque présent dans ma machine que je n'utilise pas;
- /dev/sda est mon SSD M2 sur lequel le système est installé;
- /dev/sdc est mon disque branché en USB, je vois qu'il avait été formaté dans un format compatible Windows;
On lance l'utilitaire sur le disque identifié :
sudo fdisk /dev/sdc
Qui affiche maintenant l'interface de fdisk :
- Je fais "p" puis "Entrée" pour relister les partitions du disque;
- Je fais "d" puis "Entrée" pour supprimer la partition;
- Je fais "n" puis "Entrée" pour recréer une nouvelle partition;
- Je fais "p" puis "Entrée" pour en créer une primaire;
- Je fais "1" puis "Entrée" pour lui donner un numéro;
- Je fais 2 fois "Entrée" pour prendre les valeurs par défaut à propos des secteurs;
- Je fais "Y" puis "Entrée" pour supprimer la signature vfat;
- Je fais "w" puis "Entrée" pour appliquer les changements sur le disque;

La partition est créée ! Je vérifie :
sudo fdisk -l
Et je vois bien :
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 500118191 500116144 238.5G 83 Linux
Je formate la partition et la nomme "backup" avec la commande suivante :
sudo mkfs.ext4 -L backup /dev/sdc1
Je crée un point de montage et monte la partition :
sudo mkdir /mnt/backup
sudo mount /dev/sdc1 /mnt/backup
Voilà, maintenant mon disque est prêt à être utilisé.
- On part sur l'interface d'administration via https://192.168.1.14:8080/containers
- Dans la section Backup & Restore on entre le chemin vers notre point de montage "/mnt/backup" dans le champs "Local backup location"

- On clique sur "Submit backup location"
- On sauvegarde quelque part précieusement la clef de protection !

- Puis on clique sur "Create backup" et "Ok"

Nextcloud va arrêter les containers, réaliser la première sauvegarde sur le disque puis relancer les containers tout seul comme un grand.

En cliquant sur "Reload" à un moment donné tout sera terminé, on pourra voir que la première sauvegarde a bien été réalisée :

C'est terminé ! 👍
On peut cliquer sur "Click here to reveal..." et vérifier comment les sauvegardes sont configurées ; à quelle heure ça sera effectué ; faire une vérification de l'état des sauvegardes ; récupérer une version sauvegardée ; et voir si cela nous convient. La configuration par défaut est pas mal :

Sauvegarder ses données ailleurs
Et si la maison prend feu 🔥 on perd tout ? C'est un des risques couverts par les solutions "cloud" de nos chers GAFAM & co. Rien ne nous empêche de créer notre propre espace en ligne pour avoir une copie sécurisée ailleurs que chez nous : il suffit de louer un VPS, de le configurer, d'installer l'outil de sauvegarde "borg" et d'indiquer à notre Nextcloud où envoyer notre copie sécurisée !
Grâce à ce 3ème bonus, on aura donc réussi à obtenir une jolie petite architecture personnelle qui ressemble à ce schéma :

On commence par louer un VPS toujours chez OVHCloud, ou son partenaire préféré :

Au moment de l'écriture de cet article, seuls les solutions Intel sont encore disponibles. On n'a pas besoin d'une bête de course, ce qui compte c'est l'espace disque. Par exemple mon Nextcloud à la maison occupe environ 70Go. Alors la solution nommée "Essential" suffit pour l'instant.

- On clique sur "Configurer"
- On clique sur "Modifier" pour choisir le bon espace disque, je prends 80Go
- Ensuite, "Distribution uniquement"
- "Debian 12 "
- Emplacement "Europe France Strasbourg"
- On fait "Suivant" et on ne prend aucune option. On ne va pas sauvegarder une nouvelle fois de la sauvegarde 🤪
- Comme d'habitude je prends "Sans abonnement"
- Et on finit par payer la première mensualité
Une fois que la commande est terminée, on reçoit un email qui indique l'adresse IP de notre VPS distant ainsi qu'un lien pour récupérer le mot de passe initial.
On ouvre un terminal et on va prendre le contrôle à distance du VPS. Afin de limiter son accès à uniquement notre machine, et interdire l'accès avec un mot de passe, on va créer une clef unique sans laquelle il sera impossible d'accéder à notre VPS.
On génère depuis notre machine une clef :
ssh-keygen
Et on lui associe une passphrase à retenir du genre brodie-sawyer-niagara-jayne-mettras
On envoie cette clef à notre VPS (en replaçant l'IP par celle reçue par email, et en utilisant le mot de passe donné par le lien du mail) :
ssh-copy-id debian@79.137.37.21
On se connecte à notre VPS :
ssh debian@79.137.37.21
On entre notre passphrase.
On change le mot de passe avec cette commande et idem on innove sur le nouveau mot de passe genre crade-teste-lois-apprends-palper :
passwd
Et on va interdire la connexion avec un mot de passe en modifiant le fichier de configuration de ssh du VPS :
sudo nano /etc/ssh/sshd_config.d/50-cloud-init.conf
Il suffit de changer "PasswordAuthentication yes" en "PasswordAuthentication no". On fait "ctrl + x" puis "Entrée" pour sauvegarder et quitter. Puis on relance les process ssh :
sudo systemctl restart ssh*
Maintenant plus personne ne peut accéder à notre VPS. Seule notre machine avec notre clef peut s'y connecter 👌
On installe l'outil de sauvegarde :
sudo apt install borgbackup
On repart dans l'interface d'administration de notre Nextcloud https://192.168.1.14:8080/containers et cette fois-ci on entre le chemin vers notre VPS dans le champs "Remote borg repo" :
ssh://debian@79.137.37.21:22/home/debian/backup

On clique sur "Submit backup location". Puis plus bas sur "Create backup". La première tentative va échouer, car Nextcloud va créer sa propre clef lui aussi pour se connecter au VPS. On va devoir la déclarer. En cliquant sur "Reload", Nextcloud va afficher une clef à la suite du message "You may still need to authorize this pubkey on your borg remote". On copie la clef en gras, qui commence par "ssh" et qui inclue la partie avec "root" quelque chose.

Puis on repart dans le terminal toujours connecté au VPS et on va coller la clef dans le bon fichier qu'on peut éditer en entrant cette commande :
nano ~/.ssh/authorized_keys
On va y trouver une première ligne qui correspond à la clef de notre machine. On passe à la ligne et on colle la clef récupérée. On fait "ctrl + x" puis "Entrée" pour sauvegarder et quitter.
Maintenant, de retour dans l'interface d'administration de Nextcloud, il est possible de nouveau de lancer la création de la sauvegarde, en remplissant de nouveau le champs "Remote borg repo", en cliquant sur "Set backup location again" et enfin sur "Create backup".
Et cette fois-ci cela prendra du temps mais à la fin on devrait avoir réussi à faire notre première sauvegarde et configurer à notre guise son lancement quotidien à heure fixe !

Comme indiqué plus haut dans la find de la partie "Sauvegarder localement ses données" il sera maintenant possible de vérifier les sauvegardes et de paramétrer l'outil à sa guise !
FIN ✌️