Comment intégrer LibreOffice avec Nextcloud



Longtemps considéré comme la solution gratuite de référence pour les outils de productivité sous Linux, LibreOffice, dans sa version autonome, présente des limites, notamment en matière de collaboration en ligne, là où Google Workspace et Google Drive excellent.

C’est ici que Collabora entre en jeu. Il s’agit d’une déclinaison améliorée de LibreOffice Online, enrichie de nombreuses fonctionnalités rivalisant avec celles des suites bureautiques en ligne propriétaires. De surcroît, cette solution peut s’intégrer directement dans divers environnements cloud auto-hébergés. Cet article vous guide à travers l’intégration de LibreOffice dans Nextcloud.

La mise en place de Collabora peut s’avérer un peu complexe, mais le résultat en vaut la peine, surtout pour ceux qui cherchent à gérer leur propre solution bureautique sous Linux.

Note importante : L’utilisation de Collabora requiert un serveur Nextcloud Docker avec un certificat SSL valide. Un serveur Nextcloud installé via Snap ne sera malheureusement pas compatible.

Configuration de Nextcloud sur un serveur Ubuntu

L’intégration de Collabora avec Nextcloud nécessite un serveur Nextcloud de type Docker. Pour débuter, installez Docker et téléchargez le conteneur Nextcloud le plus récent depuis Docker Hub.

Cette configuration pour Collabora est optimisée pour un serveur Ubuntu, ce tutoriel se concentrera donc principalement sur cet environnement. Toutefois, si vous utilisez un autre système, vous pouvez suivre les instructions, car le processus est similaire sur la plupart des distributions.

sudo docker pull undeadhunter/nextcloud-letsencrypt

La mise en place du conteneur Docker Nextcloud est relativement simple, similaire à l’installation Snap. Il n’y a pas d’installation ou de configuration supplémentaire à faire. Vous devrez quitter la session root et passer à un utilisateur standard.

Note : Pour accéder à Collabora en dehors de votre réseau local, il est nécessaire de configurer SSL avec Nextcloud et Docker. Référez-vous à la documentation officielle pour les instructions détaillées.

sudo docker run -it --name nextcloud --hostname nextcloud-letsencrypt -e CERTBOT_DOMAIN="nextcloud-letsencrypt" -e CERTBOT_EMAIL="email" -p 80:80 -p 443:443 undeadhunter/nextcloud-letsencrypt

Si la commande aboutit, Nextcloud devrait être en marche. Vous pouvez y accéder via un navigateur web en saisissant l’adresse suivante:

https://ip.address:8080

Suivez les instructions pour finaliser l’installation de Nextcloud dans le conteneur Docker. Une fois cette étape terminée, ouvrez un nouvel onglet et générez un nouveau certificat SSL avec LetsEncrypt.

sudo docker exec -it nextcloud-crypt /certbot.sh

Configuration de Collabora

Maintenant que le serveur Nextcloud Docker est opérationnel, il est temps de configurer le serveur Collabora pour qu’il puisse interagir avec Nextcloud et le plugin Collabora Office.

Comme Nextcloud, Collabora doit fonctionner au sein d’une image Docker. Téléchargez la dernière version du serveur Collabora à l’aide de la commande suivante :

sudo docker pull collabora/code

Collabora doit communiquer avec Nextcloud pour fonctionner correctement. Utilisez la commande docker run pour lancer le serveur. Assurez-vous de personnaliser la commande en remplaçant « adresse du serveur nextcloud » par l’adresse réelle de votre serveur.

Note : Ne supprimez pas les barres obliques inversées !

sudo docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nextcloudserveraddress' --restart always --cap-add MKNOD collabora/code

Mise en place d’un proxy inverse Apache

Collabora nécessite un proxy inverse pour fonctionner de manière optimale. Apache2 est nécessaire pour le proxy inverse, assurez-vous donc qu’il est déjà installé sur votre serveur. Sur Ubuntu, vous pouvez l’installer facilement avec la commande:

sudo apt install lamp-server^

Une fois Apache2 configuré, utilisez la commande a2enmod pour activer les modules proxy. Ces modules sont indispensables pour le bon fonctionnement du proxy inverse.

sudo a2enmod proxy
sudo a2enmod proxy_wstunnel
sudo a2enmod proxy_http
sudo a2enmod ssl

Après l’activation des modules, créez un nouveau fichier d’hôte virtuel. Utilisez la commande touch dans le terminal pour créer un nouveau fichier de configuration.

sudo touch /etc/apache2/sites-available/your-collabora-site.com.conf

Collabora nécessite un certificat SSL pour le proxy et le logiciel lui-même. Le moyen le plus rapide d’y parvenir est d’utiliser LetsEncrypt. Exécutez la commande suivante pour obtenir LetsEncrypt pour Apache2.

sudo apt install letsencrypt python-letsencrypt-apache
sudo letsencrypt --apache --agree-tos --email email-address -d collabora-server-ip-or-domain.com

Ouvrez le nouveau fichier d’hôte virtuel avec Nano.

sudo nano /etc/apache2/sites-available/your-collabora-site.conf

Collez le code suivant dans l’éditeur Nano :



ServerName office.votre-domaine.com

SSLCertificateFile /etc/letsencrypt/live/collabora-server-ip-or-domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/collabora-server-ip-or-domain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

# Les barres obliques encodées doivent être autorisées
AllowEncodedSlashes NoDecode

# Le conteneur utilise un certificat unique non signé
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off

# Préserver l’hôte
ProxyPreserveHost on

# HTML statique, js, images, etc. servis par loolwsd
# loleaflet est la partie client de LibreOffice Online
ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0
ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet

# URL de découverte WOPI
ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery

# Websocket principal
ProxyPassMatch « /lool/(.*)/ws$ » wss://127.0.0.1:9980/lool/$1/ws nocanon

# Websocket de la console d’administration
ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws

# Télécharger comme, diaporama plein écran et opérations de téléchargement d’image
ProxyPass /lool https://127.0.0.1:9980/lool
ProxyPassReverse /lool https://127.0.0.1:9980/lool

Appuyez sur Ctrl + O pour enregistrer le fichier, puis redémarrez Apache2 avec la commande suivante :

sudo systemctl restart apache2

Intégration de LibreOffice à Nextcloud

Toute la configuration nécessaire au fonctionnement de Collabora est désormais en place. Il ne reste plus qu’à intégrer LibreOffice à Nextcloud. Pour activer cette intégration, ouvrez l’interface web de Nextcloud, cliquez sur l’icône d’engrenage et sélectionnez « Applications ».

Recherchez l’application « Collabora » et cliquez sur le bouton pour l’installer. Ensuite, retournez à l’interface d’administration de Nextcloud, cliquez sur « Admin » puis sur « Collabora Online ».

Dans la section « Collabora Online » de l’interface d’administration, entrez l’adresse IP du serveur Collabora Online et cliquez sur « Appliquer » pour sauvegarder les modifications.

À partir de ce moment, tous les utilisateurs pourront accéder et utiliser Access Nextcloud Collabora depuis n’importe quel ordinateur, via l’interface web de Nextcloud.