Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
doc:nextcloud [2020/12/30 11:32] Zatalyzdoc:nextcloud [2023/09/30 12:12] (Version actuelle) – [Bidouilles de sysadmin pour corriger des problèmes spécifiques] Zatalyz
Ligne 13: Ligne 13:
   * Lister les usages les plus utiles du cloud et comment s'en servir.   * Lister les usages les plus utiles du cloud et comment s'en servir.
 </WRAP> </WRAP>
 +
 +===== Condition d'utilisation du service =====
 +Les inscription sont ouvertes à toutes et tous mais pour un quota limité de 100 Mb. 
 +
 +Si vous êtes membres de Numenaute, vous avez droit par défaut à 5 Go, qui peuvent être modifiés sur demande. Pensez à nous notifier si vous n'avez pas ces 5 Go ; tout est fait à la main, parfois certaines choses sont oubliées dans le lot des "trucs à faire".
 +
 +Si vous êtes membres et personne morale (association par exemple), vous pouvez demander certains services en plus, comme l'utilisation de groupes pour le partage des documents, ou la mise en place d'un cloud aux couleurs de votre organisme. Ce genre de chose nous demande un peu plus de travail et de maintenance et est mis en place via la signature de partenariats : il faut prendre le temps de discuter pour savoir ce qu'on met en place, nous n'avons pas une offre "clé en main" afin d'être au plus prêt de vos besoins réels.
 +
 +Les données ne sont pas chiffrées, mais l'accès est sécurisé aussi bien que possible : vos données ne seront accessibles qu'aux personnes avec qui vous les partagez explicitement. Nous vous déconseillons cependant de stocker des données sensibles, ou alors chiffrez-les soigneusement de votre côté. Nous nous engageons à ne pas regarder le contenu de vos dossiers, sauf avec votre accord express (pour débuguer par exemple) ou sur demande d'une autorité judiciaire.
 +
 +L'usage du service est évidement formellement interdite pour tout ce qui est illégal. Cela inclut le stockage de documents et media que vous n'avez pas le droit d'avoir, comme par exemple des films récupérés sans l'accord des ayants-droits. Nous n'allons pas fouiller pour vérifier, mais s'il vous plaît, ne mettez pas ce genre de chose sur nos serveurs, cela mettrais toute la structure en péril. 
 +
  
 ===== Pour les utilisateurs de base ===== ===== Pour les utilisateurs de base =====
Ligne 54: Ligne 66:
   * Dossier "Numenaute/college", accès paramétré uniquement pour le groupe "Numenaute_college".   * Dossier "Numenaute/college", accès paramétré uniquement pour le groupe "Numenaute_college".
  
 +===== Bugs connus sur notre installation =====
 +  * L'historique de l'activité des autres membres d'un dossier de groupe n'est pas disponible. 
 +    * Cf [[https://github.com/nextcloud/groupfolders/issues/1018]]. PR en attente de merge mais de toute façon, l'option qui devrait être ajoutée fait planter le serveur.
 +  * Le thème est moche, mais changer un thème en profondeur (app comprises) est un sacré bazar.
 +    * Cf [[https://docs.nextcloud.com/server/12/developer_manual/core/theming.html]] (vieux)
 +    * Et [[https://docs.nextcloud.com/server/stable/developer_manual/basics/front-end/index.html]]
 +
 +==== Bidouilles de sysadmin pour corriger des problèmes spécifiques ====
 +=== "Quelque chose s'est mal passé lors de l'exécution de la dernière tâche il y a X jours." ===
 +Si cette erreur apparaît ET que tout semble aller bien, c'est juste que l'erreur reste dans les logs et que Nextcloud continue de la juger pertinente alors que non. Il faut forcer un rafraîchissement. Pour cela :
 +    - Repasser en mode "Ajax"
 +    - Rafraichir une page dans la partie "fichier"
 +    - Remettre la gestion via cron.
 +    - Y'a plus d'erreur ! Jusqu'à la prochaine.
 +
 +=== Memcache \\OC\\Memcache\\APCu not available for local cache ===
 +
 +Il faut activer ACPCu pour les requêtes CLI, afin que cron.php et occ puissent y faire appel ([[https://help.nextcloud.com/t/nc13-memcache-oc-memcache-apcu-not-available-for-local-cache/31027|Source]]). <code>echo 'apc.enable_cli=1' >> /etc/php/7.0/mods-available/apcu.ini</code> 
 +
 +=== Tampon mémoire des chaînes internes OPcache presque plein ===
 +Ce qu'on a comme message :
 +<WRAP center round help 90%>
 +Le tampon mémoire des chaînes internes OPcache est presque plein. Pour vous assurer que les chaînes répétitives peuvent être mise en cache, il est recommandé de définir la variable opcache.interned_strings_buffer de votre fichier de configuration PHP à une valeur supérieure à 10.
 +</WRAP>
 +
 +Un coup de ''sudo nano /etc/php/8.2/fpm/php.ini'' (modifiez avec votre dernière version de php) et assurez-vous que les paramètres soient comme ça :
 +<code>; The OPcache shared memory storage size.
 +opcache.memory_consumption=256
 +; The amount of memory for interned strings in Mbytes.
 +opcache.interned_strings_buffer=16</code>
 +
 +Et redémarrer php :
 +  sudo service php8.0-fpm restart
 +
 +=== Liens publics cassés après la migration de données ===
 +
 +== Origine ==
 +
 +Vu que nextcloud ne supporte pas officiellement le déplacement du dossier data, dans ses liens publics, il garde des références à l'ancien chemin des fichiers : forcément, ça ne marche pas ...
 +Pour chaque partage, nextcloud stocke dans quel "storage" ce lien est (un id numérique), et dans une autre table il stocke la correspondance "id numérique de stockage" <=> chemin réel sur le disque. Du coup, quand on indique à nextcloud que le dossier de données sera désormais dans /var/stockage/mmf/nextcloud_data au lieu de /var/www/cloudmmf/data, au lieu de modifier le stockage /var/www/cloudmmf/data, il crée un nouveau "storage" qui pointe vers ce dossier (>;<). Les liens de partages pointent donc vers l'ancien "storage", qui pointe sur un endroit inexistant sur le disque ...
 +
 +== Identifier le problème ==
 +Pour voir ça, on trouve le token d'un partage qui est censé marcher, mais ne marche pas, par exemple https://cloud.millionsmissing.fr/s/s46w79Hpag4xGTa. Le token est ce qu'il y a dans l'url après le ''/s/'', donc ici ''s46w79Hpag4xGTa''. On va ensuite lancer mysql et farfouiller dans la DB :
 +<code>
 +sudo mysql -u root
 +</code>
 +
 +<code>
 +USE mmf_prod;
 +SELECT * FROM oc_share WHERE token='s46w79Hpag4xGTa';
 +</code>
 +On voit bien que le partage existe, et que le fichier sur lequel il pointe est ''71756'' :
 +<code>
 +| 281 |          3 | NULL       | NULL     | chantal   | chantal         NULL | file      | 71756       | NULL        |       71756 | /Partages/Collège_médecine_interne_4ème_Ed.pdf    |           1 | 1644324948 |        0 | NULL       | s46w79Hpag4xGTa |         0 | NULL                      0 | NULL |             0 |       |
 +</code>
 +Du coup, on regarde ce fichier ''71756'' :
 +<code>
 +SELECT * FROM oc_filecache WHERE fileid='71756';
 +</code>
 +Et là, on voit qu'il pointe vers le storage ''13'' :
 +<code>
 +|  71756 |      13 | __groupfolders/2/RESSOURCES/Ressources_DocTravail/AppellationsEM_SFC/Collège_médecine_interne_4ème_Ed.pdf    | 565f2141283f7117bd246d166f7de95e |  72579 | Collège_médecine_interne_4ème_Ed.pdf    |        5 |        3 | 8194568 | 1624638322 |    1624638322 |         0 |                0 | b33590d3fe04a1f3e463081ad34d7c89 |          27 |          |
 +</code>
 +Du coup, on regarde dans notre table de storage ce que l'on a :
 +<code>
 ++------------+-------------------------------------------------------------+-----------+--------------+
 +| numeric_id | id                                                          | available | last_checked |
 ++------------+-------------------------------------------------------------+-----------+--------------+
 +|          1 | local::/home/millionsmissing/www/html/nc_millionsmiss/data/ |         1 |         NULL |
 +|          2 | home::gestionnaire_nc_003                                           1 |         NULL |
 +|          6 | home::gestionnaire_mm                                               1 |         NULL |
 +|          7 | home::chantal                                                       1 |         NULL |
 +|          8 | home::amalia                                                |         1 |         NULL |
 +|         11 | home::CarineB                                                       1 |         NULL |
 +|         12 | local::/var/www/clients/client10/web79/web/data/            |         1 |         NULL |
 +|         13 | local::/var/www/mmf/data/                                           1 |         NULL |
 +|         14 | home::celineg                                                       1 |         NULL |
 +|         15 | local::/var/stockage/mmf/nextcloud_data/                    |         1 |         NULL |
 +|         16 | home::glorf                                                         1 |         NULL |
 ++------------+-------------------------------------------------------------+-----------+--------------+
 +</code>
 +On voit bien que le 13 pointe encore vers notre ancien storage !
 +
 +== Résoudre le problème ==
 +
 +Librement inspiré d'[[https://help.nextcloud.com/t/howto-change-move-data-directory-after-installation/17170|ici]] 
 +
 +D'abord, on éteint nginx, sinon nextcloud va mettre le bazar dans nos opérations (en recréant un storage sans notre accord) :
 +<code>
 +systemctl stop nginx
 +</code>
 +
 +Puis on revient dans la console SQL, et on commence à supprimer le nouveau storage que nextcloud a créé :
 +<code>
 +DELETE FROM oc_storage WHERE numeric_id=15;
 +</code>
 +Puis on modifie l'ancien storage, pour lui donner le nouveau chemin de nos données :
 +<code>
 +UPDATE oc_storage SET id='local::/var/stockage/mmf/nextcloud_data/' WHERE numeric_id=13;
 +</code>
 +
 +Et on peut vérifier que nos modifications ont bien été faites :
 +<code>
 +SELECT * FROM oc_storages;
 +</code>
 +<code>
 ++------------+-------------------------------------------------------------+-----------+--------------+
 +| numeric_id | id                                                          | available | last_checked |
 ++------------+-------------------------------------------------------------+-----------+--------------+
 +|          1 | local::/home/millionsmissing/www/html/nc_millionsmiss/data/ |         1 |         NULL |
 +|          2 | home::gestionnaire_nc_003                                           1 |         NULL |
 +|          6 | home::gestionnaire_mm                                               1 |         NULL |
 +|          7 | home::chantal                                                       1 |         NULL |
 +|          8 | home::amalia                                                |         1 |         NULL |
 +|         11 | home::CarineB                                                       1 |         NULL |
 +|         12 | local::/var/www/clients/client10/web79/web/data/            |         1 |         NULL |
 +|         13 | local::/var/stockage/mmf/nextcloud_data/                    |         1 |         NULL |
 +|         14 | home::celineg                                                       1 |         NULL |
 +|         16 | home::glorf                                                         1 |         NULL |
 ++------------+-------------------------------------------------------------+-----------+--------------+
 +</code>
  
 +Et voilà, on peut redémarrer nginx :
 +<code>
 +systemctl start nginx
 +</code>
  
-{{tag>Brouillon Documentation}}+{{tag>Brouillon Documentation TAF}}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
doc/nextcloud.1609324370.txt.gz · Dernière modification : 2020/12/30 11:32 de Zatalyz