[MàJ] Nextcloud 12 sur un mutualisé OVH

Chose promise, chose due, il paraît, et pour Nextcloud je l’ai promise plusieurs fois cette chose. Après un bon moment de silence, la faute à pas mal de taf, à un déménagement, à une nouvelle vie qui commence… je vais reprendre si tout va bien un rythme de publication plus régulier.

 

Et pour fêter ça, on va commencer par quelque chose de pas mal demandé par ici : une mise à jour du tutoriel d’installation de Nextcloud / ownCloud sur un hébergement mutualisé OVH. J’y fusionne les retours qui m’ont été faits dans les commentaires de l’ancien article, et d’autres infos plus ou moins liées (genre la synchro avec DAVdroid cassée, c’est pas un pré-requis pour que Nextcloud fonctionne, mais c’est quand même cool d’avoir la solution sous la main ! 😉 ). On ajoutera également une partie sur la synchro des tâches et notes. Allons-y !

 

Pré-requis

Pas de changements majeurs dans les pré-requis, PHP 5.6+ est toujours supporté, même si PVH version 7.0 ou plus récent est recommandé. Pour ma part, j’ai fait l’installation test avec PHP 7.0. Si un changement de version se fait sans souci avant une installation propre (en repartant de zéro — ça fait du bien de temps en temps !), gardez en tête que se borner à changer la version de PHP dans votre fichier .ovhconfig ou via le Manager OVH peut précipiter le recours à l’installation propre parce que ça aurait tout pété. Pas mal de logiciels digèrent mal la chose, j’en ai fait l’expérience ici même (ouais, j’suis comme ça, j’ai pété Open-Freax en testant, heureusement il a suffi de rebasculer en PHP 5.6 pour réparer).

Je vous conseille également d’utiliser MySQL et pas SQLite, si vous avez pas mal de fichiers et/ou de comptes, sinon, bonjour les dégâts et la base corrompue à mort (testé et désapprouvé). Au final, ma base ne prend pas énormément de place, pour un Nextcloud partagé avec madame, et avec pas mal d’applications.

Notez qu’avec la v12 vient son lot de nouveautés : plus d’erreurs ou presque lors des mises à jour via l’interface web, et surtout Nextcloud ne désactive plus les applications tierces (ou les réactive ensuite) : plus besoin de réactiver à la main et une à une les applications « Contacts », « Agenda »… après chaque upgrade.

 

Il vous faut donc simplement un client FTP(S de préférence) et l’archive d’installation officielle. Il existe aussi un script PHP justement fait pour ne pas se cogner des centaines de fichiers à téléverser via FileZilla (par exemple), mais je ne l’ai pas testé avec Nextcloud (je suis passé de la v11 à la v12, sans installation fraîche).

 

On va commencer par l’essentiel, le (sous-)domaine. Dans mon cas, plutôt que d’utiliser une URL de la forme https://mon-domaine.fr/nextcloud/, je préfère un sous-domaine, type https://nextcloud.mon-domaine.fr. C’est affaire de goût, principalement.
Pour le créer, direction le manager OVH, ajoutez votre sous-domaine en prenant bien soin de cocher que vous voulez y accéder en https, pour qu’il ajoute ce sous-domaine à la liste de ceux couverts par votre certificat TLS gratuit Let’s Encrypt. Ensuite, cliquez simplement sur le bouton pour régénérer votre certificat. Patientez quelques minutes (allez prendre un café, ça peut être un poil long), le temps que tout ça se fasse. Pendant ce temps-là, passez à l’étape 1 (du moins le début).

 

Étape 1 : installation de Nextcloud

Simplissime : téléversez l’archive extraite via FileZilla (par exemple). Une fois que le sous-domaine est bien créé et le certificat mis à jour, pointez votre navigateur web vers la page d’installation, et suivez les instructions. C’est tout bon ! Vous pouvez vous y connecter et activer d’autres applications fournies (Agenda, Contacts), tout ça tout ça.

Mais si vous vous rendez dans la partie « Administration » de votre instance fraîchement installée, vous verrez une flopée d’erreurs. Notez que ça n’empêche pas Nextcloud de fonctionner, du moins pas totalement, mais ça peut vous poser souci dans certains cas d’usage, ou causer un risque d’un point de vue sécurité. On va y remédier.

 

admin panel

 

Étape 2 : se débarrasser des erreurs

Étape 2a : les headers

Pour cela, ouvrez le fichier .htaccess à la racine du répertoire contenant Nextcloud et repérez le pavé qui cause des headers.

Modifiez chaque ligne commençant par Header set en Header always set, et ajoutez la ligne au bloc en question :

Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"

 

Étape 2b : forcer HTTPS

Toujours dans le .htaccess, dans le bloc qui parle des RewriteRules, ajoutez en premier dans ce bloc :

RewriteCond %{HTTPS} off et RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ces lignes indiquent que si on accède au sous-domaine concerné via HTTP seulement, alors on renvoie un code 301 (redirection) et on redirige sur la même URL, mais avec un HTTPS devant. Voilà. Il me semble que maintenant OVH fait directement la redirection, à vérifier.

 

Étape 2c : activer le cache

Modifiez le fichier config/config.php et ajoutez la ligne :

'memcache.local' => '\\OC\\Memcache\\ArrayCache',

Puis rechargez la page d’administration, et c’est tout bon. Une erreur de moins, qui peut également causer l’apparition d’un nouveau message comme quoi OPCache serait mal configuré. Je n’ai pas encore pris le temps de regarder ça.

 

Étape 2e : la vérification de code

Puisque nous avons modifié des fichiers propres à Nextcloud, et que depuis quelques temps maintenant un mécanisme vérifie que l’empreinte du fichier en place correspond bien à l’empreinte du fichier fourni par Nextcloud, il paraît logique que ce mécanisme puisse détecter nos modifications et nous en avertir (c’est le but, à la base). Deux options : vivre avec ce bandeau jaune (visible seulement par les administrateurs), ou désactiver la vérification (pas super recommandé, mais ça dépanne).

Dans ce 2e cas, il vous faut ouvrir le fichier config/config.php et ajouter : 'integrity.check.disabled' => true puis relancer la vérification d’intégrité. Le message va disparaître.

 

Étapes restantes…

Restent 2 « soucis » : une erreur concernant la configuration de php-fpm, côté serveur donc, pour laquelle je ne sais pas s’il est possible de faire quelque chose sans passer par OVH. Enfin, l’espace disponible n’est pas renvoyé, même avec ma manip’ « habituelle » : il faut creuser là-dessus ! Rien de bloquant pour le moment, sauf certaines extensions comme celle pour les « gros fichiers » de Thunderbird qui vérifient l’espace disponible… et illimité ne lui convient pas 😛

 

 

Étape 3 : installer le client sans péter sa synchro

Ça parait couillon dit comme ça, hein. Et pourtant…

Techniquement, l’équipe de développement de Nextcloud (un héritage d’ownCloud, techniquement) a décidé que les gros fichiers devaient être découpés en morceaux de 10Mo. Ça se défend, je ne le remet pas en cause. Simplement, sur nos connexion ADSL classiques, ça prend un peu de temps à envoyer, des bouts de 10Mo. Conséquence : le serveur MySQL d’OVH, qui attend les infos sur le fichier tout au long du process, finit par se lasser et fermer la connexion… entraînant l’arrêt de la synchronisation dudit fichier, et une erreur type « MySQL has gone away ». Encore une fois, « on y travaille »… ou pas ? Depuis le temps (genre été 2015), ce n’est pas résolu…

J’ai donc décidé, pour régler le problème côté client, de découper mes « gros » fichiers en morceaux de 1Mo. Plus petit, donc plus rapide à envoyer, donc de multiples connexions à MySQL mais d’une durée plus courte. Et ça passe.

 

Pour ça c’est simple, il faut modifier le fichier de configuration du client. Déjà, installez-le en suivant les instructions officielles, connectez-vous, puis fermez le client.

Il faut ensuite ajouter la ligne chunkSize=1000000 sous la section [General] du fichier de configuration ($HOME/.local/share/data/Nextcloud/nextcloud.cfg sous Linux).

Il existe aussi une autre façon de faire, qui permet d’étendre le changement à tout le système, utile si c’est l’ordinateur familial avec 5 utilisateurs. Pour ça, sous Linux, c’est simple, ajoutez à vos variables d’environnement la suivante : export OWNCLOUD_CHUNK_SIZE=1000000 . Concrètement, vous pouvez soit l’ajouter à votre propre fichier .profile (situé à la racine de votre dossier personnel, ce qui n’affectera que votre utilisateur), soit la propager à tout le système en l’ajoutant au fichier /etc/profile (il vous faudra les droits superutilisateur, dans ce cas).

Pour OS X: c’est la même commande que celle indiquée ci-dessus, puis vérifier dans le fichier de log situé dans: « /Applications/nextcloud.app/Contents/MacOS/nextcloud »

Sous Windows : Panneau de configuration > Système > Paramètres système avancés, puis créer une nouvelle variable soit pour l’utilisateur en cours, soit pour l’entièreté du système :

  • Nom de la variable: OWNCLOUD_CHUNK_SIZE
  • Valeur de la variable: 1000000

 

 

Étape 4 : installer/configurer les différentes synchronisations avec Nextcloud sous Android

On va traiter plusieurs choses ici : le client pour les fichiers (qui nous servira également à téléverser automagiquement nos photos, comme le fait Google avec son propre service, sauf que là ça reste chez nous), un client contacts/agenda qui nous permettra de stocker nos contacts et RDV ailleurs que sur un compte Google, un client de synchronisation des tâches et enfin un client pour les notes (façon Google Keep, si on veut et si ça existe encore).

 

Étape 4a : installer les clients

Plusieurs options s’offrent à vous : passer par le Google Play Store ou par le dépôt de logiciels libres F-Droid. Nextcloud a fait un choix différent d’ownCloud, et bienvenu : l’application officielle est gratuite sur le Play Store (ownCloud vous facture la sienne 0,79€, ce n’est pas excessif mais c’est un choix discutable). Si vous souhaitez passer par F-Droid, la procédure est simple : dans les paramètres de sécurité du téléphone, activez temporairement l’installation d’applications provenant de sources inconnues (au sens de Google, « inconnue » signifie hors Play Store… ce n’est pas forcément dangereux), rendez-vous via le téléphone sur f-droid.org fpour télécharger le fichier APK d’installation. Installez-le. C’est fait !

Petit récapitulatif des logiciels que je vais utiliser ici :

Synchro de… Client Licence Play Store F-Droid
Fichiers/photos Nextcloud GPL v2.0 Télécharger (gratuit) Télécharger
Contacts/agenda DAVdroid GPL v3.0 Télécharger (3,99€) Télécharger
Tâches OpenTasks Apache 2.0 Télécharger (gratuit) Télécharger
Notes Nextcloud Notes GPL v3.0+ Télécharger (2,99€) Télécharger
Favoris Nextcloud Bookmarks MIT  Télécharger (0,79€) Télécharger

 

Alors, je ne dis pas que ce sont les meilleurs, ou les seuls, simplement ils répondent à mes critères : simples à utiliser, savent se faire oublier (genre la sauvegarde automatique des photos prises, ou même DAVdroid qui une fois configurer ne demande plus rien et fait son job), gratuits (sur F-Droid du moins, et de toutes façons je n’ai pas les services Google Play sur mon smartphone), et surtout libres.

Mais libre à vous d’utiliser autre chose et, pourquoi pas, de me suggérer des outils dans les commentaires : je suis toujours preneur d’infos ! 😀

 

Certaines de ces applications sont à ajouter à la main côté serveur évidemment. Au pire, il vous suffit de vous rendre sur Nextcloud Apps, de prendre le fichier zip qui correspond à votre version de Nextcloud (a priori, la 12 😉 ) et de le décompresser dans le dossier apps/ de votre instance, toujours via votre client FTP(S), ou même via l’interface web (net2ftp) proposée par OVH. Ensuite, il suffit de les activer dans le menu « Applications » !

 

Étape 4b : activer l’authentification à 2 facteurs pour Nextcloud

C’est facultatif, bien évidemment, MAIS je le recommande très fortement. Concrètement, vous ajoutez une couche de protection à votre instance : lors de votre connexion, Nextcloud vous demandera un code en plus de votre mot de passe, et vous devrez utiliser votre smartphone pour l’obtenir (ou un des codes de secours sur papier, au pire).

C’est ce qu’on appelle l’authentification forte : vous cumulez 2 facteurs d’authentification (« ce que vous savez » : le mot de passe de votre compte, et « ce que vous possédez » : votre smartphone. En théorie, vous êtes le seul à pouvoir réunir ces deux éléments).

Vous avez pour cela besoin de deux éléments :

  • installer l’application « Two Factor TOTP Provider » côté serveur (la télécharger)et l’activer ;
  • installer et configurer une application permettant de générer les codes sur votre téléphone. Beaucoup de gens utilisent Google Authenticator, mais je vous recommande quelque chose de plus sérieux comme OneTimePad. Il stocke les secrets permettant de générer des codes de manière sécurisée, c’est un atout indéniable, et il est libre, sous licence MIT (le code de Google Authenticator a été refermé il y a quelques années, alors qu’il était initialement ouvert). Bref, choisissez un outil qiu vous convient, tant qu’il respecte la RFC 6238 qui décrit l’implémentation de TOTP.

 

Une fois que tout cela est fait, il vous suffit de vous rendre sur la page « Personnel » (via le menu en haut à droite), d’activer TOTP, et de générer des codes de secours. Vous aurez un QRCode à « scanner » dans l’application mobile, pour permettre la génération de codes. C’est pas plus compliqué que ça !

 

TOTP

 

 

Étape 4c : configurer l’application officielle

Rien de bien compliqué : au lancement, il faut simplement remplir 3 champs : l’adresse URL de votre serveur, votre login, et votre mot de passe (en cas d’OTP, voir juste au-dessus).

Et c’est parti.

 

Pour ajouter la fonctionnalité « InstantUpload » allez dans les paramètres, puis « Téléversement automatique ». Les dossiers contenant des photos apparaissent, et vous pouvez pour ceux de votre choix tapoter le petit nuage, qui virera au bleu : les nouvelles photos seront envoyées directement dans votre cloud. Il y a également davantage d’options, comme l’emplacement de stockage, le téléversement par Wi-Fi uniquement, ce genre de choses.

 

Étape 4d : configurer DAVdroid (et le reste)

Alors là c’est la magie. Il vous suffit d’ouvrir l’application Nextcloud officielle, d’aller dans les paramètres, et y’a un bouton… « Configurer DAVdroid pour le compte actuel ». 😀

Cela va ouvrir DAVdroid avec tout pré-remplir, sauf votre mot de passe évidemment. Il ne vous reste plus qu’à le saisir et vous connecter.

 

Si pour une raison X ou Y cela ne fonctionne pas, remplacez l’URL fournie par celle accessible dans l’agenda ( https://nextcloud.mon-domaine.fr/remote.php/dav/principals/users/mon_login ). Il trouvera quand même les contacts, rassurez-vous !

 

 

nextcloud bookmarks app

 

Bonus : mot de passe de mise à jour

Lorsque vous utilisez l’outil de mise à jour intégré, via l’interface web, il est fort probable qu’il vous demande un mot de passe. Qui n’est pas le votre. Il demande la version en clair de ce qui correspond à updater.secret contenu dans votre fichier de configuration serveur. Et évidemment, puisque c’est un hash, ce n’est pas réversible.

La seule solution est donc de générer un nouveau updater.secret et de le remplacer dans config.php, en notant au passage la valeur en clair ! 🙂

Pour ce faire, créez un fichier PHP vierge quelque part sur votre mutu, et placez-y le contenu suivant :

<?php $password = trim(shell_exec("openssl rand -base64 48"));if(strlen($password) === 64) {$hash = password_hash($password, PASSWORD_DEFAULT) . "\n"; echo "Insert as updater.secret: ".$hash; echo "The plaintext value is: ".$password."\n";}else{echo "Could not execute OpenSSL.\n";}; ?>

Accédez à ce fichier depuis votre navigateur, notez les deux valeurs renvoyées, et c’est tout bon, vous pourrez mettre à jour après remplacement du hash et validation de sa valeur en clair !

 

 

Comme d’habitude, si vous avez des questions, besoin de compléments, un souci… N’hésitez pas, les commentaires sont là pour ça !

34 réflexions sur “ [MàJ] Nextcloud 12 sur un mutualisé OVH ”

  • 12 septembre 2017 à 11 h 04 min
    Permalink

    Bonjour, Maxime et merci pour cette mise à jour.

    Mon site est en NC 12.02 depuis pas mal de temps, maintenant, et fonctionne bien, avec quand même quelques soucis :
    1) Le site st toujours beaucoup plus long à charger avec Firefox qu’avec Chromium
    2) des erreurs sur la page administration (sans compter ce foutu getenv(« PATH ») retourne seulement une réponse vide. ) :
    – Des fichiers n’ont pas passé la vérification d’intégrité. (je n’ai plus le bandeau avec la modif. du fichier config, mais toujours le message d’erreur dans la page)
    – et surtout ces lignes :
    « Le PHP OPcache n’est pas correctement configuré. Pour de meilleure performance nous recommandons d’utiliser les paramètres suivant dans le php.ini :

    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
     »
    Vois-tu d’où peuvent venir ces dernières erreurs que tu ne semble pas avoir eu ?

    Merci encore et vive NextCloud (et les logiciels libres) !

    Réponse
    • 12 septembre 2017 à 11 h 09 min
      Permalink

      Correction : en ce qui concerne l’intégrité des fichiers, il ne suffit pas de recharger la page : il faut bien relancer la vérification, (comme tu le dis d’ailleurs) et le message disparaît.

      Réponse
    • 12 septembre 2017 à 14 h 49 min
      Permalink

      Hello,

      Oh que si, malheureusement, je parle bien (étape 2c) d’erreurs liées à OPCache. Je les ai depuis le passage à la v11 ou 12, je ne sais plus. En fait je ne sais même plus si c’est lié au passage à PHP 7 ou si elles sont apparues « comme ça » suite à un changement côté OVH.

      Je t’avoue que comme ça ne se « sent » pas dans mon usage quotidien je n’ai pas encore cherché (peut-être à voir côté setenv() genre dans le .htaccess ?).

      Pour le coup du getenv qui foire, ça fait également un bon moment (depuis quoi, le passage à php-fpm ?), mais pareil, je ne sais pas ce que ça change…

      Enfin, concernant l’écart de temps de chargement entre Chromium et Firefox, alors là… je vais tester tiens ! 😀

      Réponse
  • 15 septembre 2017 à 15 h 24 min
    Permalink

    Bonjour Maxime,

    Je voulais juste dire merci pour ce tuto qui tombe à point nommé : je devais faire évoluer un nextcloud 11 vers le 12 sous OVH.
    Je ne suis pas une professionnelle de l’informatique, mais tes explications claires m’ont permis de mener à bien la chose.
    Donc mille fois merci !
    Juste une petite précision : pour le message d’erreur de vérification de code, tu indiques que la manip permettant de ne plus afficher l’erreur n’est pas recommandée, mais est-ce si grave si on la fait quand même ?

    Réponse
    • 15 septembre 2017 à 16 h 03 min
      Permalink

      Bonjour Cilou !

      Merci pour ton commentaire, je suis content que cet article t’aie rendu service, c’est son but premier 😉

      Je préférais indiquer dans l’article qu’en effet, il n’est pas recommandé de désactivé la vérification d’intégrité. Ce n’est pas du tout pour des raisons de fonctionnement, ton Nextcloud tournera nickel sans. C’est plutôt pour des raisons de sécurité, et je détaille un minimum quand même.

      Régulièrement, Nextcloud vérifie un certain nombre de fichiers internes, afin de s’assurer qu’ils n’ont pas été modifiés par un tiers (possiblement un attaquant). Pour cela, il compare l’empreinte de ces fichiers à une liste d’empreintes « originales » : si ça correspond, c’est tout bon, s’il y a un écart, c’est que le fichier en place ne correspond pas à celui distribué officiellement par Nextcloud.

      Et comme on en modifie certains pour que ça tourne correctement chez OVH, forcément, on déclenche cette erreur (mais c’est voulu), et un bandeau d’erreur jaune apparaît (mais seulement pour les administrateurs, rassure-toi).
      Le seul hic possible avec ça, c’est de ne pas être averti si une personne malveillante modifiait à nouveau nos fichiers pour, mettons, y installer une porte dérobée.

      En gros, tu as le choix entre te passer des modifications (et donc de DAVdroid, etc. Et de voir revenir d’éventuels problèmes de confidentialité parce que les headers qu’on a rajoutés vont dégager), vivre avec le message d’erreur et vérifier régulièrement la liste des fichiers non conformes (pour s’assurer qu’il n’y a que ceux que tu as modifiés), ou désactiver la vérification. La balle est dans ton camp ! 😀

      Si tu as besoin d’autres précisions, n’hésite pas.

      Réponse
      • 20 septembre 2017 à 15 h 26 min
        Permalink

        Bonjour Maxime,

        Merci pour toutes ces explications. Je garde la balle dans mon camp en vivant avec ce message d’erreur !
        Je me bats maintenant avec des problèmes de blocage de fichier… Est-ce que cela pourrait venir d’une connexion Internet trop lente qui génère trop d’échecs lors de téléversements même si les fichiers <4Mo ?
        Merci.

        Réponse
        • 21 septembre 2017 à 11 h 10 min
          Permalink

          Bonjour,

          Qu’est-ce que tu appelles blocage ? Tu as une liste qui coince dans le client ?
          Sinon oui ça peut venir de la taille des fichiers, d’échecs répétés auquel cas il les ignore… Dis-moi tout et j’essaierai de te venir en aide \o/

          Réponse
          • 21 septembre 2017 à 15 h 05 min
            Permalink

            Bonjour Maxime,

            Je parle de fichiers bloqués, engendrant une impossibilité de faire quoi que ce soit dessus et de téléverser d’autres fichiers dans le répertoire concerné.
            J’ai trouvé une solution ici : https://help.nextcloud.com/t/file-is-locked-how-to-unlock/1883
            mais j’aimerai bien comprendre pourquoi cela arrive…
            Merci.

  • 19 septembre 2017 à 14 h 09 min
    Permalink

    Bonjour.
    Décidément, NextCloud n’est pas si simple ….
    J’ai bien lu cette nouvelle (et bienvenue) mouture du tuto et je me suis rendu compte que mon agenda suar android n’était plus mis à jour et, dans l’autre sens, mes contacts sur NextCloud n’étaient pas mois à jour, et je me suis souvenu que j’avais oublié de mettre à jour le fichier base.php depuis mon passage à NC 12.02 (par rapport aus ajouts de Maxime, j’ajoute également ‘/^gvfs/’, pour l’utilisation de Nautilus sous Linux)
    mais ….
    à chaque tentative d’ajout de compte à DavDroid sur mon smartphone, j’obtiens : aucun accès possible au service CalDAV ou CarDAV
    Pourtant :
    – le client NextCloud du smartphone fonctionne correctement
    – l’application Cardbook de Thunderbird (sur mon PC) fonctionne correctement
    – l’agenda NextCloud se synchronise bien avec l’agenda de Thunderbird (sur mon PC)
    -l’application davfs (qui permet de monter les fichiers distants de NC sous Linux) fonctionne.
    J’utilise com.nextcloud.client_2.0.0RC6 (c’était la même chose avec la version précédente)
    et DavDroid_167.apk
    J’y ai passé une journée sans avancer d’un poil !

    Réponse
    • 21 septembre 2017 à 11 h 08 min
      Permalink

      Hello,

      Ah bah tu vois pour gvfs j’étais persuadé qu’il y était de base… Mais comme je fais un copier/coller de cette portion à chaque fois, j’avais pas fait gaffe. Ils l’ont peut-être enlevé car plus incompatible ?
      Du coup dans mon fichier il y est encore oui, vu le C/C systématique 😉

      Pour ton DAVdroid, tu as mis quoi comme URL de serveur ? J’indique dans l’article que pour que ça fonctionne il faut mettre la version longue (il ne semble pas découvrir correctement avec well-known, ça gave) 😕

      Réponse
      • 21 septembre 2017 à 17 h 01 min
        Permalink

        Bonjour, Maxime.
        En effet sur le client NextCloud, j’ai mis la version longue, avec princpals/users …
        et il a bien trouvé (il me donne automatiquement une adresse courriel don je ne sais pas trop quoi faire, du style mon_login@mon_serveur.fr)
        Mais :
        1) avec DavDroid, qui trouve mon agenda et mes contacts, quoi que je mette, me répond pas de service CalDAV ou CarDAV trouvé lorsque je clique sur connexion.
        2) sur mon Agenda ou mes contacts, j’ai toujours les choix entre mes adresses Google ou Miui, mais je n’ai plus ceux de NC.
        3) Lorsque je mets un nouveau fichier sur le serveur, le client NC le trouve tout de suite, mais l’opération inverse (téléversement) échoue.
        Hier, j’ai refait une installation neuve de NC mais ça n’a rien changé. Comme tu le dis : « ça gave ! »

        Réponse
        • 21 septembre 2017 à 17 h 13 min
          Permalink

          Nouvel essai : j’ai créé un dossier sur le client et je le retrouve bien sur le serveur. J’y perds mon latin !

          Réponse
          • 2 octobre 2017 à 8 h 22 min
            Permalink

            Tu en es où de ton histoire latine ? 🙂

  • 27 septembre 2017 à 11 h 20 min
    Permalink

    Merci beaucoup pour ce récap’ très détaillé Maxime, super utile !

    J’ai un mutualisé Perf1 chez OVH il me reste tout de même quelques soucis.

    En cas de connexion lente, j’ai un Bad Request dans les logs et le fichier ne s’uploade pas. Je pense que ça vient d’un timeout quelque part car l’upload ne se fait pas assez rapidement.

    Ne me reste « que » deux erreurs dans l’administration :

    La fameuse « php ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(« PATH ») retourne seulement une réponse vide. »

    et :

    Le PHP OPcache n’est pas correctement configuré. Pour de meilleure performance nous recommandons d’utiliser les paramètres suivant dans le php.ini :
    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

    J’ai contacté OVH à ce sujet hier, et ils me répondent forcement de passer par un VPS ou un dédié. Ce qui est dommage car on doit vraiment pas être loin de la perfection.

    En espérant que ça en éclaire certains,
    Merci encore !

    — G

    Réponse
    • 2 octobre 2017 à 8 h 20 min
      Permalink

      Hello !

      Oui pour les 2 dernières erreurs (le coup du getenv() et de la config OPCache) on ne peut pas y faire grand chose. Dans tes logs tu croiseras également un truc lié à restrict_api pour Zend OPCache, c’est « normal ». Pour l’instant on fait avec, mais par exemple Pydio 7 n’arrive pas à s’installer…
      (Et on ne va pas se leurrer, l’excuse invoquée de la « sécurité » comme motif valable pour avoir désactivé ça, non, c’est pas justifié autrement que par « prends un VPS bro »)

      M’enfin, c’est la limitation pour avoir un cloud pas cher et globalement sous notre contrôle ! 😉

      Réponse
  • 1 octobre 2017 à 15 h 13 min
    Permalink

    Bonjour,
    merci pour toutes ces astuces.
    Personnellement, je n’ai pas eu besoin de désactiver la vérification de code puisque seul des fichiers de configuration ont été modifié.
    par contre, j’ai un problème que je ne comprend pas.
    Je ne peut pas accéder à mes fichiers, j’ai un message « Cette opération est interdite ». j’ai le même message et même problème pour le compte admin.
    Je n’avais pas utilisé mon instance de nextcloud depuis un moment, j’avais la version 10, qui me donnais cette erreur. J’ai fait une installation propre de la version 11, même problème et là une mise à jour vers la 12 et toujours pareil.
    Mon hébergement OVH est passé à apache 2.4 il y à peu et j’avais eu une erreur sur un autre site. est ce que ça pourrait venir de la version d’apache ?

    ____dans les « Security & setup warnings » de nextcloud, j’ai:
    – php does not seem to be setup properly to query system environment variables. The test with getenv(« PATH ») only returns an empty response.
    Please check the installation documentation ↗ for php configuration notes and the php configuration of your server, especially when using php-fpm.

    – Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken.

    – The PHP OPcache is not properly configured. For better performance we recommend to use following settings in the php.ini:

    ____dans les logs de nextcloud:
    Symfony\Component\Routing\Exception\RouteNotFoundException: Unable to generate a URL for the named route « theming.Theming.getLogo » as such route does not exist.

    sans doute un problème de personnalisation du logo, mais j’ai bien mon image.

    ____dans les log d’erreur du serveur OVH:
    [Sat Sep 30 11:20:47 2017] [error] [client 176.181.159.137] ModSecurity: Access denied with code 403 (phase 2). Match of « within %{tx.allowed_methods} » against « REQUEST_METHOD » required. [file « /usr/local/apache2/conf/modsecurity/base_rules/modsecurity_crs_30_http_policy.conf »] [line « 30 »] [id « 960032 »] [msg « Method is not allowed by policy »] [data « DELETE »] [severity « CRITICAL »] [tag « POLICY/METHOD_NOT_ALLOWED »] [tag « WASCTC/WASC-15 »] [tag « OWASP_TOP_10/A6 »] [tag « OWASP_AppSensor/RE1 »] [tag « PCI/12.1 »] [hostname « cloud.mon hebergement.org »] [uri « /index.php/apps/firstrunwizard/wizard »] [unique_id « Wc9h7woAQFQAAGzxXSgAAABQ »]
    [Sat Sep 30 11:20:48 2017] [error] [client 176.181.159.137] ModSecurity: Access denied with code 403 (phase 2). Match of « within %{tx.allowed_methods} » against « REQUEST_METHOD » required. [file « /usr/local/apache2/conf/modsecurity/base_rules/modsecurity_crs_30_http_policy.conf »] [line « 30 »] [id « 960032 »] [msg « Method is not allowed by policy »] [data « PROPFIND »] [severity « CRITICAL »] [tag « POLICY/METHOD_NOT_ALLOWED »] [tag « WASCTC/WASC-15 »] [tag « OWASP_TOP_10/A6 »] [tag « OWASP_AppSensor/RE1 »] [tag « PCI/12.1 »] [hostname « cloud.mon hebergement.org »] [uri « /remote.php/webdav/ »] [unique_id « Wc9h8AoAQFQAABOoUMgAAAAc »]
    [Sat Sep 30 11:30:07 2017] [crit] [client 176.181.159.137] [host cloud.mon hebergement.org] (13)Permission denied: AH00529: /homez.2332/mon hebergement/www/Cloud/data/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that ‘/homez.2332/mon hebergement/www/Cloud/data/’ is executable
    [Sat Sep 30 11:30:13 2017] [crit] [client 176.181.159.137] [host cloud.mon hebergement.org] (13)Permission denied: AH00529: /homez.2332/mon hebergement/www/Cloud/data/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that ‘/homez.2332/mon hebergement/www/Cloud/data/’ is executable
    [Sat Sep 30 11:31:42 2017] [crit] [client 176.181.159.137] [host cloud.mon hebergement.org] (13)Permission denied: AH00529: /homez.2332/mon hebergement/www/Cloud/data/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that ‘/homez.2332/mon hebergement/www/Cloud/data/’ is executable
    [Sat Sep 30 11:31:44 2017] [crit] [client 176.181.159.137] [host cloud.mon hebergement.org] (13)Permission denied: AH00529: /homez.2332/mon hebergement/www/Cloud/data/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that ‘/homez.2332/mon hebergement/www/Cloud/data/’ is executable
    [Sat Sep 30 11:34:15 2017] [crit] [client 176.181.159.137] [host cloud.mon hebergement.org] (13)Permission denied: AH00529: /homez.2332/mon hebergement/www/Cloud/data/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that ‘/homez.2332/mon hebergement/www/Cloud/data/’ is executable
    [Sat Sep 30 11:34:54 2017] [error] [client 176.181.159.137] ModSecurity: Access denied with code 403 (phase 2). Match of « within %{tx.allowed_methods} » against « REQUEST_METHOD » required. [file « /usr/local/apache2/conf/modsecurity/base_rules/modsecurity_crs_30_http_policy.conf »] [line « 30 »] [id « 960032 »] [msg « Method is not allowed by policy »] [data « PROPFIND »] [severity « CRITICAL »] [tag « POLICY/METHOD_NOT_ALLOWED »] [tag « WASCTC/WASC-15 »] [tag « OWASP_TOP_10/A6 »] [tag « OWASP_AppSensor/RE1 »] [tag « PCI/12.1 »] [hostname « cloud.mon hebergement.org »] [uri « /remote.php/webdav/ »] [unique_id « Wc9lPgoAQFQAAHydm@8AAACu »]

    j’ai des erreurs plus inquiétante, puisque mon répertoire data ne serais pas accessible 🙁
    Dans mon client FTP, les droits pour data « drwxrwx— » et dans les sous répertoires de data « drwx—r-x »
    le problème est peut-être plus de ce coté là ?

    Si quelqu’un à une idée, je suis preneur …

    Réponse
    • 2 octobre 2017 à 8 h 16 min
      Permalink

      Hello,

      vu les messages d’erreur liés a priori à ModSecurity, je pense que tu as laissé le pare-feu applicatif actif sur le domaine permettant de joindre ton cloud. Désactive-le dans ton manager, seulement pour ce sous-domaine, et réessaie 🙂

      Réponse
      • 2 octobre 2017 à 12 h 45 min
        Permalink

        Merci pour ta réponse
        effectivement, ça venais bien du firewall que j’ai désactivé dans le manager OVH et dans mon fichier .ovhconfig
        il ne me reste plus que l’erreur « getenv(« PATH ») » mais tout marche.
        Encore merci pour ton aide et bonne journée

        Réponse
  • 1 octobre 2017 à 15 h 27 min
    Permalink

    Bonjour.
    Mon répertoire data est en drwxrwx— (770) et ses sous-répertoires en drwx—r-x (705). Je pense que pour tes répertoires personnels, 700 suffit. Le fichier .htaccess doit être lisible (par exemple 644)
    As-tu bien un fichier .ocdata dans le répertoire data ?
    Sinon, je nage aussi, depuis quelque temps : plus de synchro Calendrier et contacts sur mon smartphone …

    Réponse
  • 2 octobre 2017 à 9 h 12 min
    Permalink

    @Maxime : pour mon histoire latine, j’en suis toujours au même point : pas de service CarDav ou CalDav trouvé pour mon Agenda ou mes contacts sous Androïd, mais le client NC fonctionne. J’ai installé hier, avec espoir, NC 12.0.3, mais ça ne change rien…

    Réponse
  • 11 octobre 2017 à 9 h 03 min
    Permalink

    Salut Maxime,

    Super tuto, ça m’a été d’une aide précieuse. Je reviens vers toi sur l’étape 3. J’essaie de téléverser un fichier >= 10 Mo directement via l’interface web de Nextcloud et j’ai bien l’erreur de « MySQL gone away ». Pour les fichiers plus petit, pas de problème.
    Peut-on limiter la taille des paquets attendu (1Mo au lieu de 10Mo) par le serveur MySQL d’OVH pour palier à ce problème ?

    Réponse
  • 20 octobre 2017 à 10 h 27 min
    Permalink

    De mon côté, pour faire original, un soucis de synchro des calendriers/contacts. Sans raison apparente, un jour un message d’erreur est apparu et j’ai perdu la synchro. Depuis, j’ai migré sous Nextcloud 12, fait plusieurs essais mais rien n’y fait, dès que j’effectue une modification dans un calendrier (depuis le site ou le téléphone), il m’envoie un message d’erreur « Received CardDAV GET response without ETag for […].
    Apparemment ça pourrait venir des configuration serveur côté OVH mais ça serait surprenant que je sois tout seul dans ce cas…
    Si je désactive/réactive les calendriers puis resynchronise DAVdroid c’est bon mais à la moindre modification d’agenda, le message d’erreur revient…

    Réponse
  • 29 octobre 2017 à 23 h 46 min
    Permalink

    Bonjour,

    D’abord MERCI pour ce tuto ! Peut-être pouvez-vous m’aider, j’ai installé nextcloud 12.0.3 sur un sous-domaine de mon site hébergé chez ovh, et après désactivation (il y a deux heures) du firewall pour le sous-domaine, j’ai le même message d’erreur que Didier :
    – Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken.

    Et je trouve ceci dans mes logs d’erreur :
    [Fri Oct 27 12:08:21 2017] [error] [client 87.90.38.172] ModSecurity: Access denied with code 403 (phase 2). Match of « within %{tx.allowed_methods} » against « REQUEST_METHOD » required. [file « /usr/local/apache2/conf/modsecurity/base_rules/modsecurity_crs_30_http_policy.conf »] [line « 30 »] [id « 960032 »] [msg « Method is not allowed by policy »] [data « PROPFIND »] [severity « CRITICAL »] [tag « POLICY/METHOD_NOT_ALLOWED »] [tag « WASCTC/WASC-15 »] [tag « OWASP_TOP_10/A6 »] [tag « OWASP_AppSensor/RE1 »] [tag « PCI/12.1 »] [hostname « ent.scriptup.fr »] [uri « /remote.php/webdav/ »] [unique_id « WfMFlQoXFUYAAHKYTC0AAAE9 »]

    Une idée ?

    PS : pour info, je suis novice de chez novice…

    Réponse
  • 30 octobre 2017 à 16 h 02 min
    Permalink

    Bonjour,

    Merci pour la mise à jour régulière ce « fil » de tutos.

    Actuellement, il m’est impossible d’accéder à mon nextcloud via mon navigateur !
    Firefox m ‘indique :
    Internal Server Error
    The server encountered an internal error and was unable to complete your request.
    Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
    More details can be found in the server log.

    et Edge reste bloqué sur la page de login, avec le bouton « Se connecter » inopérationnel.

    J’ai même tenté une ré-installation (façon mise à jour), mais quand j’arrive avec firefox sur la page d’application de la mise à jour, le bouton pour démarrer la mise à jour est inopérationnel (clic tant que je veux, rien ne se passe).

    Une idée ?
    Le passage à apache 2.4 par OVH peut-il être à l’origine du problème ?
    Avez-vous un problème de ce type ?

    Réponse
    • 30 octobre 2017 à 16 h 19 min
      Permalink

      Bonjour. Je n’ai pas ce genre de problème; le passage à la nouvelle version d’Apache s’est faite en douceur. Mon fichier .ovhconfig contient :
      app.engine=php
      app.engine.version=7.0
      http.firewall=none
      environment=production

      Mes pages s’affichent de plus en plus lentement avec Firefox (plus d’une minute à chaque changement de page !) mais elles s’affichent (et beaucoup plus rapidement avec Chromium) En revanche, mes appli Agenda et Contacts ne fonctionnent toujours pas sur Androïd avec le message : « Login Failed ». En revanche, le client NextCloud fonctionne bien et mes appli sur PC aussi (Cardbook et Ligthning)
      De mémoire, je crois qu’il y avait un pb. lorsqu’on laissait à illimité l’espace disque dispo par utilisateur, mais que crois que c’était uniquement pour les téléchargements.

      Réponse
      • 31 octobre 2017 à 9 h 15 min
        Permalink

        Merci pour ta réponse.
        J’ai résolu mon problème en supprimant les lignes :
        ‘instanceid’ => …,
        ‘passwordsalt’ => …,
        ‘secret’ => ….,
        du fichier config.php

        Réponse
        • 31 octobre 2017 à 12 h 02 min
          Permalink

          Normalement, instanceid est reconstruit automatiquement ainsi que le répertoire associé appdata_ dans le répertoire data. Il contient entre autres tes préférences, réglages etc.

          En ce qui me concerne, j’ai toujours, dans le ficher log : « {« reqId »: »WfhTwQoAQUEAACWWzrMAAABO », »level »:2, »time »: »2017-10-31T10:43:13+00:00″, »remoteAddr »: »90.48.171.
          31″, »user »: »–« , »app »: »core », »method »: »OPTIONS », »url »: »\/remote.php\/dav\/principals\/users\/nom_utilisateur\/ », »mess
          age »: »Login failed: ‘nom_util@monsousdomaine.dolman.fr’ (Remote IP: ‘90.48.171.31’) », »userAgent »: »DAVdroid\/1.8.1-ose (
          2017\/09\/26; dav4android; okhttp3) Android\/6.0.1″, »version »: »12.0.3.3″} »

          Je n’arrive pas à me dépatouiller de ce Login failed !

          Réponse
  • 31 octobre 2017 à 14 h 09 min
    Permalink

    Bonjour,

    A propos du mot de passe de mise à jour, le code php que tu proposes ne génères rien…
    Avec ceci, cela parait fonctionner :

    Merci de vérifier…

    Réponse
    • 7 novembre 2017 à 16 h 25 min
      Permalink

      Hop,

      désolé, ton commentaire a été marqué comme spam je ne sais pas trop pourquoi… Je ne réponds que maintenant du coup !

      Je n’ai pas le code que tu voulais mettre, si code il y avait.

      L’erreur, bête, vient du fait que mon plug-in de mise en forme de code merdouille visiblement au niveau de l’échappement de caractères, et masquait des antislashs au niveau des guillemets autour de « updater.secret » (qui apparaît côté éditeur comme \ »updater.secret\ »). Du coup, vu que ces guillemets ne servent à rien concrètement, je les ai virés. Ce coup-là, ça fonctionne.

      Merci du retour, et toutes mes excuses !
      (mais au pire la ligne t’es donnée quand Nextcloud couine à propos de ce mot de passe, de mémoire)

      Réponse
      • 7 novembre 2017 à 16 h 32 min
        Permalink

        Hahaha, super mon collage de code !
        Effectivement, c’était les antislashs qui avaient disparus…. j’avais tenté un copier/coller du code couineur…

        Merci pour ton tuto et le suivi.

        Réponse
  • 31 octobre 2017 à 14 h 13 min
    Permalink

    Bonjour (à nouveau),

    En ce qui concerne le paramétrage des tâches de fond….quels sont vos usages ?

    Jusqu’à présent je laissais par défaut « Ajax », mais comme je vais très peu sur l’interface web, un « Cron » me parait préférable… même si apparemment l’exécution sur un mutualisé OVH n’a lieu qu’une fois par heure…

    Réponse
    • 31 octobre 2017 à 14 h 37 min
      Permalink

      Bonjour. J’ai laissé cron, mais j’obtiens souvent le message :
      « Quelque chose s’est mal passé lors de l’exécution de la dernière tâche Il y a 2 heures. « 

      Réponse
  • 15 novembre 2017 à 20 h 19 min
    Permalink

    Bonsoir,

    dabord merci pour ce tuto très détaillé ! ca économise pas mal de temps , check
    je voudrais rajouter un petit commentaire et une question.

    – sur le site de next cloud il y a maintenant un script PHP a charger online qui permet de faire la premiere étape plus facilement (setup-nextcloud.php) on le pose puis on execute et on ne s’occupe de rien.

    – ma question concerne les messages :
    « Le PHP OPcache n’est pas correctement configuré. Pour de meilleure performance nous recommandons d’utiliser les paramètres suivant dans le php.ini »
    et
    « php ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(« PATH ») retourne seulement une réponse vide.
    Veuillez consulter la documentation d’installation ↗ pour savoir comment configurer php sur votre serveur, en particulier en cas d’utilisation de php-fpm »

    C’est bien ces 2 messages dont tu parles dans le point « etapes restantes » ?

    L’acceleration FPM est elle bien active ?

    Réponse

Laisser un commentaire

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