Installer LibreOffice Online

Bonjour,
Je cherche un moyen de collaborer avec un groupe d’étudiant, et j’ai donc entrepris de tester LibreOffice Online. J’ai créé une machine virtuelle avec Qemu-kvm, et y ai installé une Debian 9 minimale. J’y ai ajouté les dépôts pour CODE, et ai installé les paquets loolwsd et code-brand. Il n’y a pas eu d’erreur pendant l’installation, mais je ne parviens pas à lancer le service. Voici son statut:

# systemctl status loolwsd.service
loolwsd.service - LibreOffice Online WebSocket Daemon
Loaded: loaded (/lib/systemd/system/loolwsd.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2018-10-23 11:01:02 CEST; 39min ago
Main PID: 505 (code=exited, status=70)

oct. 23 11:01:02 libreoffice systemd[1]: loolwsd.service: Main process exited, code=exited, status=70/n/a
oct. 23 11:01:02 libreoffice systemd[1]: loolwsd.service: Unit entered failed state.
oct. 23 11:01:02 libreoffice systemd[1]: loolwsd.service: Failed with result 'exit-code'.
oct. 23 11:01:02 libreoffice systemd[1]: loolwsd.service: Service hold-off time over, scheduling restart.
oct. 23 11:01:02 libreoffice systemd[1]: Stopped LibreOffice Online WebSocket Daemon.
oct. 23 11:01:02 libreoffice systemd[1]: loolwsd.service: Start request repeated too quickly.
oct. 23 11:01:02 libreoffice systemd[1]: Failed to start LibreOffice Online WebSocket Daemon.
oct. 23 11:01:02 libreoffice systemd[1]: loolwsd.service: Unit entered failed state.
oct. 23 11:01:02 libreoffice systemd[1]: loolwsd.service: Failed with result 'exit-code'.

Je ne sais pas si ces infos sont suffisantes, je n’ai rien trouvé d’autre sans syslog, dmesg, messages…
J’en profite pour poser une autre question: je n’ai pas trouvé de documentation quant à l’utilisation de ce logiciel, ou sa configuration (juste pour l’installation), pouvez-vous m’aiguiller?

Merci

Bonjour kimented. Merci pour votre question.

Le problème que vous rencontrez est dû à un certificat. Avec un Debian 9 minimal install (debootstraped) installée à l’instant, j’ai rencontré le même problème que vous.

Pour débogger, j’ai vu que le service /lib/systemd/system/loolwsd.service s’exécutait sous l’utilisateur lool. J’ai activé un shell pour le compte en remplacant lool:x:109:114::/opt/lool:/bin/false par lool:x:109:114::/opt/lool:/bin/bash dans /etc/passwd. J’ai changé vers cet utilisateur (su lool -) et ai ensuite exécuté la commande lancée par le service, à savoir:

/usr/bin/loolwsd --version --o:sys_template_path=/opt/lool/systemplate --o:lo_template_path=/opt/collaboraoffice5.3 --o:child_root_path=/opt/lool/child-roots --o:file_server_root_path=/usr/share/loolwsd

Lors de l’exécution, j’ai alors remarqué que le service avait besoin de 2 certificats et d’une clé privée qui étaient manquantes. Sur stderr, on voyait des lignes semblables à celle-ci :

wsd-24419-24419 2018-10-27 14:36:13.283465 [ loolwsd ] FTL  Cannot load CA file/directory at /etc/loolwsd/ca-chain.cert.pem (error:02001002:system library:fopen:No such file or directory)| wsd/LOOLWSD.cpp:3031

CODE semble faire appel à trois fichiers:

  • /etc/loolwsd/ca-chain.cert.pem
  • /etc/loolwsd/cert.pem
  • /etc/loolwsd/key.pem

Créons les avec :

openssl req -new -x509 -days 365 -nodes -out /etc/loolwsd/ca-chain.cert.pem -keyout /etc/loolwsd/key.pem

Comme c’est un certificat autosigné et que la chaîne de certificat est présente pour le certificat que nous créons, créez un alias de /etc/loolwsd/ca-chain.cert.pem vers /etc/loolwsd/cert.pem

Et là, hop, CODE écoute par défaut sur le port 9980 et répond par un OK. Il vous suffit alors d’installer un reverse proxy.

La réponse OK est parfaitement normale. Ceci veut dire que LibreOffice Online fonctionne correctement.

Cependant, dans l’architecture logicielle utilisée, LibreOffice Online ne peut pas fonctionner seul, nous avons besoin d’un hôte WOPI. Citons comme exemple fonctionnel: Nextcloud, owncloud et Seafile.

Comme nous l’indique la présentation de Jan Holesovsky (Kendy), développeur LibreOffice Online pour Collabora Office :

  • LibreOffice Online implémente partiellement le protocol WOPI (Web Application Open Platform Interface)
  • LibreOffice Online est un client WOPI qui peut être intégré avec un hôte WOPI (une webapp)

Quand on dit que LibreOffice Online est un client, ça veut dire qu’il implémente des noeuds REST comme le fameux /discovery que vous avez rencontré.

La prochaine étape que vous devez suivre est donc d’installer un hôte WOPI (ex.: Nextcloud). Ensuite, il faut changer les fichiers de configuration de LibreOffice Online afin que la communication avec Nextcloud s’effectue correctement. (Tiré de la documentation Arch Linux)

Modifiez le fichier /etc/loolwsd/loolwsd.xml comme tel :

  • Dans config > server_name, spécifiez le nom d’hôte et l’adresse + port de l’instance publique Nextcloud (ex.: example.org:443),

  • Définissez config > ssl > enable sur false si vous utilisez un proxy c’est à dire web browser —HTTPS→ proxy —HTTP→ loolwsd,

  • Définissez config > ssl > termination sur true car on suppose qu’on va définir TLS/SSL au niveau du proxy,

  • Dans config > storage > wopi > host, spécifiez le nom d’hôte du serveur de proxy, représenté sous forme de pattern (ex.: (?:.*\.)?example\.org),

  • Dans config > admin_console > username et config > admin_console > password, définissez les identifiants de votre choix.

Merci pour l’explication très claire, j’ai réussi à faire tourner le service.

J’ai ensuite configuré le reverse-proxy Apache tel qu’indiqué dans la documentation (en y indiquant les clés et certificats que je viens de générer). Mais je ne parviens pas à accéder à l’interface de lool dans le navigateur. J’ai essayé les adresses https://ip_vm/lool, https://ip_vm:9980/lool, https://ip_vm:9980/lool/adminws qui me retournent toutes une page blanche. L’adresse https://ip_vm:9980 me renvoie “OK”.

Je ne sais pas si je dois créer un nouveau thread pour ce problème?
(Je ne parviens pas à répondre au commentaire précédent, on me dit “contenu interdit”)

@kimented En effet, vous tombez sur le même résultat que moi. J’en conviens que la documentation n’est pas excellente à ce sujet. J’ai donc contacté directement une personne chez Collabora pour qu’il puisse nous aider. Je reviens vers vous lorsque j’ai plus d’informations.

Voilà, j’ai reçu réponse de Collabora. J’ai mis à jour ma réponse.

Pour répondre à votre autre question, le message de “contenu interdit” est surement dû au fait que votre commentaire fait plus de 500 caractères qui est la taille limite d’un commentaire. C’est une limitation de AskBot. :slight_smile:

Merci pour la réponse, je pensais bêtement tester LOOL directement, un peu à la manière de Etherpad. Je vais donc voir pour installer NextCloud également.

@kimented. Ok :slight_smile: Non ce n’est pas comme ça que ça marche (je coyais aussi, mais non). Je peux marquer la question comme résolu?

Oui vous pouvez mettre en résolu, car apparemment lool est en fonction. Et avec la doc de Arch que vous m’avez fourni, je devrais pouvoir m’en sortir pour configurer NextCloud.