NAS Synology : installation de NextCloud sur DSM 6

On entend souvent parler de la solution NextCloud quand il s’agit d’héberger soi-même ses données personnelles, en se libérant ainsi des vilains GAFAM qui veulent tout savoir de nous…

J’avais plus particulièrement en tête un système de prises de Notes que je puisse synchroniser entre mon smartphone et le PC, la synchro se faisant automatiquement par NextCloud. Il s’agit de Joplin, qui fera l’objet d’un article un peu plus tard.

Étant possesseur d’une baie Synology, je me suis rendu compte que je pouvais effectivement installer un serveur NextCloud sur mon NAS ! Cela n’a rien de très compliqué, mais il y a des paquets à installer et à configurer scrupuleusement avant de pouvoir lancer son NextCloud.

Les infos de cet article viennent de cet article (en anglais). Il est très bien fait, mais comme je n’ai pas trouvé d’équivalent en français, j’y vais de mon billet, en ajoutant quelques petites notes prises pendant ma propre installation.

C’est parti !

Packages

Commençons par installer les paquets requis à partir du centre de paquets  :

  • Web station
  • HTTP Server 2.4
  • PHP 7.0
  • Phpmyadmin
  • MariaDB 10

Configuration

MariaDB

Pour finir l’installation de MariaDB, il faut mettre un mot de passe (laissé vide par l’installation). Il faut donc lancer MariaDB, choisir « Changer le mot de passe MariaDB », laisser le premier champ vide, et choisir un bon mot de passe.

Webstation

Lancer Webstation, puis sélectionner Apache HTTP Server 2.4 et PHP 7.0 :

Dans ma configuration, je n’active pas de « Virtual Host », je vais au plus simple. Si c’est votre cas, renseigner les paramètres demandés (nom de l’hôte, le port, le répertoire racine du document), et sélectionner les mêmes versions d’Apache et PHP. Retenir surtout l’emplacement du répertoire racine pour la suite.

Extensions PHP

Il va maintenant falloir indiquer l’emplacement où seront stockés vos fichiers personnels (le dossier pour vos données NextCloud). Pour ma part, ce sera dans /volume1/homes/pascal/NextCloud : j’ai donc créé ce dossier précédemment. Il va aussi falloir activer les extensions PHP nécessaires au fonctionnement de NextCloud, à savoir :

  • bz2
  • curl
  • gd
  • mysqli
  • openssl
  • pdo_mysql
  • zip

L’auteur de l’article précise qu’il ne sait plus vraiment lesquelles sont vraiment nécessaires, mais au moins avec celles-ci, on est certain que tout fonctionne.

Après une mise à jour à la version 14 (voir cet article), j’ai eu besoin d’activer deux autres extensions, alors autant les activer dès maintenant : intl et iconv.
Paramètres PHP

Il y a également des paramètres PHP à modifier : sélectionner l’onglet « Cœur » est modifier si nécessaire les paramètres suivants :

  • mysql.default_port=3307  (port par default pour MariaDB 10)
  • opcache.enable=1
  • opcache.enable_cli=1
  • opcache.interned_strings_buffer=8
  • opcache.max_accelerated_files=10000
  • opcache.memory_consumption=128
  • opcache.save_comments=1
  • opcache.revalidate_freq=1

Voilà, les paramètres de la « Web station » sont prêts pour que NextCloud fonctionne. Il ne reste plus qu’à installer NextCloud proprement dit.

NextCloud

Télécharger NexCloud à partir de cette page. Vous allez récupérer un fichier nextcloud-XX.Y.Z.zip qu’il va falloir copier sur votre NAS Synology, à la racine de votre « Web station », soit dans /volume1/web.

L’ayant téléchargé sur le PC, et comme il m’était impossible avec le « File Station » de Synology d’aller dans le dossier /volume1/web :-(, voilà comment j’ai procédé :

Je suis allé dans /volume1/homes/pascal/NextCloud, puis j’ai fait « Charger » et suis allé chercher le zip de NextCloud sur mon PC. Ensuite, je me suis connecté en SSH sur la baie Synology (il faut avoir activé SSH sur le NAS auparavant bien sûr, dans “Terminal & SNMP” sélectionner “Activer le service  SSH”, sur le port de votre choix, 2158 dans mon cas), et tapé la commande suivante pour extraire le zip au bon endroit grâce à 7z, l’outil installé par défaut par Synology :

pascal@pascal-SH87R:~$ ssh admin@192.168.1.14 -p 2158
admin@DiskStation:~$ 7z x /volume1/homes/pascal/NextCloud/nextcloud-13.0.4.zip -o/volume1/web
Modifier les permissions

Reste à modifier les permissions par défaut. Nous allons pour cela utiliser un script : créer le fichier nextcloud-permissions.sh comme ci-dessous sur votre PC en adaptant les chemins des dossiers à votre configuration, puis copier-le sur le NAS comme précédemment :

#!/bin/bash
chown -R http:http /volume1/web/nextcloud/
chown -R http:http /volume1/web/nextcloud/apps/
chown -R http:http /volume1/web/nextcloud/config/
chown -R http:http /volume1/web/nextcloud/themes/
chown -R http:http /volume1/homes/pascal/NextCloud/
chown http:http /volume1/web/nextcloud/.htaccess
find /volume1/web/nextcloud/ -type f -print0 | xargs -0 chmod 777
find /volume1/web/nextcloud/ -type d -print0 | xargs -0 chmod 777
find /volume1/homes/pascal/NextCloud/ -type d -print0 | xargs -0 chmod 777
chmod 777 /volume1/web/nextcloud/.htaccess

Je l’ai déplacé ensuite dans /volume1/web. Connecté en SSH, il ne reste plus qu’à exécuter le script, et vérifier qu’il n’y pas d’erreur. Si nécessaire, donner les droits d’exécution au script :

admin@DiskStation:~$ cd /volume1/web
admin@DiskStation:/volume1/web$ sudo chmod +x nextcloud-permissions.sh 
admin@DiskStation:/volume1/web$ sudo ./nextcloud-permissions.sh

Voilà, c’est terminé pour l’installation de NextCloud, il ne reste plus qu’à accéder à notre nouveau serveur.

Dernière étape

Pour que votre serveur NextCloud soit accessible par l’internet, vérifier d’abord que vous avez bien mis en place le service « Quickconnect » de Synology qui vous permet de vous connecter avec une adresse du style myservicename.synology.me (à moins que vous ayez votre propre nom de domaine).

Aller dans le Panneau de configuration, puis « Accès externe », onglet DDNS et créer une entrée en choisissant Synology comme fournisseur de service :

Une fois ceci fait (si vous avez un routeur/une box, penser à ouvrir le port 80), il ne reste plus qu’à accéder à la page de NextCloud :

Il faut bien remplir cette première page, avec un utilisateur créé sur le NAS, le chemin d’accès à vos données () soit /volume1/homes/pascal/NextCloud dans mon cas), et enfin l’utilisateur ‘root’ pour MariaDB avec le mot de passe que l’on a changé tout à l’heure… Puis cliquer sur « Finish setup ».

En ce qui me concerne, j’ai eu deux erreur 504 (il s’agit d’un Gateway time-out), mais au troisième rechargement, la page finale de NextCloud s’est enfin affichée :

Et voilà, j’ai mon instance NextCloud qui tourne ! 😀 Reste à l’utiliser, la première chose sera un système de prise de notes comme je le disais en début d’article. Ce sera l’objet d’un futur billet.

Il y a aussi plein d’autres choses que l’on peut faire, comme synchroniser ses contacts, ou son agenda… Pour cela, j’ai d’autres solutions (un serveur Baikal sur le serveur du blog), mais il y a aussi les photos du smartphone par exemple, et plein d’autres choses à faire avec ce bel outil.

75 réflexions sur « NAS Synology : installation de NextCloud sur DSM 6 »

  1. Tres interessant et tuto complet, merci !
    Je vais transmettre a un ami qui possede un Synology.
    Perso, j’ai un Nextcloud auto-heberge chez mon hebergeur…
    Ca fonctionne egalement bien (sans etre exigeant au niveau des temps d’acces bien sur) et la sauvegarde depuis Android est tres pratique (ca evite le Google Drive pour ceux qui n’en veulent pas).

  2. Bonjour,

    Je suis bloqué au paragraphe modifier les permissions car moi j’ai accé au dossier WEB via le nas

    peux tu m’aider ou m’éclaircir le truc?

    Merci

    1. Salut,
      Je ne suis pas chez moi, je ne peux donc vérifier ce que t’offre l’accès WEB pour modifier les permissions des fichiers.
      Le script ne fait que ça : modifier les permissions, ou les propriétaires de certains fichiers, ou plutôt de tous les fichiers de certains répertoires (récursivité). Mais tout faire « à la mano » via une interface web me paraît bien compliqué. Pour donner les droits d’exécution à un fichier, la commande est ‘chmod +x nomdufichier’.

      Il vaut mieux que tu passes par une connexion ssh, ce sera beaucoup plus simple. Si tu es sous windows, tu peux installer putty (putty.org), ça fonctionne très bien et c’est simple à installer. Une fois connecté tu exécutes le script que tu auras copié précédemment.

      Sinon voilà ce que font les commandes :
      – ‘chown’ change le propriétaire (http) et le groupe (http) des répertoires (et de tous les fichiers dedans, le -R signifie récursif)
      – ‘find’ va d’abord rechercher tous les fichiers (type f) dans le répertoire de nextcloud et en change les permissions (777 autoirise tout à tout le monde). Même chose ensuite pour les répertoires (type d), dans deux répertoires différents.
      – Enfin, la dernière commande ‘chmod’ change les permissions du fichiers .htaccess de nextcloud.

      Mais encore une fois, je te conseille fortement de passer par le script, ça ira plus vite et évite les erreurs/oublis. Et de bien vérifier qu’il n’y a pas de messages d’erreur en l’exécutant. Eventuellement, en cas de problème, tu peux exécuter chaque commande une par une, pour vérifier laquelle pose problème.

      Voilà.

        1. Pour t’aider :
          – si tu accèdes via ton navigateur au NAS, tu peux voir l’adresse du NAS dans la barre d’adresse de ton navigateur. Tu l’utilises pour te connecter avec Putty (adresse, utilisateur, mot de passe) en ayant activé auparavant SSH sur le NAS via le panneua de configuration de DSM.
          – Pour le script, tu copies le texte que j’ai mis dans un fichier avec le nom indiqué, et tu le copies sur ton NAS via l’interface web (DSM j’imagine).
          – Une fois connecté avec Putty, il faudra te déplacer dans le même répertoire (commande ‘cd’, là il faut un minimum de connaissances), et ensuite tu donnes les droits d’exécution au script, puis tu l’exécutes.

          Courage, tu n’es plus très loin d’avoir ton instance Nextcloud personnelle 😉

  3. Bonjour,
    J’ai eu un soucis au moment du paramétrage PHP, au moment de cocher « personnaliser PHP_open_basedir ».
    La modification de chemin s’est mal passé et je n’ai plus la ligne dans son entier.
    Pourrais-tu me la communiquer, stp ?

    1. Voilà la mienne :
      /tmp:/var/services/tmp:/var/services/web:/var/services/homes:/volume1/homes/pascal/NextCloud

      Tu peux la retrouver en lançant l’application « Web station » à partir de DSM, puis dans Paramètres PHP, tu sélectionnes « Default Profile » (pour la v7) et tu fais « Modifier » => la fenêtre « Paramètres avancés » s’ouvre et tu peux voir/modifier le chemin.

    1. Il y a un « Updater » intégré à l’interface de Nextcloud (un message te prévient qu’une nouvelle version est disponible, il suffit de cliquer dessus). J’ai voulu essayer, mais la mise à jour échoue lors de l’étape « Backup » (en tout cas chez moi).
      Et je me suis retrouvé bloqué avec mon Nextcloud en « maintenance mode » !! 🙁

      => J’ai du alors me logguer en ssh sur la baie, passer su (sudo su), aller dans « /volume1/web/nextcloud/config », éditer le fichier config.php, et passer le paramètre maintenance à « False ». Et la page se rafraîchit toute seule !

      Pour faire cette mise à jour, il y a des infos sur cette page, y compris qu’il faut modifier les permissions sur les fichiers si l’on utilise l’updater :
      http://blog.viking-studios.net/en/your-own-cloud-nextcloud-update-on-a-synology-diskstation-and-dsm-6/

      Mais pour l’instant, je suis satisfait de la version 13 et tout fonctionne bien, donc je ne vais pas faire ça tout de suite, je ne peux donc pas confirmer que cela fonctionne.

      1. Merci beaucoup, c’est toujours bon à savoir :).
        Cependant, je n’en suis pas encore là malheureusement. En effet, impossible pour moi d’exécuter le script…
        Voilà où j’en suis :

        – J’ai paramétré MariaDB + Web Station comme indiqué. J’ai créé un dossier sous volume2/documents/NextCloud et j’ai rajouté le chemin dans Web station (open_basedir)
        – J’ai coché les extensions PHP et j’ai modifié les paramètres PHP avec les chiffres indiqués.
        – J’ai téléchargé Nextcloud sur mon PC, j’ai dézippé l’archive et j’ai envoyé le dossier par FTP vers /volume2/web

        – J’ai ouvert le Bloc Notes, j’ai copié/collé le contenu en adaptant les chemins :

        #!/bin/bash

        chown -R http:http /volume2/web/nextcloud/
        chown -R http:http /volume2/web/nextcloud/apps/
        chown -R http:http /volume2/web/nextcloud/config/
        chown -R http:http /volume2/web/nextcloud/themes/
        chown -R http:http /volume2/documents/NextCloud/
        chown http:http /volume2/web/nextcloud/.htaccess
        find /volume2/web/nexctloud/ -type f -print0 | xargs -0 chmod 777
        find /volume2/web/nextcloud/ -type d -print0 | xargs -0 chmod 777
        find /volume2/documents/NextCloud/ -type d -print0 | xargs -0 chmod 777
        chmod 777 /volume2/web/nextcloud/.htaccess

        – J’ai enregistré le fichier en le nommant « permissions.sh ».
        – J’ai envoyé le fichier vers /volume2/web
        – J’ouvre PuTTY, je me connecte en SSH et je me place dans le dossier /volume2/web
        – Je tape ensuite « sudo chmod +x permissions.sh « . Je valide. J’entre mon mot de passe. Je valide. Je n’ai aucun retour mais je pense que ça a fonctionné.
        – Je tape ensuite sudo ./permissions.sh. Je valide. J’entre mon mot de passe. Je valide. Et là j’ai l’erreur suivante :

        sudo: unable to execute ./permissions.sh: No such file or directory

        Le fichier est pourtant bien présent. Je n’y comprends rien 🙂

        1. Vu que le script ne fonctionnait pas, j’ai testé uniquement la première commande à la main (chown -R http:http /volume2/web/nextcloud/). Tous les fichiers ont été passés en revue avec l’erreur suivante : Operation not permitted.

          Il faut savoir que j’ai complètement désactivé le compte « admin » sur DSM, vu que c’est fortement recommandé. J’ai donc créé un nouvel utilisateur ayant les droits et je me connecte avec sur PuTTY.

          1. Là, il faut faire un « sudo chown -R http:http /volume2/web/nextcloud/ »
            Sans le sudo, c’est normal que tu n’aies pas les droits.

        2. Bizarre en effet, tu es bien dans le bon répertoire ? pas de faute de frappe sur le nom de fichier ?
          Pour vérifier le droit d’exécution, tu tapes ‘ls -l’ et tu dois voir le ‘x’ à la fin des droits pour tout le monde (rwx) :
          admin@DiskStation:~$ ls -l
          -rwxrwxrwx 1 admin users 556 Jun 7 15:12 permissions.sh

          Vérifie aussi que notepad (le Bloc Notes de Windows) ne t’ai pas rajouté des caractères indésirables (le format de saut de ligne n’est pas le même entre Windows et Linux) :
          admin@DiskStation:~$ cat permissions.sh

          Sinon essaie (problème avec la première ligne qui indique qu’il faut utiliser le shell bash) :
          admin@DiskStation:~$ sudo bash ./permissions

          1. – J’ai édité le fichier permissions.sh avec NotePad++. J’ai bien le saut de ligne au début.

            – La commande que vous m’avez indiquée « sudo chown -R http:http /volume2/web/nextcloud/ » ne me renvoie aucune erreur. Les suivantes non plus. En revanche, arrivé aux lignes « find… » j’ai de nouveau les fichiers qui sont listés avec comme erreur « Operation not permitted ».

            – La commande « sudo bash ./permissions.sh » me renvoie ceci :

            chown: cannot access ‘/volume2/web/nextcloud/\r’: No such file or directory
            chown: cannot access ‘/volume2/web/nextcloud/apps/\r’: No such file or directory
            chown: cannot access ‘/volume2/web/nextcloud/config/\r’: No such file or directo ry
            chown: cannot access ‘/volume2/web/nextcloud/themes/\r’: No such file or directo ry
            chown: cannot access ‘/volume2/documents/NextCloud/\r’: No such file or director y
            chown: cannot access ‘/volume2/web/nextcloud/.htaccess\r’: No such file or direc tory
            chmod: invalid mode: ‘777\r’

            – La commande « ls -l » me donne ceci : -rwx–x–x 1 MonPseudo users 560 Oct 23 02:16 permissions.sh.

            J’ai vraiment l’impression d’être proche du but, mais n’y connaissant rien du tout, je ne sais pas ce qui bloque ^^

          2. – Alors déjà j’ai corrigé une erreur par moi-même. En effet, je n’avais pas redonné les permissions au fichier. J’ai donc refait un chmod +x permissions.sh et j’ai donc le résultat suivant lors d’un « ls -l » : rwxrwxrwx

            – J’ai donc relancé la commande « sudo bash ./permissions.sh » qui me renvoie la même erreur « chown: cannot access… »

            Décidément…

        3. Bonjour, j’ai eu le même soucis, j’ai un peu modifié le script:
          #!/bin/bash
          chown -R http:http /volume1/web/nextcloud
          chown -R http:http /volume1/web/nextcloud/apps
          chown -R http:http /volume1/web/nextcloud/config
          chown -R http:http /volume1/web/nextcloud/themes
          chown -R http:http /volume1/homes/nas_rom/nextcloud
          chown http:http /volume1/web/nextcloud/.htaccess
          find /volume1/web/nextcloud/ -type f -print0 | xargs -0 chmod 777
          find /volume1/web/nextcloud/ -type d -print0 | xargs -0 chmod 777
          find /volume1/homes/nas_rom/nextcloud -type d -print0 | xargs -0 chmod 777
          chmod 777 /volume1/web/nextcloud/.htaccess

          avant:
          chown -R http:http /volume1/web/nextcloud/
          maintenant
          chown -R http:http /volume1/web/nextcloud
          d’où le No such file or directory

          Par contre il y a les 3 commandes ‘find’ qui ne passent pas chez moi, j’ai le retour ‘operation not permitted’
          si une personne à eux ce problème ? je suis preneur d’une solution.

  4. Tu as bien un problème de fin de ligne « windows » dans ton fichier. Ce sont les ‘\r’ que tu vois dans les messages d’erreur.
    Deux solutions :
    1) sous Notepad++, Menu Edition – Convertir les sauts de ligne – Convertir au format Unix (LF). Puis tu sauves ton fichier, le recopies, etc…
    2) Sous Linux, via PuTTY : taper la commande suivante (qui va effacer ces caractères du monde windows) :
    $ tr -d ‘\r’ linux-permissions.sh

    Après ça devrait aller mieux…

    1. Magnifique ! Ca passe :). J’ai bien la page NextCloud qui s’affiche.
      En revanche (et oui), après avoir entré toutes les infos, j’ai l’erreur suivante :

      Impossible de créer, ou d’écrire dans, le répertoire des données /volume2/documents/NextCloud/

      1. Le script est passé sans aucun message d’erreur ? C’est très important… sinon passer les commandes une par une.
        Sinon, ce répertoire »/volume2/documents/NextCloud/ » est bien celui ajouté à la variable open_basedir ? Vérifier en lançant l’application “Web station” à partir de DSM.

      2. C’est réglé, je n’avais pas attribué les droits en écriture :

        – Panneau de configuration > Dossiers partagé > Clic droit sur le dossier « documents » (dans mon cas) > modifier
        – Sous l’onglet « permissions », sélectionner l’onglet « Groupes locaux » et donner les droits « Lecture/écriture » à http.

        Ensuite ça passe pour la configuration NextCloud.

        Merci beaucoup pour votre tuto et votre aide 🙂

  5. Bonjour,
    Après avoir configurer l’ouverture du port sur la box et dans le panneau de config du Syno (Accès externe / Configuration du routeur / création port personnalisé), je n’arrive pas à accéder à la page de config Nextcloud.. J’ai un message « Désolé, la page que vous recherchez est introuvable. »
    Je ne vois pas comment y arriver, pourriez vous m’aider svp?
    (Je travaille sur le DS216j)
    En vous remerciant d’avance.

    1. Tu as du faire une erreur dans la procédure et l’emplacement de ton Nextcloud. Ou alors une simple faute de frappe (ou une MAJ/Min mal placée ? J’obtiens le même message par exemple si je mets « http://monsite.synology.me/nextcloud1 ».

      Sinon vérifies que Nextcloud est bien installé dans « /volume1/web », soit à la racine de ta Web station…

  6. Bonjour et merci pour ce tuto qui m’a déjà permis d’apprendre plein de choses !
    Une bonne occasion pour enfin utiliser mon NAS pour ses services web…
    Mais j’ai dû louper quelque chose (noob débutante, c’est peu dire), car j’arrive bien à me connecter à DSM par le compte Quickconnect (avec l’adresse xxx.quickconnect.to et curieusement pas avec xxx.synology.me paramétrée dans DDNS qui pourtant renvoie une info de connexion normale mais une connexion qui échoue sur le navigateur), mais lorsque j’ajoute /nextcloud, patatras, une page Synology m’informe gentiment : Désolé, la page que vous recherchez est introuvable.
    J’ai pourtant bien décompressé le dossier nextcloud dans volume1/web, et n’ai eu aucun message d’erreur quand j’ai exécuté le script par le terminal…
    Je me demande si le problème vient de la gestion de mon dossier nextcloud ou bien du paramétrage de l’accès externe puisque le paramètre DDNS ne semble pas fonctionner. Je n’ai pas réussi à configurer le routeur, peut-être que le problème vient de là tout simplement… Bref, je me sens un peu perdue dans tout ça ^^ Auriez-vous une idée pour m’aider ?

    1. Désolé je suis en vacances sous les cocotiers jusqu’à début février ! B-)
      Pour identifier si le pb est avec le rouleur, si tu as un pc branché sur le même réseau, utilise l’adresse locale de ton boîtier synology (genre 192.168.x.x) que tu peux trouver dans l’admin de ta box par exemple. Si ça passe avec l’adresse, alors pb rouleur…
      Sinon je regarderai ça en rentrant…

      1. Merci beaucoup Pascal pour la réponse malgré l’éloignement !
        L’adresse locale passe, mais pas quand je pousse jusqu’au dossier (192.168.x.x/nextcloud), et rien en effet avec une adresse « web »…
        Ça ressemble donc probablement à un problème de routeur si je comprends bien, mais peut-être pas que ça (sinon j’aurais accès à NextCloud au moins en local ?). Rien d’urgent, si jamais je trouve une réponse avant je pourrais la poster ici si ça peut servir à d’autres noob débutants comme moi ^_^ ?
        Très belles vacances et noix de coco glacées !

        1. Bonsoir,
          il s’agissait bien d’un problème de paramétrage réseau : le routeur (bbox) ne voulait rien savoir par DSM, une ouverture manuelle des ports 5000, 5001, 80 et 443 a déjà bien aidé ^^. Je suis ensuite partie sur une configuration avec VirtualHost, et après moi aussi deux erreurs 504 (et donc la création d’un second admin…) tout fonctionne nickel ! Encore un grand merci pour ta disponibilité malgré les vacances (amicale pensée au soleil, apparemment lui aussi parti voir les cocotiers B) !!) et pour ce tuto bien pratique !

  7. Hello superbe source d’informations.!!!

    Je ne comprend pas une chose: Pourquoi passer sur NEXTCLOUD??? DSM de synology propose déja ces fonctionnalités:
    drive, calendar, contact, note apps, serveur mails, client mail …
    pourquoi passer sur next cloud ? j’esssaie de comprendre ce que nextcloud a de plus plus que synodsm( derniere version)

    1. Ça mériterait certainement une réponse plus approfondie, et une vraie comparaison, mais en fait je ne pense pas que cela propose vraiment la même chose : le but de Nextcloud, c’est de protéger tes données personnelles (agenda, photos, fichiers, etc…) et de les héberger chez toi, ou sur une instance que tu contrôles.

      Synology, c’est une solution NAS complète propriétaire avec plein de choses de proposées, comme par exemple un serveur Web qui utilisé par Nextcloud dans ce tuto… Nextcloud ne fournit pas cette partie !

      Enfin, Nextcloud, c’est du logiciel libre qui respecte les standards et dont tu peux vérifier ce qu’il fait. Synology, c’est du proprio dans lequel tu es « un peu » enfermé, même si la communauté développe des applis. Dans ce genre de cas, on tombe souvent sur des incompatibilités parce que les standards ne sont pas respectés. Et tu ne sais ce qui est réellement fait avec tes données.

      Enfin, perso, un des trucs qui m’a vite gonflé avec Syno, c’est d’avoir une appli par fonction sur le smartphone (DS truc, DS machin)…

      1. Merci pour ton retour, tu as raison il y a sans doute la quelque chose à creuser entre les solutions et les services proposés sous le format « groupware » espace de travail et de partage collaboratif.
        D’une part un regard sur les possibilités de l’un et de l’autre, puis la sécurité (maj et sauvegarde) et la maintenance, le user friendly, workflow friendly, la consommation des ressources.
        Oui l’open source de nextcloud est une bonne choses avec le contrôle des données, la fuite des données même si chez syno tu héberges chez toi .

        analyse à faire…

  8. Bonjour,
    et grand merci pour ce tuto, j’ai un problème un peu étonnant le répertoire à bien les bons droits pour l’écriture de nextcloud (777 http), j’ai bien la page nextcloud config qui s’affiche, mais quand je rentre mes password pour configurer la première fois, il me dit qu’il n’a pas les droit sur /volume1/data/nextcloud(c’est ok coté config php, coté droit linux)
    et pourtant…
    auriez vous une piste? j’ai mis un php 7,2 avec un apache 2,4 et les bonnes extensions.

  9. Je suppose que le répertoire « /volume1/data/nextcloud » que tu mentionnes est le chemin que tu as choisi pour les données personnelles que tu vas stocker dans Nextcloud ? soit « volume1/homes/pascal/NextCloud » dans mon exemple ??
    Dans ce cas, re-vérifie tout ce que tu as fait et adapté, et aussi qu’il fait bien partie de la « PHP open_basedir » (dans la Web Station, paramètres PHP).

    Si le système te dit que tu n’as pas les droits, c’est que tu as du loupé une étape ; le message a le mérite d’être clair, c’est forcément par là qu’il faut chercher (pb majuscules, etc…).

  10. bonjour

    bon moi j’utiliser jdoc (pfff rien a voir) bref
    sinon j’ai tout installer correctement avec ce tuto de folie si si sur rs819 avec 4 ssd evo 4to oui je sais.. et enfin mon 2 eme Nas car j’en et 2 heu oui c’est provisoire l’autre c’est un 1718+
    j’ai bien accès de l’extérieur sur ……….Synology.me/nextcloud et aussi avec app ios en 4g
    mais oui il y toujours un mais
    en interne niet suis obliger de passer par ip_de_mon_serveur/nextcloud maisssss pourquoi
    autre chose comment savoir si il et secure je ne voudrais pas que des malins vois …non non rien de cochon je vous rassure
    alors si il y a un tuto pour ce faire suis vraiment preneur

    1. 1) en interne (intranet) tu es obligé de passer par l’adresse ip de ton serveur : sans doute un problème de résolution DNS… Faudrait vérifier ton fichier hosts, ou côté routeur… Au pire, faire une trace réseau ; ce genre de truc peut-être vite compliqué.
      2) Pour être « secure », il faut installer un certificat SSL sur ta baie Synology, et passer en HTTPS.

  11. merci de la réponse
    bon pour en interne vais faire avec pour l’instant …..verrais plus tard
    par contre comment faire pour interdire le hhtp car sur synon il redirige mais n’interdit pas celui si ou et ce la même chose quand au certificat fait par let’s vois pas trop comment il fonctionne de plus il et donner pour un temp

    en tout cas encore merci de tes réponse

    1. Oui, on parle bien de certificats SSL, comme Let’s encrypt en fournit gratuitement. Il y a pas mal de tutos sur le net pour en installer un sur ta baie synology, c’est assez facile.
      Après, il suffit de dévalider ton port HTTP et ne laisser que HTTPS (SSL) comme accès externe. Chez Synology, les ports 5000 sont pour HTTP et 5001 pour HTTPS : direction le routeur de ta box et activer/supprimer les règles qui vont bien… Vérifies que tout fonctionne comme tu veux en HTTPS avant de supprimer le HTTP !

  12. Bonjour,
    J’ai tout suivi, tout fonctionne jusqu’à la page de config de Nextcloud. Je ne veux pas aller plus loin car mon seul pb est que je ne peux pas installer phpmyadmin sans PHP 5.6 ??? Or, comme vous, je souhaiterais PHP 7.3 (maintenant). Comment faites-vous/avez-vous fait ? Avez vous eu aussi des pb?
    De plus, je ne sais pas si cela est lié à cela ou à mon NAS de 2012 mais NextCloud me met « Il semble que cette instance Nextcloud fonctionne sur un environnement PHP 32-bit et open_basedir a été configuré dans php.ini. Cela engendre des problèmes avec les fichiers de taille supérieure à 4 Go et est donc fortement déconseillé. Veuillez supprimer la configuration open_basedir de votre php.ini ou utiliser une version PHP 64-bit. » Comment le savoir ? ou comment faire pour y passer ?

    Merci de vos réponses.

    1. Bonjour PéJi,
      Sur ma baie Syno, j’ai deux versions php d’installées : la 5.6 et la 7.0. J’imagine que la v5.6 était installée avant l’installation de Nextcloud (et donc de la v7.0 comme indiqué dans le tuto). D’ailleurs, quand je connecte en ssh sur la baie, j’ai ceci :

      pascal@DiskStation:~$ php  -v
      PHP 5.6.11 (cli) (built: May 10 2019 04:18:03) 
      Copyright (c) 1997-2015 The PHP Group
      Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
      

      Ce qui n’empêche pas, dans le tuto, de demander au WebServeur d’utiliser la version 7.0 de PHP.

      Ceci dit, je pense que tes problèmes viennent de cette version 7.3. Pourquoi tiens-tu absolument à l’utiliser ? Il semble qu’il y ait des problèmes entre PHP 7.3 et phpmyadmin… Tu peux regarder cette page qui explique la situation (phpmyadmin utilise un module PHP interne, ce qui pose des problèmes de compatibilité), et donne un « workaround » en attendant que Synology fournisse une solution officielle, peut-être fin 2019 (en anglais) :
      https://mariushosting.com/force-phpmyadmin-to-use-the-latest-php-version-instead-of-5-6/

      Concernant le message Nextcloud, vérifie ton architecture. Ma baie Synology est 32 bits :

      pascal@DiskStation:~$ uname -m
      armv7l
      

      => ARMv7 est un processeur 32 bits. Si tu vois ARMv8, là tu as un 64 bits…
      Mais tu es probablement en 32 bits, donc je pencherais pour un problème lié à ta version 7.3 de PHP. Perso, je l’enlèverai sauf raison particulière.

      1. Bonjour,
        Merci de ta réponse rapide est très claire. Je pensais juste utiliser 7.3 car plus récente donc plus efficace (? peut-être, lol).
        Pour l’ARM (uname -m), j’ai ARMv5tel, donc forcément du 32bits. Et pour PHP (php -v), j’ai la même chose que toi.
        Bon je supprime la 7.3 et installe les 5.6 et 7.0 et paramètre comme dans le tuto dans WebStation.

        Merci bcp, tu me dépannes bien. Je vais pouvoir finaliser tout ça !

  13. Bonjour,
    Merci pour le tuto.
    Par contre je rencontre une multitude d’erreurs lors du lancement de nextcloud. Voici le contenu complet du cadre d’erreur :

    Erreur

    Aucun pilote de base de données n’est installé (sqlite, mysql ou postgresql).

    Le module PHP zip n’est pas installé.

    Veuillez demander à votre administrateur d’installer le module.

    Le module PHP GD n’est pas installé.

    Veuillez demander à votre administrateur d’installer le module.

    Le module PHP cURL n’est pas installé.

    Veuillez demander à votre administrateur d’installer le module.

    Le module PHP OpenSSL n’est pas installé.

    Veuillez demander à votre administrateur d’installer le module.

    Les modules PHP ont été installés mais sont toujours indiqués comme manquants ?

    Veuillez demander à votre administrateur serveur de redémarrer le serveur web.

    Est-ce que j’ai manqué quelque chose ?

    1. Bonjour,
      Apparemment, tu as loupé des trucs côté PHP. Les modules manquants dans le journal d’erreur sont en fait les extensions qu’il faut activer mentionnées en début d’article. Retourne donc dans les paramètres de PHP dans Webstation, et revérifies tout ça, en particulier les extensions activées (et la version PHP sélectionnée).
      Bonne chance.

  14. Merci Pascal. Effectivement c’était bien les modules qui étaient manquant. Je les avais activé dans le profile PHP 7.0, mais lorsque j’ai lancé nextcloud, une page blanche avec un message d’erreur m’avait invité à installé PHP 7.2 ou +. Il semble que la dernière version de nextcloud nécessite PHP 7.2. Après l’installation j’avais oublié d’activer ces modules dans le profile 7.2.
    Mais maintenant j’ai une autre erreur :
    Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [1130] Host ‘lfbn-ncy-1-904-62.w90-101.abo.wanadoo.fr’ is not allowed to connect to this MariaDB server
    Et après quelques jours de recherche, je sèche.

    1. Bonjour Laurent,
      Je me rends compte que je n’ai jamais parlé de version Nextcloud dans ce tuto… En l’occurence, c’était la 13, j’ai depuis fait une mise à jour en 14… Aujourd’hui, on en est à la version 17, et il faut minimum PHP 7.1, et la 7.2 est « recommended » (voir ici : https://docs.nextcloud.com/server/17/admin_manual/installation/system_requirements.html).

      Bref, je ne connais pas ta config, ni quel est ce host « xxx.wabadoo.fr », mais le message est assez clair : l’utilisateur qui essaie de se connecter à la base de données n’a pas les droits requis.
      Regarde bien l’avant-dernier screenshot du tuto : tu dois entrer en bas de l’écran le nom de l’utilisateur de la base de données et son mot de passe : as-tu bien mis « root » comme utilisateur et le bon mot de passe défini plus haut ? Vérifie que la connexion fonctionne avec cet utilisateur en te connectant via le phpMyAdmin de Synology…
      Si ta config est plus complexe (la machine à partir de laquelle tu te connectes (à priori xxx.wanadoo.fr) est sur un autre réseau que ton NAS Synology (WAN), il y a peut-être d’autres problèmes de droits entre domaines, je ne sais pas ? Ma config est sur le même réseau (LAN), c’est-à-dire que mon PC (à partir duquel je me connecte) et sur le même réseau que la baie Synology. Si c’est le cas, essaie de te connecter à ton Nextcloud à partir d’un navigateur connecté sur le même réseau.

  15. Bonjour,

    Tout d’abord, merci beaucoup pour ce super tuto. Etant totalement débutant, ça m’a énormément aidé.

    J’ai cependant un souci que je n’arrive pas à résoudre. Je parcours les forums à la recherche d’une solution mais sans succès.
    Je suis avec Apache2.4 et PHP 7.3. Mon problème se situe au niveau de la création d’un compte administrateur sur la page Nextcloud.

    J’ai choisi d’entrer le login admin pour le compte administrateur, j’ai sélectionné MariaDB et entré root avec son mdp associé, le nom de la base « admin » et 127.0.0.1:3307 comme adresse et port.

    L’erreur suivante m’est retournée : Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user ‘oc_admin’@’localhost’ (using password: YES)

    J’arrive sans problème à me connecter à phpmyadmin avec le login root et j’ai créé l’utilisateur admin en localhost et sa base associée avec tous les droits dessus.
    CREATE USER ‘admin’@’localhost’ IDENTIFIED BY ‘***’;GRANT ALL PRIVILEGES ON *.* TO ‘admin’@’localhost’ REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;CREATE DATABASE IF NOT EXISTS `admin`;GRANT ALL PRIVILEGES ON `admin`.* TO ‘admin’@’localhost’;GRANT ALL PRIVILEGES ON `admin\_%`.* TO ‘admin’@’localhost’;

    (J’ai essayé aussi sans créer d’utilisateur et avec une base nommée nextcloud).
    J’ai essayé en changeant le mdp root via l’interface MariaDb, j’ai tout désinstallé et réinstallé (applications)…

    Je ne vois pas trop pourquoi je n’arrive pas à créer un compte administrateur via l’interface nextcloud.
    Il y a surement quelque chose que je fais mal car ça n’a pas l’air d’être une erreur chez les autres utilisateurs.

    J’espère que vous pourrez m’aider à trouver le problème.

    En tout cas, merci encore pour ce tuto de qualité.

    Bonne journée.

    1. Bonjour Cédric,
      Tu utilises apparemment l’utilisateur « oc_admin » : existe-t-il bien et a-t-il les droits suffisants ?? Il doit s’agir d’un compte Synology avec les droits admin, et ton erreur est « Access denied « , donc je dirais que ce compte à priori n’a pas les droits nécessaires.
      Essaie déjà avec le compte admin de base, et regarde si ça marche.
      Bonne chance !

      1. Bonjour Pascal,
        Je ne m’attendais vraiment pas à une réponse aussi rapide. 🙂
        Question certainement stupide mais est-ce que c’est normal que « oc_ » se rajoute avant le compte administrateur que l’on entre?
        Sinon j’ai effectivement essayé avec mon compte administrateur de mon Synology (membre du groupe « administrators ») et j’ai exactement la même erreur. J’ai vérifié que mon compte administrateur ait bien les droits en lecture et écriture dans le dossier de mes futures données sur NextCloud que j’ai baptisé nextcloud.

        Effectivement, je ne semble pas avoir les permissions. Je viens de m’ apercevoir qu’avec ce compte le dossier « homes » a disparu. Je me suis connecté avec putty et voilà l’erreur que j’ai eu quand je me suis logué :
        login as: seed
        seed@192.168.40.1’s password:
        Could not chdir to home directory /var/services/homes/seed: Permission denied
        -sh: /var/services/homes/seed/.profile: Permission denied

        Je suis allé voir dans /var/services/homes/ et l’accès m’est refusé.
        Je ne sais pas trop comment rétablir la situation…

        En tout cas, merci de m’avoir indiqué cette démarche qui m’a permis de voir un problème et merci d’avoir pris le temps de me répondre.

  16. Bonjour Pascal,
    Vu que ça sort du cadre de l’installation de NextCloud et que j’ai d’autres soucis, je vais tout réinstaller sur mon Synology et refaire la manipulation.
    Merci beaucoup pour votre aide et je vous tiens au courant.
    Bonne journée.

    1. Bonsoir Pascal,

      Comme convenu je vous informe de mes « avancées ».
      J’ai réinstallé mon Synology totalement et réessayé d’installer NextCloud et j’ai le même problème qu’avant…
      Je ne sais plus trop où chercher.

        1. Bonjour Pascal,
          Désolé de ma réponse tardive mais je suis pris par le temps. Merci beaucoup pour ta réponse, je testerai ça quand j’aurai du temps.
          En tout cas, merci et bonne journée.

  17. Bonjour Pascal,
    Merci pour le tuto.
    J’ai installé NextCloud 18 avec php 7.3 sur un DS 1019+
    Tout ce passe bien jusqu’à l’erreur 504 que tu évoques. Lorsque je raffraichis la page, je retombe sur la page de configuration pour resaisir le compte admin, les cred de la bdd, etc.
    Bref je boucle

    1. Bonjour Félix,
      L’erreur 504 est un « Gateway time-out », ce qui signifie que ça ne répond pas à un endroit sur le réseau… Essaie en remplaçant ton adresse « xxx.synology.me » par ton adresse locale (192.168.x.y), ça devrait résoudre le problème. Ensuite vérifie que ton adresse « xxx.synology.me » (service Quickconnect de Synology) fonctionne bien.

  18. Bonsoir et merci pour le tuto,

    Est-il possible de se connecter à un cloud existant ?
    Je suis dans l’éducation National, et on nous a attribué un cloud académique (cloud.ac-nancy-metz.fr). J’aimerais pouvoir le synchroniser avec mon Synology.
    Est-ce possible ?

    Merci.

    1. Salut Sébastien,
      Après une recherche rapide sur le net, pas de paquet « Client Nextcloud » de fourni ni par Synology, ni par la communauté. C’est ce que j’utilise sur mon PC pour synchroniser mon instance Nextcloud. Voir ici : https://nextcloud.com/install/#install-clients : il y a des clients Windows, Mac, Linux.

      Par contre Synology te fournit un paquet « Cloud Sync » (https://www.synology.com/fr-fr/dsm/feature/cloud_sync), qui devrait te permettre de faire ce que tu veux puisqu’il supporte le WebDAV, et que NextCloud le fournit. L’URL WebDAV est fournie dans ton inferface Nextcloud, dans Paramètres en bas à gauche. D’après ce que j’ai lu, il faudra mettre comme adresse serveur un truc du genre : https://my.next.cloud/remote.php/webdav (ATT ne pas mettre de « / » à la fin), puis ton nom et mot de passe.
      Par contre je ne l’ai jamais fait, donc n’hésite pas à faire un retour !
      Bonne chance.

  19. Bonjour,

    Merci pour le tuto.

    J’ai réussi à faire l’installation de nextcloud 18.0.3 avec PHP 7.3 sur mon Synology mais avec les changements suivants:

    Une fois MariaDB installée, s’y connecter avec le login root et créer un nouvel utilisateur: Nom d’utilisateur: nextcloud, Nom d’hôte: local host. Cocher la case « Créer une base portant son nom et donner à cet utilisateur tous les privilèges sur cette base. »

    Puis dans les paramètres PHP j’ai décoché: PHP personaliser open_basedir

  20. Bonjour,
    Quand j’essaye d’accéder à la page nextclou, j’ai le message suivant : Erreur interne du serveur

    Le serveur est incapable d’exécuter votre requête

    Une idée ?

  21. Merci Pascal pour ce tuto que j’ai suivi pas à pas.

    Ma version de nextcloud 18.0.4 avec PHP 7.3 sur un DS 219+

    Lors de la connexion, j’ai le message d’erreur suivant :

    « Impossible de créer, ou d’écrire dans, le répertoire des données /volume1/homes/Yves/NextCloud »

    J’ai tout recontrôlé, il me semble que tout est correct, qu’aurais-je bien pu louper ?

    J’ai également testé la solution de ron le 5 avril 2020, et obtiens cette-fois-ci le message d’erreur suivant :

    « SQLSTATE[HY000] [2002] No such file or directory »

    J’avoue que je sèche…

    1. Informations complémentaires :

      Dans le 1e cas, j’ai trouvé une erreur dans l’adresse open_basedir :
      /tmp:/var/services/tmp:/var/services/web:/var/services:/volume1/homes/yves/NextCloud
      J’ai rectifié yves en Yves (avec une majuscule), et je reçois la même erreur que dans le 2e cas :
      « SQLSTATE[HY000] [2002] No such file or directory »

      J’ai également les erreurs « Operation non permitted » quand je lance dans un terminal en SSH (sur Linux) :
      admin@DiskStation: find /volume1/web/nextcloud/ -type f -print0 | xargs -0 chmod 777
      admin@DiskStation: find /volume1/web/nextcloud/ -type d -print0 | xargs -0 chmod 777
      admin@DiskStation: find /volume1/homes/Yves/NextCloud/ -type d -print0 | xargs -0 chmod 777

      Alors que avec :
      admin@DiskStation:/volume1/homes/Yves$ ls -l
      Je reçois :
      drwxrwxrwx 1 http http 152 May 23 18:34 NextCloud
      Pour les autres répertoires j’ai les droits « drwxrwxrwx+ », que signifie le + qui ne figure pas derrière les droits du dossier NextCloud ?

  22. Salut Yves,
    Concernant le « + » présent à la fin des permissions, cela signifie qu’il y a un ACL (Access Control List) qui permet un autre niveau de contrôle des permissions. Plus d’infos ici. Ne t’en préoccupe pas, il n’y en a pas dans notre cas sur le répertoire NextCloud.

    Pour ton problème, il faut déjà que le script de permissions fonctionne avant d’aller plus loin. Tu le lances bien avec le « sudo » ? Sinon, exécute les commandes une par une en dehors du script, genre « sudo find /volume1/web/nextcloud/ -type f -print0 | xargs -0 chmod 777 », il n’y a de raisons que cela te renvoie ce message d’erreur « operation not permitted ». Au pire, tu te déplaces dans le répertoire et modifies les droits sur tous les fichiers : « cd /volume1/web/nextcloud ; sudo chmod -R 777 ».

    J’espère que cela réglera le problème suivant…

  23. Merci Pascal pour ta réponse.

    admin@DiskStation:/$ sudo find /volume1/web/nextcloud/ -type f -print0 | xargs -0 chmod 777

    renvoi :
    chmod: changing permissions of ‘/volume1/web/nextcloud/ocs/v2.php’: Operation not permitted
    chmod: changing permissions of ‘/volume1/web/nextcloud/ocs/v1.php’: Operation not permitted

    admin@DiskStation:/volume1/web/nextcloud$ sudo chmod -R 777 /volume1/web/nextcloud
    (ne renvoi pas d’erreurs)

    admin@DiskStation:/volume1/web/nextcloud$ ls -l
    total 100
    drwxrwxrwx 1 http http 648 May 22 20:02 3rdparty
    drwxrwxrwx 1 http http 992 May 22 20:02 apps
    -rwxrwxrwx 1 http http 15752 Apr 22 21:23 AUTHORS
    drwxrwxrwx 1 http http 94 May 22 20:14 config
    -rwxrwxrwx 1 http http 3910 Apr 22 21:23 console.php
    -rwxrwxrwx 1 http http 34520 Apr 22 21:23 COPYING
    drwxrwxrwx 1 http http 440 May 22 20:01 core
    -rwxrwxrwx 1 http http 5048 Apr 22 21:24 cron.php
    drwxrwxrwx 1 http http 64 May 22 20:34 data
    -rwxrwxrwx 1 http http 156 Apr 22 21:24 index.html
    -rwxrwxrwx 1 http http 2976 Apr 22 21:24 index.php
    drwxrwxrwx 1 http http 126 May 22 20:01 lib
    -rwxrwxrwx 1 http http 283 Apr 22 21:24 occ
    drwxrwxrwx 1 http http 18 May 22 20:02 ocm-provider
    drwxrwxrwx 1 http http 50 May 22 20:01 ocs
    drwxrwxrwx 1 http http 18 May 22 20:01 ocs-provider
    -rwxrwxrwx 1 http http 3056 Apr 22 21:24 public.php
    -rwxrwxrwx 1 http http 5235 Apr 22 21:24 remote.php
    drwxrwxrwx 1 http http 158 May 22 20:02 resources
    -rwxrwxrwx 1 http http 26 Apr 22 21:24 robots.txt
    -rwxrwxrwx 1 http http 2381 Apr 22 21:24 status.php
    drwxrwxrwx 1 http http 26 May 22 20:01 themes
    drwxrwxrwx 1 http http 42 May 22 20:01 updater
    -rwxrwxrwx 1 http http 362 Apr 22 21:29 version.php

    Il me semble que les permissions sur ce répertoire étaient déjà les mêmes auparavant.
    Par contre, j’ai fait la même opération sur mon dossier NextCloud :

    admin@DiskStation:/volume1/homes/Yves/NextCloud$ ls -l
    total 104756
    -rw-r–r– 1 http http 0 May 23 18:34 index.html
    -rw-rw-r– 1 http http 107260727 May 22 20:01 nextcloud-18.0.4.zip
    -rw-r—– 1 http http 2762 May 22 21:26 nextcloud.log
    -rw-rw-r– 1 http http 550 May 22 20:06 nextcloud-permissions.sh

    admin@DiskStation:/volume1/homes/Yves/NextCloud$ sudo chmod -R 777 /volume1/homes/Yves/NextCloud
    Password:

    admin@DiskStation:/volume1/homes/Yves/NextCloud$ ls -l
    total 104756
    -rwxrwxrwx 1 http http 0 May 23 18:34 index.html
    -rwxrwxrwx 1 http http 107260727 May 22 20:01 nextcloud-18.0.4.zip
    -rwxrwxrwx 1 http http 2762 May 22 21:26 nextcloud.log
    -rwxrwxrwx 1 http http 550 May 22 20:06 nextcloud-permissions.sh

    Connexion sur le serveur nextcloud :
    « Impossible de créer, ou d’écrire dans, le répertoire des données /volume1/homes/Yves/NextCloud »

    Rien à changer en fait (?)

    1. Salut Yves,
      Bon voilà ce que je comprends de ton problème :
      Il y a un problème de droits d’écriture sur ton dossier NextCloud, et c’est à priori le serveur web de Synology (Apache) qui s’en charge, avec le user http. C’est pour ça qu’on lui donne les droits et la propriété des dossiers « nextcloud » dans leur ensemble pendant l’installation.
      Tu peux tester la commande suivante : cd /volume1/homes/Yves/NextCloud puis sudo -u http touch toto => la commande touch va créer un fichier toto (que tu pourras effacer après) avec les droits de l’utilisateur http. Ça permet de vérifier les droits d’écriture de ce user sur ce dossier. Si cela échoue, cela confirme le problème. Si cela réussit, alors c’est plus complexe que ça…
      -=-
      Est-ce du à ton erreur au départ dans la déclaration de open_basedir ? Peut-être… As-tu fait comme ils disent, càd de décocher la case « Personnaliser… » puis bouton Appliquer pour restaurer la configuration par défaut avant de re-modifier le paramètre ? Et éventuellement arrêter/redémarrer le service Apache ?
      Tu peux aussi faire l’essai en utilisant un autre répertoire pour le « data folder », tu peux par exemple tester en choisissant /volume1/web/nextcloud/data (en créant le répertoire bien sûr, et en modifiant les droits si nécessaire, car tu peux le créer directement avec le user http comme suit : sudo -u http mkdir data).
      -=-
      Tu peux aussi chercher du côté des forums nextcloud, comme ici par exemple : https://help.nextcloud.com/t/cant-create-or-write-into-the-data-directory/10184. Dans ce lien, ils pointent un problème de droits sur le répertoire (ici, le user est www-data, mais c’est le même principe qu’avec http). Le type finit par s’en sortir en utilisant un autre répertoire « data » : voir ci-dessus l’essai sur un autre répertoire.
      -=-
      Ou encore aller fouiller côté configuration serveur Apache, tout ce trouve dans « /usr/local/etc/apache24 ». Il y a un répertoire conf et un fichier httpd24.conf (on y voit le user et le groupe http définis) où tu peux modifier le niveau des logs :
      ErrorLog /run/apache24-error_log
      TraceEnable off
      LogLevel error
      => Tu peux tenter un TraceEnable On avec LogLevel debug …. Le répertoire de logs est au même niveau.
      Mais bon ça risque d’être compliqué à analyser et débugger…
      -=-
      Mais à ta place, je commencerais par tout reprendre depuis le début. Tu re-télécharges le zip Nextcloud, tu effaces le répertoire /volume1/web/nextcloud (cd /volume1/web puis sudo rm -rf nextcloud). Attention à cette dernière commande, les sudo rm -rf sous linux ne pardonnent pas si tu te trompes de cible !! Etc… Tu refais tout étape par étape, en t’assurant que chacune fonctionne comme attendu, particulièrement les permissions (si le script échoue, passe les commandes à la main).
      Tu peux aussi aller voir la documentation officielle Nextcloud même si elle n’est pas faite pour Synology : https://docs.nextcloud.com/server/18/admin_manual/installation/source_installation.html

      Bon, avec tout ça, j’espère que tu vas finir par y arriver… La satisfaction n’en sera que plus grande ! Bon courage.

  24. Bonjour,
    merci pour cette procédure détaillée qui est claire.
    J’ai déroulé toute la procédure d’installation et je rencontre un problème lors de la dernière étape. Lorsque je suis arrivé sur la page Nextcloud pour y mettre mes identifiants admin et celui de MariaDB. Lorsque j’ai validé ma saisie et depuis lorsque je lance la page adresse_ip/Nextcloud j’ai une page 403 Une erreur s’est produite lors du traitement de cette demande.
    D’où peut provenir le problème et comment le corriger ?
    Merci
    Jean-Christophe

    1. Bonjour Jean-Christophe,
      Une erreur 403, c’est en général un problème de droit. Vérifie bien l’étape concernant les permissions, et à qui appartiennent les fichiers nextcloud (http:http) dans l’arborescence « /volume1/web/nextcloud/ ».
      Sinon, essaie de trouver les logs de nextcloud pour voir s’ils te donnent plus d’info. Ils doivent être dans l’arborescence de nextcloud, tu peux une recherche du genre : find /volume1/web/nextcloud/ -name « *.log ».
      Je n’ai plus de baie Synology, je ne peux donc pas t’en dire plus.

      1. Bonjour Pascal,
        Après avoir entièrement parcouru toutes tes aides sur Nextcloud avec Synology, je me permets de contacter car depuis 2 jours je sèche sur la 1° page de connexion Nextcloud avec l’erreur :
        Nom d’utilisateur et/ou mot de passe de la base MySQL non valide(s) Vous devez indiquer les détails d’un compte existant.
        Je suis en Synology V7 béta, hé oui…, j’ai bien effectué sans problème les changements de droit, mon répertoire et /volume1/Nextcloud et ma BDD nextcloud avec user root et son MDP modifié.
        Lors du lancement de mariadb10, je suis bien en 3307 avec /run/mysqld/mysqld.sock mais pas /run/mysqld/mysqld10.sock comme j’ai pu le voir ailleurs…
        Qu’en penses tu STP ?
        PES

  25. Bonjour PES,
    Je n’ai plus ma baie Synology (passage à OMV), mais voilà ce que je peux te dire :
    Si l’on en croit le message, le problème est l’accès à la BDD. Après, utiliser des versions beta comporte toujours un risque ! Ce que je ferais à ta place, c’est en premier de mettre la vraie adresse IP de la baie au lieu l’adresse de loopback (127.0.0.1) histoire de tester. Ensuite de me logguer en ssh sur la baie Syno, puis de te connecter en sql afin de vérifier tes réglages. La commande est : « mysql -u root -p ». Ça te permettra déjà de tester ton mot de passe.
    Ensuite vérifies que tu as bien une BDD appelée nextcloud, éventuellement tu la ‘drop’ et tu la crée à nouveau (mais bon…). Voir cette page par exemple. Comme indiqué, vérifies aussi le contenu du fichier config.php de nextcloud.
    Enfin, j’irai voir du côté de OCC, l’outil « command line » de Nexcloud : .
    Courage, c’est la dernière étape ! 😉

  26. Merci beaucoup Pascal, franchement, si tout le monde pouvait répondre comme toi, le monde se porterait beaucoup mieux…
    Après avoir changé l’IP avec celle de mon NAS et Lan, j’obtiens :
    Error while trying to create admin user: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2006] MySQL server has gone away
    et la commande est : “mysql -u root -p” avec mon mot de passe est Goooooood.
    Ca avance, je le sens…

  27. Bonjour PES,
    Bon, j’ai effacé ma réponse d’hier soir, faite à la va-vite.
    – Tu peux remettre l’adresse 127.0.0.1, l’erreur avec l’IP du NAS est plus problématique (il s’agit d’un time-out). Tu peux essayer aussi avec localhost, mais normalement c’est la même chose que 127.0.0.1.
    -=-
    J’ai trouvé cette page avec le même problème : il s’agit de donner le droit GRANT à l’utilisateur de la BDD.
    L’article renvoie à ce bug, à priori fixé, mais tout dépend de ta version Nextcloud. En tout cas, la piste semble intéressante.

  28. Pascal,
    Je t’ai envoyé une copy d’écran via PHPMyAdmin du Synology, sur la BDD Nextcloud, le user root est bien grant avec all privileges.
    Ce que je pense, c’est que Nextcloud page config ne tape pas sur les BDD de Maria10 de mon serveur synology…
    Merci pour ton aide.

    1. Bonjour,
      Je me retrouve avec exactement le même problème que vous (DSM 7). Avez vous finalement pu le résoudre ? Si oui, je serais preneur de votre aide!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *