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.

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’ests 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.

Une réflexion au sujet de « 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).

Laisser un commentaire

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