Comment installer NextCloud sur Raspberry Pi ? (cloud perso)


Si vous voulez protéger vos données, et ne pas passer par quelqu’un d’autre pour cela, NextCloud est une très bonne application à essayer
Dans cet article, je vous montrerai ce qu’est NextCloud et comment l’installer sur un Raspberry Pi

Comment installer NextCloud sur Raspberry Pi ?
Nextcloud est une application web, donc il est possible de l’installer sur n’importe quel système
Sur Raspberry Pi vous avez deux méthodes possibles :
– Soit installer NextCloudPi, une image modifiée de Raspbian qui inclue déjà tout ce qu’il faut
– Soit installer NextCloud sur Raspbian, en gardant votre installation actuelle

Après une brève introduction sur les fonctionnalités de NextCloud, je vous donnerai un guide d’installation étape par étape pour les deux méthodes
Comme cela, vous choisirez ce qui vous convient le mieux
Et pour finir, je vous donnerai quelques astuces pour bien démarrer avec NextCloud

Introduction à NextCloud

Qu’est-ce que NextCloud ?

Vous connaissez sans doute Dropbox et Google Drive
En gros, l’objectif de NextCloud est de proposer la même chose, mais en gardant le contrôle sur les données, sur votre propre serveur
Et c’est gratuit !

Vous pouvez aussi avoir entendu parler de OwnCloud, c’est la même chose (c’est même le même développeur principal)
Vous pouvez installer NextCloud sur de nombreuses plateformes, dont Linux et bien sur le Raspberry Pi

Les fonctionnalités

NextCloud propose de nombreuses fonctionnalités disponibles dès l’installation :

  • Fonctions principales :
    • Hébergement de fichiers
    • Gestionnaire d’images
    • Contacts
    • Agenda
    • Notes
    • Gestionnaire de tâches
    • Lecteur de flux d’actualité
  • Des clients mobiles et bureau pour une synchronisation automatique
  • Des intégrations sont possibles avec d’autres applications (calendrier, email, LDAP)
  • Gestion des utilisateurs et de leurs permissions
  • HTTPS et chiffrage des données coté serveur

C’est déjà de très bonnes choses, mais cela ne s’arrête pas la !
Il est possible de télécharger et d’installer des extensions pour ajouter de nouvelles fonctionnalités proposées par la communauté

Par exemple, j’utilise l’extension « Passwords » pour stocker mes mots de passe en sécurité sur mon réseau
Pour voir la liste des applications disponibles, rendez-vous dès maintenant sur l’App Store iciOpens in a new tab.

La technologie derrière NextCloud

Comme de nombreuses applications opensource ces derniers temps, le code de NextCloud est disponible sur GitHubOpens in a new tab.
Ils utilisent des langages web comme PHP et JavaScript, donc cela fonctionne sur n’importe quel appareil

Sur le site officiel, vous trouverez aussi des versions spécifiques : une machine virtuelle, une image Docker ou encore un paquet Snap

Pour Raspberry Pi, on utilisera le code source et aussi l’image NextCloudPi, une image de Raspbian qui facilite l’utilisation de NextCloud
Docker peut aussi être une solution si vous voulez tester (docker pull NextCloud), je n’ai pas fait le test

Installation de NextCloud

Version simple : NextCloudPi

Qu’est-ce que NextCloudPi ?

NextCloudPi est donc une image custom de Raspbian Lite, avec NextCloud et toutes les dépendances déjà installées
Donc c’est vraiment simple avec NextCloudPi

Vous pouvez jeter un œil au site de NextCloudPiOpens in a new tab. ici pour plus d’information
C’est la méthode parfaite si vous voulez essayer NextCloud ou si vous souhaitez dédier un Raspberry Pi pour ce rôle

Vous pourrez toujours installer d’autres choses par la suite, vu que la base reste du Raspbian

Téléchargement de l’image

La première chose à faire est de télécharger la dernière image de NextCloudPi pour l’installation :

  • Téléchargez la version pour Raspberry Pi depuis le serveur OwnYourBitsOpens in a new tab.
    Il existe deux versions, l’une normale et l’autre pour BerryBoot
    Le lien donné est pour la version normale, remontez d’un dossier si vous préférez l’autre
  • Téléchargez l’image disponible sur votre ordinateur (exemple : NextCloudPi_RPi_03-28-20.tar.bz2)
  • Extraire l’image de l’archive
    Cela dépendra de votre système d’exploitation, mais surement quelque chose comme Clic droit > Extraire ici
    Sur Windows, les logiciels WinRAR ou 7zip feront cela très bien

Préparation de la carte SD

Passons maintenant à la préparation de la carte SD avec l’image téléchargée :

  • Si vous ne l’avez pas encore, commencez par télécharger et installer EtcherOpens in a new tab.
    Il s’agit d’un outil gratuit pour créer facilement vos cartes SD, quel que soit votre système d’exploitation
  • Démarrez Etcher, une fenêtre comme celle-ci apparait :
  • Cliquez sur le premier bouton et allez chercher l’image téléchargée
  • Insérez ensuite votre carte SD dans votre ordinateur (généralement Etcher va la sélectionner automatiquement)
  • Puis cliquez sur « Flash! » pour lancer la création de la carte SD
  • Après quelques minutes, votre carte SD sera prête à l’emploi

Premier démarrage

Insérez la carte SD dans le Raspberry Pi et allumez-le
Après quelques secondes, vous obtiendrez l’écran de login suivant :

Utilisez les identifiants habituels sur Raspbian :

  • Utilisateur : pi
  • Mot de passe : raspberry

Il faudra ensuite configurer le réseau :

  • Ethernet : cela fonctionnera directement si vous avez un serveur DHCP sur le réseau
  • Wi-Fi : Il faudra utiliser raspi-config pour le configurer :
    sudo raspi-config
    Allez ensuite dans Networking options > Wi-Fi et suivez l’assistant

Pour finir, je vous recommande de démarrer le service SSH et de l’utiliser pour la suite du tutoriel :

  • Démarrez le service SSH
    sudo service ssh start
  • Trouvez l’adresse IP du Raspberry Pi
    ifconfig
    Suivez ce guide Opens in a new tab.si vous ne savez pas de quoi je parle
  • Connectez-vous en SSH
    Sur Windows, vous aurez besoin d’un logiciel comme PuttyOpens in a new tab.
    Sur Linux et Mac, c’est disponible directement avec la commande :
    ssh pi@IP
    Identifiez-vous comme vu précédemment

Mise à jour du système

À partir de la, je vous conseille de démarrer par une mise à jour du système
Ce n’est pas obligatoire si vous faites juste un test rapide de NextCloudPi, mais vu que c’est une image qui a été modifiée pour NextCloud, le système de base peut dater un peu

Pour faire cela, voici les commandes à taper :
sudo apt update
sudo apt upgrade
sudo reboot

Vous pouvez maintenant passer à la configuration de NextCloud

Configuration de NextCloud

Interface web

NextCloudPi est disponible avec une interface web que vous pouvez utiliser pour la configuration
Je vais vous montrer comment l’activer, mais sinon la configuration via les menus textes marchent tout aussi bien

  • Lancer la configuration de NextCloudPi
    sudo ncp-config
  • Cliquez sur « CONFIG »
  • Faites défiler jusqu’à « Enable WebUI » et appuyez sur Entrée
  • Confirmez en écrivant « yes » dans la fenêtre de confirmation :
  • Quittez l’assistant de configuration

Apache redémarre et l’interface web est normalement disponible à l’adresse : https://IP:4443
C’est juste l’adresse pour la configuration de NextCloudPi, ce n’est pas encore NextCloud

Activation de NextCloud

  • Ouvrez l’URL indiquée précédemment dans votre navigateur
  • Vous aurez une erreur HTTPS, vous pouvez l’ignorer pour l’instant
    Vous pourrez installer un certificat type Let’s Encrypt par la suite si vous voulez
  • Un formulaire de connexion apparait
    Entrez les identifiants par défaut :
    • Login : ncp
    • Mot de passe : ownyourbits
  • Vous allez maintenant voir la page d’activation, qui ressemble à cela :
  • Les deux noms d’utilisateurs sont « ncp » mais il faut noter les mots de passe pour les prochaines étapes
    Le premier est celui pour NextCloudPi, qui vous permettra de gérer la configuration
    Et le second est celui de NextCloud, pour accéder à l’outil
  • Cliquez donc sur « Activate »
  • Le processus d’activation démarrer
    Sur mon premier test ça a bien pris 15 min, alors que la deuxième fois c’était instantané
    Donc attendez le temps qu’il faudra, mais j’ai peut-être juste eu un problème la première fois
  • Finalement, vous obtiendrez un message vous confirmant que l’activation s’est bien passée, NextCloud est prêt à être utilisé

Première connexion à NextCloud

Si je me souviens bien, vous serez redirigé vers la page de configuration ncp
Mais vous n’en avez pas besoin pour l’instant
Vous pouvez accéder directement à NextCloud via https://IP

Entrez l’identifiant (ncp) et le deuxième mot de passe que vous avez noté dans l’étape précédente, puis cliquez sur « Log in »

La page principale de NextCloud apparaît dans votre navigateur :

Félicitations ! NextCloud est prêt à être utilisé
Je reviendrais plus tard sur l’utilisation en détail

Mise à jour de NextCloudPi

Une dernière chose à faire avant de commencer à utiliser NextCloud est de mettre à jour NextCloudPi
Sur l’écran de connexion vous avez sans doute eu un message indiquant que NextCloudPi n’est pas à jour
Maintenant que NextCloud est configuré, il est possible de faire cette mise à jour

Voici la commande à utiliser pour cela :
sudo ncp-update

Si vous êtes satisfait de votre installation actuelle, vous pouvez sauter la partie suivante et passer directement à la partie utilisation

Version personnalisée : installation sur Raspbian

Pourquoi l’installer sur Raspbian ?

La seconde méthode est faite pour vous si vous voulez ajouter NextCloud sur une installation Raspbian déjà en place sur votre Raspberry Pi
Avec celle-ci, vous pouvez garder le contrôle sur tous les services (Apache, PHP, version de Raspbian et de NextCloud), et n’êtes donc pas dépendant des développements de NextCloudPi

Aussi, si vous avez déjà une installation Apache/PHP ne place, il sera facile et rapide de tester NextCloud, en mettant les fichiers dans /var/www et de voir ce que ça donne

Installation de Raspbian

Si vous n’avez pas encore Raspbian installé, il faut commencer par la
Je vous redirige vers mon guide complet sur l’installation de Raspbian si vous avez besoin d’aide là-dessus

Mais en gros, il vous faudra :

  • Télécharger Raspbian (Lite devrait suffire)
  • Préparer la carte SD avec Etcher
  • Insérer la carte SD dans le Raspberry Pi puis le démarrer
  • Faire la configuration réseau si nécessaire
  • Mettre à jour le système
  • Activer SSH

Ensuite, vous serez prêt à passer à l’étape suivante

Pré-requis

Avant d’installer NextCloud, il y a quelques pré-requis à installer sur votre système
NextCloud a besoin d’un serveur web complet, avec Apache, PHP et MySQL
Et il aura aussi besoin de quelques modules PHP supplémentaires

Utilisez les commandes suivantes pour tout installer :
sudo apt install apache2 mariadb-server libapache2-mod-php
sudo apt install php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip

Attendez un instant que l’installation se termine, et vous serez prêts à passer à l’installation de NextCloud

Note : Au moment où j’écris ces lignes, la dernière version de NextCloud nécessite une version de PHP plus récente que celle disponible dans les dépôts Raspbian.
J’ai fait le choix de prendre une version de NextCloud un peu plus ancienne afin de contourner le problème, mais il est aussi possible d’installer un PHP compatible depuis les sources si vous voulez absolument la dernière version

Installation de NextCloud

Téléchargement de NextCloud

Commencez par télécharger l’archive de NextCloud et à l’extraire dans le dossier Apache :

  • Rendez-vous dans le dossier Apache :
    cd /var/www/html
  • Récupérez votre archive de NextCloud iciOpens in a new tab.
    Pensez bien à vérifier les pré-requis pour PHP pour être sûr que votre installation est compatible avec les informations indiquées
  • Pour l’exemple, j’ai pris la version 17.0.6 :
    sudo wget https://download.nextcloud.com/server/releases/nextcloud-17.0.6.zip
  • Extraire le fichier avec unzip
    sudo unzip nextcloud-17.0.6.zip
    Je vous montre avec le fichier zip car c’est plus simple à extraire, mais une version .tar.bz2 est également disponible
  • Comme nous avons extrait les fichiers avec sudo, il faut changer les permissions pour permettre à Apache d’accéder aux fichiers :
    sudo chmod 750 nextcloud -R
    sudo chown www-data:www-data nextcloud -R

NextCloud est pratiquement prêt à être utilisé, il nous reste juste à créer la base de donnée MySQL pour stocker les données

Configuration de MySQL

Après l’installation du serveur MariaDB, un utilisateur root local est créé, mais il n’est utilisable que depuis la ligne de commande
Pour NextCloud, nous allons donc créer un utilisateur dédié, dans une base spécifique :

  • Connectez-vous à la console MySQL en tant que root
    sudo mysql
  • Créez un nouvel utilisateur
    CREATE USER nextcloud IDENTIFIED BY 'mdp';
    Remplacez ‘mdp’ par un mot de passe compliqué
  • Créez la base de donnée
    CREATE DATABASE nextcloud;
  • Donnez toutes les permissions au nouvel utilisateur de cette base :
    GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@localhost IDENTIFIED BY ‘mdp’;
    Même chose ici, remplacez juste « mdp » par le mot de passe utilisé précédemment
  • Sauvegardez et quittez
    FLUSH PRIVILEGES;
    quit

La base est prête pour la fin de l’installation de NextCloud

Note : Si vous avez des problèmes avec ces commandes MySQL, cela vient probablement des apostrophes, mon éditeur ne me laisse pas utiliser les bonnes 🙂
Il faut sans doute remplacer ‘ par ` dans ce cas

Configuration

Vous pouvez maintenant accéder à la page de configuration de NextCloud et terminer l’installation

  • Ouvrez l’adresse suivante dans votre navigateur : https://IP/nextcloud
    Remplacez « IP » par l’adresse IP de votre Raspberry Pi
  • Un formulaire comme celui-ci va apparaître :

    Indiquez un nom d’utilisateur et un mot de passe dédié à NextCloud
  • La seconde partie concerne l’accès à la base de donnée :

    Utilisez les informations que vous venez de définir lors de la partie configuration de MySQL
  • Puis cliquez sur « Finish Setup » et patientez quelques instants

Vous serez redirigé directement vers la page d’accueil de NextCloud
Cela est très similaire à celle que je vous ai montrée pour NextCloudPi, mais il y a un peu moins d’applications activées par défaut

Dans le menu principal vous trouverez uniquement les applications suivantes :

Toutes les autres pourront être activées depuis le gestionnaire d’applications dans l’administration (Calendrier, Contacts, etc.)

Utilisation de Nextcloud

Dans cette partie, je vais vous donner un peu plus de détails à propos de l’interface Nextcloud
Cela vous facilitera la prise en main, et vous aurez une bonne vue globale des possibilités

Interface web

L’interface principale est intuitive, et vous trouverez sans doute facilement ce que vous cherchez

Comme je l’ai déjà dit, NextCloud est basé sur des « Apps » pour fournir plus ou moins de fonctionnalités, de la même manière que sur votre téléphone
Chaque application possède un design particulier, avec un menu latéral ou non et plus ou moins de sous-parties, tout dépend du but de l’application

Dans la suite de l’article, je vais vous présenter les trois sous-menus principaux de la partie administration
Pour y accéder, cliquez sur l’icône tout à droite de la barre du haut (c’est l’icône de votre avatar, sans doute la première lettre du nom d’utilisateur)
Dans le menu, vous verrez 3 éléments principaux :

  • Paramètres : Pour tout configurer sur NextCloud, de votre profil personnel à la configuration du serveur
  • Apps : Pour voir les applications déjà installées, en retirer ou en installer de nouvelles
  • Utilisateurs : NextCloud permet la gestion de plusieurs utilisateurs, avec un espace de stockage dédié (les membres de votre famille, ou les employés d’une société par exemple)

Je vais maintenant rentrer un peu plus dans le détail sur ces 3 parties

Paramètres

Dans le sous-menu des paramètres, vous pouvez configurer plein de choses. Elles sont réparties en deux catégories :

  • Configuration personnelle : cela concerne uniquement votre compte, c’est-à-dire votre profil, vos options de sécurité, votre thème, etc.
  • Administration : avec un accès administrateur, vous pouvez bien sur configurer tout ce qui touche au serveur, c’est-à-dire les notifications mails, le cryptage, l’apparence globale (avec le logo de la société par exemple), etc.

Pour chaque sous-catégorie, vous aurez une interface intuitive, contenant souvent une brève explication de la page
Donc vous ne devriez pas avoir besoin de plus d’infos de ma part
Si vous avez toutefois des questions, je vous invite à jeter un œil au guide administrateur de NextCloudOpens in a new tab.

Applications

Le second menu est plus intéressant, puisqu’il s’agit du catalogue d’applications
Dans la section « Vos applications », vous pouvez voir en quelques clics les applications utilisées et celles installées mais non activées

Puis, juste en dessous, la liste des applications non installées, mais disponibles dans le catalogue
Elles sont rangées par catégorie : Personnalisation, Fichiers, Jeux, Intégrations…

Pour chaque application, vous pouvez voir directement s’il s’agit d’une application officielle, et l’installer par un simple clique sur le bouton de téléchargement
En général, l’application apparaitre immédiatement dans la barre de NextCloud

Utilisateurs

Finalement, la dernière partie concerne les utilisateurs et les groupes sur NextCloud
Sur la page des utilisateurs vous pouvez créer autant d’utilisateurs et de groupes que nécessaire, et décider s’il s’agit d’un administrateur ou non

Les groupes sont utiles pour certaines applications
Par exemple, vous pouvez partager des dossiers avec certains groupes uniquement

Il est aussi possible d’importer les utilisateurs depuis un serveur LDAP ou les utilisateurs d’un serveur Linux
Il vous faudra dans ce cas les applications correspondantes

Applications pour votre ordinateur

L’interface web n’est pas la seule manière d’utiliser Nextcloud

Sur le site officiel, vous trouverez le logiciel de NextCloud pour votre ordinateurOpens in a new tab.
C’est disponible sur Windows, Linux et macOS

Le but de cette application est de synchroniser vos fichiers avec NextCloud automatiquement (de la même manière que Dropbox par exemple)

Pendant l’installation, l’adresse IP du serveur vous sera demandée (http://IP/nextcloud ou http://IP pour NextCloudPi)
Connectez-vous ensuite sur votre compte et autorisez l’accès
Vous pourrez ensuite configurer la manière de synchroniser les fichiers :

La première synchronisation va ensuite démarrer, et vous garderez l’icône Nextcloud accessible à tout moment à côté de l’heure
Dès que vous ajouterez un nouveau fichier dans ce dossier, NextCloud le synchronisera avec le serveur directement

Applications mobiles

La même chose est disponible sur votre smartphone (Android et iOS)
Cela vous donne accès à un accès à NextCloud bien pratique depuis votre mobile
Voici la vidéo proposée par NextCloud à ce sujet :

Accès distant

Vu que c’est supposé être un serveur cloud, vous aurez probablement envie de faire une redirection de port sur votre box Internet afin de rendre votre serveur NextCloud accessible de n’importe où

C’est possible si vous utilisez votre nom de domaine, ou un service comme NoIPOpens in a new tab.
À ce stade, l’installation d’un certificat HTTPS deviendra indispensable (Let’s Encrypt est gratuit si besoin), et si possible l’ajout d’un système de sécurité à double authentification pour éviter de vous faire voler vos données

Vous trouverez la documentation pour la mise en place d’un SSL sur Apache dans le guide d’installation pour Linux fourni par NextCloud

Stockage supplémentaire

Le principal intérêt de Nextcloud est d’avoir un stockage disponible important, étant donné que vous êtes votre propre hébergeur
Malheureusement, sur Raspberry Pi, la taille des cartes SD n’a pas illimitée
(bien que des tailles de plus en plus importantes soient maintenant disponibles, voir ma page ressources pour un bon exempleOpens in a new tab.)
Même s’il est assez facilement d’avoir plus de place que chez les différents fournisseurs gratuits, il sera bien difficile de battre leurs offres premium

Si vous voulez encore plus de place, il est possible d’ajouter un stockage externe à votre Raspberry Pi, par exemple un disque USB or un autre stockage externalisé (Dropbox, Google Drive ou Amazon)
Vous trouverez toute la documentation ici Opens in a new tab.sur le site de NextCloud

Sauvegardes

Comme pour n’importe quelle idée de projet Raspberry Pi impliquant du stockage, n’oubliez pas qu’une carte SD n’est pas la méthode de stockage la plus sûre
Si vos cartes SD ne fonctionne plus, vous aurez tout perdu sur NextCloud
Donc pensez bien à faire des sauvegardes régulières (vers un autre Raspberry Pi, un NAS ou un disque USB)
Si vous avez besoin d’aide pour la configuration de votre sauvegarde, vous pouvez lire mon guide sur le sujet iciOpens in a new tab.

Les fichiers sont situés dans le dossier NextCloud, dans le sous-dossier « data »
Par exemple, pour les données de l’administration, tout est dans /var/www/html/nextcloud/data/admin/files

Donc, faites une sauvegarde du dossier « data » et vous serez tranquille
Vous pouvez aussi envisager une sauvegarde complète du dossier NextCloud et de sa base de donnée, cela pourrait accélérer les choses si vous devez le réinstaller un jour

Conclusion

Et voilà, je pense que vous avez maintenant eu un bon aperçu des possibilités de NextCloud sur Raspberry Pi, et comment l’installer via l’une des deux méthodes proposées

J’ai été très impressionné par les performances (et ce n’était même pas sur Raspberry Pi 4)
J’avais de mauvais souvenir de NextCloud sur un serveur classique, avec un accès plutôt lent et une charge importante
Mais pendant mon test tout a très bien fonctionné sur Raspberry Pi, pas de charge ni de ralentissements, bonne nouvelle donc !

Du coup je vais sans doute essayer de laisser tourner un Raspberry Pi avec, et voir comment cela fonctionne avec usage plus régulier

Restez connectés!

Tenez vous informés des dernières nouveautés en vous inscrivant ici. Pas de panique, il s'agit seulement d'un mail par mois histoire de rester à jour :)

[sibwp_form id=3]

Patrick Fromaget

Je suis l'auteur principal et le créateur de RaspberryTips. Mon but est de vous aider sur tous vos problèmes qui concernent Raspberry Pi en publiant des guides détaillés et des tutoriels rapides. Dans la vraie vie, je suis administrateur système (Linux principalement) avec une solide expérience dans le développement web.

Recent Content