Faire fonctionner NextCloud sur un hébergement mutualisé (testé chez Ionos – 1&1)

Pour une vie numérique respectueuse de soi et des autres

Temps de lecture : 5 minutes

L’offre dont je bénéficie est « Unlimited Plus ». Quelques chiffres :

  • Nombre de CPUs inconnu
  • Jusqu’à 6 Go de RAM
  • Espace disque illimité
  • Accès SSH
  • Nombre illimité de BDD MySQL de 1Go

Cette offre, assez ancienne, n’existe plus et est à peu près équivalente à l’offre actuelle appelée « Expert ».

Pourquoi ai-je fait le choix d’un hébergement mutualisé ?

AvantagesInconvénients
Prix :
Un serveur mutualisé étant partagé entre plusieurs clients, le prix est plus abordable (les performances sont donc aussi « réparties entre les clients », c’est la contrepartie … mais on ne peut pas tout avoir !
Performances :
Selon la formule d’hébergement, elles peuvent être médiocres à correctes par rapport à ce que peut délivrer un serveur dédié ou VPS. Mais cela peut tout à fait convenir aux besoins des particuliers, TPE, petites associations, etc). La formule Unlimited Plus, sans être une Formule 1, offre des performances franchement très honnêtes.
Aucune administration système à prévoir au niveau du serveur :
La seule chose à prévoir est la mise à jour des applications de l’instance et de l’instance elle-même, et, ponctuellement le changement de version de PHP (pour éviter un surcoût lié à un support étendu d’une ancienne version si je continue de l’utiliser). Cela est idéal si on a pas le temps et/ou les compétences pour gérer un serveur « dédié »ou « VPS »
Tout n’est pas accessible et configurable sur le serveur : Certains paramétrages serveurs ne sont pas accessibles pour certaines optimisations. Il n’est pas non plus possible d’installer certains paquets (programmes) sur le serveur dont l’instance NextCloud peut avoir besoin dans certains cas. Cela n’a rien de dramatique, mais il faut le savoir.

Fonctionnalités client :

FonctionnalitéApp concernéeStatutCommentaire
Tableau de bord (depuis la version 20)DashboardFonctionne
Fichiers (fonctionnalités de base) : ajout (chargement d’un fichier ou groupe de fichiers depuis ordinateur ou périphérique mobile), suppression, copie, déplacement, renommageFilesFonctionne
Partage de fichiers et autres informations vers autres utilisateurs et groupes de la même instanceFilesFonctionne
Partage de fichiers et autres informations vers utilisateurs et groupes d’une autre instance (partage fédéré)FilesNe fonctionne pasConcerne toutes les apps ayant une fonctionnalité de partage fédéré.
Stockages externesExternal StorageFonctionneSauf « SMB / CIFS »
Document texteTextFonctionne
Suite OnlyOfficeCommunity Document Server + OnlyOfficeInstableFonctionne mais sur 3 cylindres. De nombreux utilisateurs témoignent de pertes de données (fichiers vides ou tronqués après enregistrement). Je déconseille son utilisation en attendant de futures versions plus stables.
Suite Collabora OnlineCollabora Online – Built-in CODE Server + Collabora OnlineNe fonctionne pas
VersionsVersionsFonctionne
Photos : Affichage des photos sous forme d’albumsPhotosFonctionne
Listing (historique) des actions effectuéesActivitiesFonctionne
VisioconférenceTalkFonctionne (principalement pour un usage personnel)Note : Néanmoins, il ne fonctionnera pas chez tout le monde, surtout en milieu professionnel si l’instance NextCloud n’est pas raccordée à un serveur « TURN ». Celui-ci permettra de passer à travers tous les proxy et firewall.
ContactsContactsFonctionne
AgendaCalendarFonctionne
NotesNotesFonctionne
AnnoncesAnnouncement center + ActivitiesFonctionne, avec un très long délai d’envoi/réception des notifications. Lié a priori aux méthodes de déclenchement des tâches de fond (Ajax ou WebCron, moins performantes que « Cron ») et à des timeout trop courts d’exécution des tâches.
TâchesTasksFonctionne
Mots de passePasswordsFonctionne

Fonctionnement global, opérations de maintenance et configuration

QuoiStatutCommentaire
Tâches de fond AjaxFonctionne parfois et ne s’enclenche que lors du chargement des pages.Voir WebCron si ne fonctionne pas.
Tâches de fond CronNe fonctionne pasNe peut en principe pas être mis en œuvre sur un hébergement mutualisé et encore moi à un intervalle de 5 minutes comme recommandé. Voir Ajax ou WebCron.
Tâches de fond WebCronFonctionnePasser par un service tel que EasyCron
Mises à jour *FonctionneFonctionne mais peut prendre du temps, notamment en raison d’un timeout trop court. Chez Ionos en hébergement mutualisé, il est de 60s. Au coup d’un moment, un message d’erreur peut apparaître durant l’étape de sauvegarde « backup ». Il suffit d’attendre quelques instants (quelques minutes) et de recharger la page pour poursuivre la mise à jour.
Gestion des utilisateurs et groupes d’utilisateursFonctionne
Logiciel de synchronisation client officiel NextCloudFonctionne
Applications mobiles (L’application principale NextCloud, mais aussi Passwords, Tasks, Notes, Talk …)Fonctionne

* Attention, à chaque mise à jour, une sauvegarde de la version actuelle de l’instance est effectuée. Certaines formules d’hébergement mutualisé comme la mienne ont un nombre limité de fichiers. Il faut faire de temps en temps du ménage dans ces sauvegardes pour éviter toute saturation prématurée du quota de nombre de fichiers. Voir dans le dossier /data/updater-{chaîne alpha-numérique}/backups. De temps à autre, tout supprimer sauf la dernière ou les 2 dernières sauvegardes.

Optimisations

QuoiStatus / Commentaire
Moteur PHPChez Ionos, tout fonctionne. Chez OVH ou autre hébergeur, cela dépend du moteur PHP utilisé par défaut. En cas de problème, utiliser PHPCGI au lieu de PHP-FPM.
Strict-Transport-SecurityEn cas de message d’erreur dans « Paramètres > Vue d’ensemble > Avertissements de sécurité & configuration » à ce sujet, installer l’application « HSTS Header ».
MemCacheEn cas de message d’erreur dans « Paramètres > Vue d’ensemble > Avertissements de sécurité & configuration » à ce sujet, ajouter la ligne suivante au fichier config.php :
‘memcache.local’ => ‘\OC\Memcache\ArrayCache’
Éléments manquants en base de donnéeIl peut arriver que des messages stipulant que des index et autres colonnes manquent à la base de donnée, notamment après une mise à jour. Pour résoudre cela, il faut exécuter une ou plusieurs commandes OCC (OwnCloud Command). Les commandes peuvent s’exécuter par 2 moyens possibles. Soit dans un terminal (SSH), en tapant par exemple, selon version PHP « php7.4-cli occ db:{votre commande OCC} ». Si vous n’avez pas d’accès SSH, il existe une app ingénieuse, nommée OCCWeb que vous pouvez installer. Malheureusement, elle n’est plus maintenue (elle n’est plus sujette à évolutions), mais elle est toujours accessible et fonctionnelle, donc, vous devrez cliquer sur « Activer les app non-testées » pour l’installer. Vous pourrez ensuite exécuter dans OCCWeb les lignes de commandes suggérées dans le message d’avertissement. OCCWeb n’est autre qu’un terminal, accessible comme toutes les autres applications dans la barre en haut de votre interface.
PHP OPcacheNe fonctionne pas ou pas bien. S’active en théorie par le biais du fichier php.ini mais a provoqué de véritables instabilités sur mon instance (déconnexions aléatoires et régulières). Vous pouvez tenter de le mettre en place, mais à vos risques et périls.
imagickNe fonctionne pas / Ne peut pas être installé en mutualisé

Conclusion

L’essentiel est là :

  • performances honnêtes, même si obligatoirement en retrait par rapport à un serveur dédié ou VPS (qui aurait réclamé plus de temps, de compétences, et de budget)
  • stabilité
  • la majorité des fonctionnalités répondent à l’appel : Pour l’aspect « suite bureautique en ligne » via OnlyOffice ou Collabora Online, je patienterai et ce n’est pas vital. En attendant, j’ouvre mes documents en local. À chaque enregistrement, le logiciel client de synchronisation de NextCloud pousse le fichier modifié vers le serveur en une fraction de seconde. Pas grave non plus pour le partage fédéré qui n’a rien d’essentiel.
  • la possibilité de véritablement personnaliser l’interface, choisir les applications, et surtout gérer les utilisateurs et les groupes est un avantage indéniable par rapport au fait d’avoir un simple compte sur une instance mutualisée

Je ne peux que vous recommander d’essayer cette solution pour faire connaissance avec NextCloud et avoir « votre instance ». Mon instance personnelle me fait me sentir terriblement « chez moi » et « indépendant », avec des données personnelles en sécurité. Si vous avez un budget limité et ou n’avez pas le temps ou les compétences pour administrer un serveur dédié ou VPS, foncez ! … et je peux vous dire que vous ferez des envieux.

Veillez juste à ne pas prendre un hébergement mutualisé « raz les pâquerettes » côté performances car sinon, ça sera juste. Assurez-vous de bien avoir un accès en règle à la gestion de vos :

  • domaines et sous-domaines
  • certificats SSL
  • accès FTP
  • accès SSH
  • bases de données MySQL
  • version (et moteurs) PHP

Seule crainte pour ceux qui n’ont pas d’accès SSH : L’outil OCCweb (permettant d’exécuter les commandes OCC sans avoir accès à root sur le serveur) n’étant plus maintenu, j’espère qu’il pourra fonctionner malgré tout pendant longtemps. A défaut, j’espère que NextCloud aura la bonne idée d’en reprendre le développement, ou de faire en sorte qu’on en ait plus besoin, d’une manière ou d’une autre.