Potion Bottle Icon Manuel d'alchimie du code Potion Bottle Icon

Nextcloud — Installation, extensions et applications mobiles

- 1,044 mots - Temps de lecture estimé: 6 minutes


Sun Face IconComment installer Nextcloud sur une machine virtuelle avec VirtualBox, le configurer avec Elasticsearch et sécuriser l’accès avec 2FA ?Sun Face Icon


Ce guide te montre pas à pas comment créer une VM Debian avec VirtualBox, installer YunoHost et Nextcloud, ajouter Elasticsearch pour la recherche plein texte, configurer l’authentification à deux facteurs avec TOTP, et installer les applications mobiles.

🌘 Nextcloud

Nextcloud est une plateforme libre de stockage et de collaboration. Elle te permet d’héberger tes fichiers, calendriers, contacts, et bien plus sur ton propre serveur plutôt que chez un fournisseur infonuagique commercial.

Dans le cadre d’une présentation pour LinuQ, j’ai préparé un guide complet pour installer Nextcloud sur une machine virtuelle VirtualBox avec Debian et YunoHost. Voici le résultat.

🌘 Création de la machine virtuelle avec VirtualBox

On commence par télécharger Debian 10 net install.

Conseil : valide la signature sha512sum de l’image téléchargée.

wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/SHA512SUMS
sha512sum -c SHA512SUMS --ignore-missing

Ouvre VirtualBox et crée une nouvelle machine virtuelle de type Linux et version Debian (64-bit).

Accueil de VirtualBox

🌘 Configuration de la VM

Configuration mémoire
Configuration processeurs
Redirection de port SSH

Sélectionne l’image ISO de Debian 10 et démarre l’installation.

Sélection de l'ISO

🌘 Installation de Debian

Choisis l’option « install » (sans interface graphique) et suis les étapes :

Installation de Debian

Pour le miroir, choisis le pays le plus proche géographiquement. Laisse le champ du mandataire vide. À l’invite popularity-contest, réponds « Non ». Décoche toutes les sélections logicielles — YunoHost s’occupe du reste.

Installe le système d’amorçage sur /dev/sda et termine. La VM redémarre.

🌘 Connexion SSH à la machine virtuelle

ssh -p 3022 demo@localhost

Puis passe en root :

su -

Mot de passe : nextcloud.

Connexion SSH

Note : utilise screen pour les commandes longues (apt install -y screen).

🌘 Installation de YunoHost

YunoHost est une surcouche pour Debian qui simplifie l’autohébergement. Exécute en tant que root :

apt install -y curl
curl https://install.yunohost.org | bash

Début d'installation YunoHost

Laisse YunoHost gérer SSH, puis effectue la postinstallation :

Crée un premier utilisateur :

yunohost user create utilisateur

🌘 Accès réseau en mode pont

Passe la VM en mode pont pour qu’elle ait sa propre adresse IP. Redémarre la VM.

Configuration réseau en pont

Fige l’adresse IP dans la configuration DHCP de ton routeur.

Ajoute cette entrée dans le fichier hosts de ta machine hôte :

192.168.0.151 nextcloud.local

(L’adapter selon l’IP de ta VM)

Connecte-toi à https://nextcloud.local et accepte le risque du certificat auto-signé.

Connexion YunoHost

🌘 Installation de Nextcloud

En SSH sur le serveur (via le domaine cette fois-ci) :

ssh -p 22 admin@nextcloud.local
sudo yunohost app install nextcloud

Conserve les paramètres par défaut :

Domain: nextcloud.local
Path: /nextcloud
Admin user: utilisateur
Access users home folder: no

Valide l’installation en ouvrant https://nextcloud.local/nextcloud dans ton navigateur.

Interface Nextcloud

🌘 Recherche plein texte avec Elasticsearch

Nextcloud peut être enrichi avec un moteur de recherche plein texte via Elasticsearch.

🌘 Installation d’Elasticsearch

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https openjdk-11-jre-headless
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
sudo apt-get update && sudo apt-get install elasticsearch
sudo systemctl enable elasticsearch.service
/usr/share/elasticsearch/bin/elasticsearch-plugin install --batch ingest-attachment
sudo systemctl restart elasticsearch.service

🌘 Installation des applications Nextcloud

Dans https://nextcloud.local/nextcloud/settings/apps, section Rechercher, installe et active les trois applications suivantes :

Applications de recherche plein texte

Dans les paramètres, configure Elasticsearch :

Configuration Elasticsearch

🌘 Initialisation de l’index

cd /var/www/nextcloud
chmod a+x occ
sudo -u nextcloud php ./occ fulltextsearch:index

🌘 Indexation en continu

Crée un service systemd pour l’indexation en continu.

sudo nano /etc/systemd/system/nextcloud-fulltext-elasticsearch-worker.service

Contenu du fichier :

[Unit]
Description=Elasticsearch Worker for Nextcloud Fulltext Search
After=network.target

[Service]
User=nextcloud
Group=nextcloud
WorkingDirectory=/var/www/nextcloud
ExecStart=/usr/bin/php /var/www/nextcloud/occ fulltextsearch:live -q
ExecStop=/usr/bin/php /var/www/nextcloud/occ fulltextsearch:stop
Nice=19
Restart=always

[Install]
WantedBy=multi-user.target

Active et démarre le service :

systemctl daemon-reload
systemctl enable nextcloud-fulltext-elasticsearch-worker.service
systemctl start nextcloud-fulltext-elasticsearch-worker.service
systemctl status nextcloud-fulltext-elasticsearch-worker.service

Service d'indexation en continu

🌘 Installation des applications Nextcloud

Accède au tableau des applications depuis le menu de Nextcloud.

Menu Applications

Le tableau te montre les applications installées, celles qui sont activées ou non, les mises à jour disponibles et le catalogue d’applications par catégorie.

Tableau des applications

Tu peux mettre à jour les applications individuellement ou en lot.

Mise à jour des applications

🌘 Administration — Création d’utilisateurs

Les comptes se gèrent dans le tableau Utilisateurs, accessible depuis le menu de droite.

Menu Utilisateurs

Pour ajouter un utilisateur, utilise le bouton à gauche.

Ajout d'utilisateur

🌘 Authentification à deux facteurs (2FA / TOTP)

Pour renforcer la sécurité, installe l’application Two-Factor TOTP Provider depuis le tableau des applications.

Application Two-Factor TOTP Provider

Active la fonctionnalité dans le panneau Sécurité du volet Administration du tableau Paramètres.

Menu Paramètres
Option pour imposer le 2FA

🌘 Configuration par l’utilisateur

Lors de la première connexion, l’utilisateur doit configurer son TOTP.

Sur son appareil mobile, il ouvre une application de gestion de jetons TOTP. Dans cet exemple, il s’agit de FreeOTP+.

Invite de création 2FA
Accueil FreeOTP+

Il prend en photo le code QR affiché à l’écran.

Prise de photo du QR

Puis il saisit le code généré par l’application.

Code TOTP généré

Ensuite, il sélectionne le mode d’authentification configurée et entre le nouveau code.

Première connexion avec 2FA

🌘 Client de bureau

Le client lourd pour les environnements de bureau est disponible sur la page Clients du site de Nextcloud. Les versions Windows et macOS sont des installations régulières. La version GNU/Linux par défaut est une AppImage.

Astuce : tu peux aussi installer l’application via le gestionnaire de paquets de ta distribution.

Distributions basées RPM : déjà dans le magasin d’applications.
Ubuntu PPA :

add-apt-repository ppa:nextcloud-devs/client
apt-get update

Arch Linux :

pacman -Syu nextcloud-client

Alpine :

apk add nextcloud-client

🌘 Applications Android

Le client Android principal est disponible directement depuis la page Applications de Nextcloud, section Intégration : Nextcloud pour Android.

Tu peux aussi l’installer depuis F-Droid pour éviter les services Google.

🌘 Conclusion

Tu as maintenant un serveur Nextcloud complet : installation sur machine virtuelle VirtualBox via YunoHost, recherche plein texte avec Elasticsearch, authentification à deux facteurs, et clients mobiles. Une excellente façon de reprendre le contrôle de tes données et de découvrir l’autohébergement.

Ce guide a été préparé pour une présentation de LinuQ, le groupe d’utilisateurs de logiciels libres de Québec. Si tu souhaites partager ton expérience, poser des questions ou proposer des améliorations, n’hésite pas à ouvrir une discussion sur le dépôt GitHub ou à venir nous rejoindre à une rencontre de LinuQ.

Abonne-toi au fil RSS pour ne rien manquer.

Étiquettes