2 – Démarrer Nextcloud avec Windows

Nous insérons la carte SD dans l'emplacement prévu à cet effet dans le Raspberry PI, nous branchons le disque dur à un des ports USB. Nous relions le Raspberry Pi à notre réseau local par un câble ethernet. Enfin nous branchons l'alimentation pour qu'il démarre.

Accéder à Nextcloud sur le réseau local

Il va falloir trouver le serveur Nextcloud sur le réseau local. C'est l'interface d'administration de notre box ou de notre routeur qui va nous l'indiquer. Notre box doit pouvoir vous afficher les équipements connectés. Voir ce tutoriel éventuellement. Le serveur s'appelle nextcloudpi. Notons son adresse IP. Avec Windows il faut un petit utilitaire pour ouvrir un terminal sur le Raspberry. Téléchargeons donc putty ici : https://www.putty.org/. Le plus simple est de l’enregistrer sur le bureau. Ouvrons putty.

Dans Host name (or IP Address) saisissons l'adresse IP du Raspberry. Cochons SSH puis bouton Open. Les boutons Save et Load permettent de sauvegarder les paramètres de la session pour ne pas ressaisir l'adresse à chaque connexion. Un terminal s'ouvre sur le Raspberry :

login as:

Le nom d'utilisateur est pi, le password : raspberry. Mais tous les acheteurs aurons ce même nom et mdp. Pour la sécurité, la première chose à faire est de créer un nouvel utilisateur.

Création d’un nouvel utilisateur

Pour cela il faut se mettre en administrateur avec la commande sudo. sudo adduser clouduser pour créer un nouvel utilisateur nommé clouduser et lui attribuer un mot de passe. Les autres renseignements sont sans importance.

pi@nextcloudpi:~ $ sudo adduser clouduser

Attention clouduser n'est pas un administrateur et ne pourra pas utiliser la fameuse commande sudo. Faisons en un administrateur :

pi@nextcloudpi: $ sudo nano /etc/sudoers.d/020_clouduser-nopasswd

Cette commande nous amène dans l'éditeur nano où nous saisirons la ligne :

clouduser ALL=(ALL) NOPASSWD: ALL

Pour enregistrer ce que nous venons de faire [Ctrl] + [O] et pour quitter l'éditeur [Ctrl] + [X].

Nous allons redémarrer notre serveur nextcloud avec

pi@nextcloudpi: $ sudo shutdown -r now

Une fois qu'il aura redémarré nous nous connectons avec putty, mais cette fois-ci en tant que clouduser.
Vous pouvez bien entendu choisir un autre nom que clouduser mais attention de le remplacer dans toutes ses occurrences.

Préparation du disque dur

Pour commencer nous allons trouver le périphérique :

clouduser@nextcloudpi:~ $ sudo fdisk -l

fdisk nous liste tous les périphériques de stockage présents sur le système.

Nous trouvons notamment un périphérique (device) /dev/mmcblk0 de 14,9 Gigaoctets. C'est la carte SD sur laquelle a démarré notre nexcloudpi. Il y a aussi un disque dur /dev/sda avec une partition /dev/sda1 mais formatée en NTFS (Windows). Il va donc falloir le formater. Premièrement nous allons supprimer la partition Windows.

clouduser@nextcloudpi:~ $ sudo fdisk /dev/sda

Nous entrons de manière interactive dans la commande fdisk. Il suffira de taper chaque fois une lettre et valider pour saisir une commande.

  • d pour supprimer la partition Windows. Si votre disque contient plusieurs partitions il faudra recommencer autant de fois que nécessaire. fdisk vous le proposera.
  • n pour créer une nouvelle partition ensuite il y a une série de paramètres à valider. Les options par défaut seront toujours valables.
  • w pour écrire ces modifications sur le disque.

Ensuite il faudra formater cette partition en ext4 pour Linux :

clouduser@nextcloudpi:~ $ sudo mkfs -t ext4 /dev/sda1

Transfert du système sur le disque dur

Pour l'instant seule la carte SD est reconnue par le système. Nous allons maintenant transférer celui-ci sur le disque dur en laissant la partition /boot sur la carte SD pour permettre le démarrage du système.

Vérifions d'abord la carte SD avec la commande sudo fdisk -l.

La partition /dev/mmcblk0p1 est formatée en FAT32. C'est elle qui permet le démarrage. La partition /dev/mmcblk0p2 contient le système. Nous allons la copier sur le disque dur.

clouduser@nextcloudpi:~ $ sudo dd bs=4M conv=noerror if=/dev/mmcblk0p2 of=/dev/sda1

Vérifions l'état de cette partition.

clouduser@nextcloudpi:~ $ sudo e2fsck -pv /dev/sda1

Mais comme nous avons copié une partition de carte SD de 15 Go sur un disque dur, le système n'utilisera que ces 15 Go. Il faut donc redimensionner la partition pour utiliser l'ensemble du disque dur.

clouduser@nextcloudpi:~ $ sudo resize2fs /dev/sda1

Et pourquoi ne pas refaire une vérification avec e2fsck (voir plus haut).

Si le système nous répond clean tout va bien. Nous allons maintenant modifier le démarrage pour que le système soit configuré sur le disque dur. D'abord récupérer les paramètres de la partition /dev/sda1 avec la commande sudo blkid.

Notons le PARTUUID de la partition disque dur, dans l'exemple 319d3443-01. Nous allons maintenant modifier le ficher fstab qui indique à Linux où trouver les différents systèmes de fichier.

clouduser@nextcloudpi:~ $ sudo nano /etc/fstab

La première ligne indique la partition de démarrage (/boot). Pour la deuxième remplaçons le PARTUUID par celui de la partition disque dur. [Ctrl] + [O] pour sauvegarder puis [Ctrl] + [X] pour quitter.

Il va falloir modifier également le fichier /boot/cmdline.txt :

clouduser@nextcloudpi:~ $ sudo nano /boot/cmdline.txt

Modifions là aussi le PARTUUID root=PARTUUID=...........

ddwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=319d3443-01 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

Si nous sommes arrivés à faire tout cela en tant que clouduser, il est temps de supprimer l'utilisateur pi présent sur tous les raspberry.

clouduser@nextcloudpi:~ $ sudo deluser pi

Il n'y a plus qu'à redémarrer le serveur nextcloud par sudo reboot.

Pour continuer

3 – Rendre Nextcloud accessible de l’extérieur

17 réflexions au sujet de “2 – Démarrer Nextcloud avec Windows”

  1. bonjour j’essaye de transformer mon raspberry en cloud, je suis novice mais l’explication est bien claire, merci à vous. Je bloque à l’étape « sudo dd bs=4M conv=noerror if=/dev/mmcblk0p2 of=/dev/sda1 » où je n’ai aucune réaction et j’ai que la possibilité de faire entrer et continuer à taper un texte sans conséquences.
    Faut il attendre un certain temps, la copie du root ?
    cordialement
    enrique

    Répondre
  2. Bonjour, J’ai suivi en parti votre procédure rudement bien faite. Cependant je souhaiterai savoir comment faire pour…

    Je possède 2 DD en usb, j’ai établi un raid 1 en suivant une autre procédure. mais je ne vois pas comment et ou dire a nextcloud que sa nouvelle localisation de fichier est situé sur l’un des 2 DD

    que dois je changer ? le datadir ou database ?( et quoi y mettre) /dev/sda1 ? /dev/sdb1 ? /dev/md0 ?

    je souhaite que ma carte SD garde le systeme d’exploitation et que mes disque dur soient la pour les données.

    Votre aide serait très précieuse.

    par avance merci

    cdlt

    Répondre
    • En principe il faut éditer le fichier config.php de Nextcloud. Modifier la variable datadirectory.

      sudo nano /var/www/nextcloud/config/config.php

      Mais on ne peut pas donner /dev/sda1 ou /dev/sdb1. Ce sont des noms de périphériques. Il faut monter les périphériques dans le système de fichier et modifier le fichier fstab pour qu’ils soient montés à chaque démarrage du système.

      Répondre
      • J’ai remplacé mon PARTUUID dans sudo nano /etc/fstab et dans /boot/cmdline.txt

        mais au reboot j’ai un défaut de type : end kernel panic – not syncing VFS unable to mount root fs on unknow block….

        Répondre
  3. Pourriez vous me détailler ce passage svp ?

    « Il faut monter les périphériques dans le système de fichier et modifier le fichier fstab pour qu’ils soient montés à chaque démarrage du système. » ?

    Répondre
  4. Merci pour ce tuto !
    Ne faudrait-il pas mettre à jour avec
    sudo apt update
    puis
    sudo apt upgrade
    avant d’aller plus loin ?
    Je suis en train de construire mon nextcloud, je bute sur la changement d’adresse ip, impossible de retrouver mon pi dans le réseau…

    Répondre
  5. Bonjour,

    Créer un utilisateur clouduser n’est pas suffisant, effectivement le compte administrateur pi existe toujours, il faut utiliser la commande « passwd » (si connecter en pi) pour changer le mot de passe de pi .

    Répondre
  6. Bonjour,
    Merci pour ce tuto fort utile. Je me demandais s’il n’y avait pas une petite erreur à l’étape de l’édition du fichier fstab. Ne devrait-on pas éditer le fstab qui se trouve sur le disque externe destiné à remplacer la carte uSD? En suivant votre tutoriel, à cette étape, /etc/ se trouve sur la carte uSD et non sur le disque. Modifier le fichier sur la uSD n’est pas problématique car au « reboot » suivant, s’est sur le disque externe que le système sera exécuté, mais par contre vu que le fichier fstab du disque externe n’a pas été changé, c’est la partition de la uSD qui sera « mounter » en /.

    Répondre
  7. Bonjour,
    Quel est l’intérêt de transférer le système sur le disque dur ?
    Pourquoi ne pas le laisser sur la carte SD ?

    Répondre
  8. Bonjour et merci pour ces super tutos! Lors de la copie du système sur le SSD (>10h) rien ne se passe sur le prompt putty et je me sens obligé de reboot pour réexaminer le disque. Une idée sur la cause de cette inactivité apparente et comment s’assurer que la copie a bien eu lieu? Merci ++

    Répondre
    • Si rien ne se passe sur le prompt putty, il faut vérifier si le raspberry s’est lancé.
      Sur Windows lancer cmd (bouton droit sur le menu Windows puis Exécuter. Exécuter la commande ping avec l’adresse IP du Raspberry. S’il ne répond pas c’est qu’il n’a pas démarré.

      Répondre

Répondre à Yoan Annuler la réponse

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.