Accueil
» Comment faire
»
Connectez Nextcloud à un conteneur Collabora CODE auto-hébergé
Connectez Nextcloud à un conteneur Collabora CODE auto-hébergé
Pour connecter Nextcloud à un conteneur Collabora Online Development Edition (CODE) auto-hébergé, exécutez CODE sur un nom d'hôte distinct, configurez-le en HTTPS et saisissez son URL publique dans Nextcloud Office. Le conteneur CODE doit également autoriser l'origine du site Nextcloud en tant qu'hôte WOPI. Dans l'exemple ci-dessous, Nextcloud est `<nom_hôte>` cloud.example.comet Collabora est office.example.com`<nom_hôte>` ; remplacez-les par vos noms d'hôte réels.
Invite de commande du terminal affichant la commande utilisée pour télécharger l'image Collabora CODE.
Que faut-il préparer avant de commencer ?
Vous avez besoin d'une installation Nextcloud fonctionnelle, d'un hôte Docker capable d'exécuter le conteneur CODE, d'enregistrements DNS pour les noms d'hôte Nextcloud et Collabora, ainsi que de certificats HTTPS valides pour les deux sites publics. L'hôte Nextcloud et le serveur Collabora doivent pouvoir communiquer entre eux sur le réseau. Un serveur Collabora dédié est conçu pour offrir une capacité supérieure à celle de l'option CODE intégrée ; il s'agit encore d'une version de développement, veuillez donc consulter les conditions d'utilisation et les recommandations de Collabora avant de l'utiliser pour un déploiement plus important ou critique pour l'entreprise.
Ce guide suppose qu'un proxy inverse est exécuté sur l'hôte Docker et redirige le trafic HTTPS vers office.example.comle port local du conteneur. Si votre proxy s'exécute dans un conteneur différent ou sur une autre machine, ne copiez pas la configuration du port de bouclage sans la modifier : utilisez un réseau Docker privé ou une adresse IP privée accessible par le proxy, et protégez le serveur par un pare-feu afin qu'il ne soit pas exposé publiquement.
1. Démarrez le conteneur CODE
Commencez par télécharger l'image et démarrer un conteneur. Dans la configuration de l'alias, utilisez l'origine publique de Nextcloud, en incluant le protocole et le port. N'indiquez pas l'URL de Collabora. L'exemple d'installation Docker de Nextcloud utilise ce modèle :
La liaison de bouclage signifie que le port 9980 est accessible uniquement depuis l'hôte Docker, par exemple via un proxy inverse sur ce même hôte. Le proxy fournit aux navigateurs et à Nextcloud un point de terminaison HTTPS public tout en préservant la confidentialité du port du conteneur. Si Nextcloud est servi sur un port non standard ou via un nom d'hôte public différent, assurez-vous que l'alias corresponde à l'origine réellement utilisée par les utilisateurs. Si vous disposez de plusieurs instances Nextcloud, configurez chaque hôte WOPI autorisé en utilisant la syntaxe documentée de Collabora plutôt que d'autoriser des domaines arbitraires.
La commande ci-dessus suit l'exemple Docker du manuel d'administration de Nextcloud 35. Avant toute utilisation en production, consultez la documentation de l'image CODE actuelle et choisissez une politique de mise à jour des versions/étiquettes adaptée à votre processus de maintenance. L'image de référence par défaut peut évoluer au fil des mises à jour ; planifiez-les, surveillez le conteneur et testez à nouveau la modification de la documentation après chaque mise à niveau.
La vue d'administration des applications indique que Nextcloud Office était activé avant la configuration du serveur.
2. Placez le conteneur derrière le proxy inverse HTTPS
Configurez votre proxy existant pour qu'il serve https://office.example.comet transfère les requêtes au service CODE sur 127.0.0.1:9980. Utilisez la configuration de proxy inverse actuelle de Collabora pour votre logiciel proxy. Le proxy doit préserver les chemins d'accès requis et prendre en charge les mises à jour WebSocket ; la session du navigateur de l'éditeur en dépend. L'exemple Docker Nextcloud inclut des routes pour /browser, /hosting/discovery, /hosting/capabilities, et /cool, y compris le point de terminaison WebSocket. Certaines intégrations utilisent également la /loolroute de compatibilité.
Ne considérez pas le chargement réussi de la page d'accueil comme une preuve de la finalisation du proxy. Un proxy qui gère les requêtes HTTPS classiques mais ne parvient pas à mettre à jour les connexions WebSocket peut afficher la fenêtre de l'éditeur puis la laisser en chargement ou la déconnecter. Utilisez un certificat public valide pour le nom d'hôte Collabora. Fermez le port 9980 à l'accès Internet public si le proxy est censé être le seul point d'entrée.
3. Activez Nextcloud Office et saisissez l'URL du serveur.
Choisissez l'option serveur externe et saisissez l'URL HTTPS publique de Collabora.
Dans Nextcloud, ouvrez Applications et installez ou activez Nextcloud Office (l' richdocumentsintégration). Ensuite, ouvrez Paramètres d'administration → Office , sélectionnez l'option Serveur Collabora externe et saisissez l'URL https://office.example.com. Enregistrez le paramètre. Utilisez l'URL publique, et non l'URL de l'applicationlocalhost:9980 : le serveur Nextcloud et les navigateurs des utilisateurs doivent accéder au même point de terminaison Collabora externe.
Le manuel d'administration de Nextcloud indique que l'URL du serveur configuré doit utiliser le même protocole que l'installation de Collabora et recommande HTTPS. Après l'enregistrement, Nextcloud peut afficher un message d'erreur concernant la connectivité ou la détection des fichiers. Si un problème de certificat, de DNS ou de WOPI est signalé, veuillez le résoudre avant d'essayer d'ouvrir un fichier.
4. Vérifiez le chemin WOPI et ouvrez un document de test
WOPI est le protocole utilisé par Nextcloud pour autoriser Collabora à accéder à un document. Dans les paramètres d'administration Office de Nextcloud, vérifiez la liste d'autorisation des requêtes WOPI et limitez-les aux adresses IP depuis lesquelles votre service Collabora accède à Nextcloud. Configurez également Collabora pour qu'il n'accepte que l'hôte WOPI prévu. L'adresse exacte peut varier en présence de conteneurs, de NAT ou d'un proxy inverse ; utilisez donc l'adresse source enregistrée par Nextcloud dans ses journaux plutôt que de la deviner.
L'ouverture d'un document avec une barre d'outils d'édition constitue la dernière vérification visuelle de la bonne intégration d'Office.
Pour un test fonctionnel, connectez-vous en tant qu'utilisateur Nextcloud standard, créez ou importez un petit fichier DOCX ou ODT, puis ouvrez-le depuis l'application Fichiers. Vérifiez que l'éditeur se charge, effectuez une modification mineure, attendez l'affichage de l'indicateur d'enregistrement, fermez le document, puis rouvrez-le et vérifiez que la modification est bien enregistrée. Procédez au test avec chaque type de fichier et groupe d'utilisateurs pertinents pour votre déploiement ; un test réussi avec un fichier DOCX ne garantit pas que tous les formats ou chemins d'accès aux permissions sont configurés.
Que vérifier si l'éditeur ne s'ouvre pas ?
Erreur de découverte ou de connexion : vérifiez que office.example.comla résolution se fait bien depuis le serveur Nextcloud et le navigateur, que son certificat est valide et que le proxy envoie bien les requêtes /hosting/discoveryà CODE.
Chargement infini ou éditeur déconnecté : vérifiez la gestion des mises à jour WebSocket du proxy inverse et les /coolroutes. Consultez les journaux du proxy et du conteneur pour identifier les requêtes rejetées.
Hôte WOPI refusé : comparez la configuration aliasgroup1avec l’origine publique exacte de Nextcloud, y compris le schéma et le port. Vérifiez la liste blanche WOPI de Nextcloud par rapport à l’adresse IP source Collabora visible par Nextcloud.
Fonctionne sur l'hôte mais pas dans Nextcloud : testez la connectivité entre le serveur Nextcloud et l'URL publique de Collabora. Le nom d'hôte interne d'un conteneur ou l'adresse localhost de l'hôte Docker ne sont pas automatiquement accessibles depuis tous les autres conteneurs.
Avertissement relatif au certificat : corrigez l’incohérence de la chaîne de certificats ou du nom d’hôte. La désactivation de la vérification du certificat peut masquer la cause du problème et affaiblir la connexion.