Installation et mise à jour de Collabora pour Nextcloud

Installation de Collabora (version CODE) pour Nextcloud


Prérequis

Liste des prérequis pour installer Collabora Online Developement Edition et l’utiliser avec un serveur Nextcloud :

  • Un serveur capable de faire tourner un conteneur Docker
  • Un sous-domaine pour le serveur Collabora Online
  • Un serveur Apache
  • Un certificat SSL pour le sous-domaine Collabora Online
  • Un certificat SSL pour le sous-domaine Nextcloud
Installer le serveur Collabora Online

Étapes pour télécharger et lancer le docker Collabora Online.

docker pull collabora/code
docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nextcloud\\.choukajohn\\.me' --dns=192.168.1.50 --restart always --cap-add MKNOD collabora/code

Avec domain=domaine serveur Nextcloud et –dns=adresse serveur dns (si serveur dns local ou modifié sur l’hôte Nextcloud).

Installer le reverse proxy Apache

Étapes pour installer Apache et activer les modules nécessaires.

sudo apt-get install apache2
a2enmod proxy
a2enmod proxy_wstunnel
a2enmod proxy_http
a2enmod ssl

Ensuite, configurer un Virtualhost pour rediriger le trafic.

sudo nano /etc/apache2/sites-available/office.conf
<VirtualHost *:443>
ServerName office.nextcloud.com:443

# SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
SSLEngine on
SSLCertificateFile /path/to/signed_certificate
SSLCertificateChainFile /path/to/intermediate_certificate
SSLCertificateKeyFile /path/to/private/key
SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
SSLHonorCipherOrder     on

# Encoded slashes need to be allowed
AllowEncodedSlashes NoDecode

# Container uses a unique non-signed certificate
SSLProxyEngine On
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off

# keep the host
ProxyPreserveHost On

# static html, js, images, etc. served from loolwsd
# loleaflet is the client part of LibreOffice Online
ProxyPass           /loleaflet https://127.0.0.1:9980/loleaflet retry=0
ProxyPassReverse    /loleaflet https://127.0.0.1:9980/loleaflet

# WOPI discovery URL
ProxyPass           /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
ProxyPassReverse    /hosting/discovery https://127.0.0.1:9980/hosting/discovery

# Main websocket
ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon

# Admin Console websocket
ProxyPass   /lool/adminws wss://127.0.0.1:9980/lool/adminws

# Download as, Fullscreen presentation and Image upload operations
ProxyPass           /lool https://127.0.0.1:9980/lool
ProxyPassReverse    /lool https://127.0.0.1:9980/lool
</VirtualHost>

Après avoir configuré le Virtualhost :

a2ensite office.conf
sudo service apache2 stop
sudo service apache2 start
Configurer l’application dans Nextcloud
  • Dans la section « Application », « Bureautique & texte », installer Collabora Online.
  • Dans les paramètres, section « Collabora en ligne », configurer le sous-domaine du Virtualhost : https://office.choukajohn.me

Mise à jour de Collabora Online


Télécharger la dernière image Docker :

docker pull collabora/code

Lister les images en cours d’exécution :

docker ps

Stopper et supprimer l’image en cours d’exécution :

docker stop NAME
docker rm NAME

Lister espace disque utilisé et nettoyer Docker :

docker system df
docker system prune

Démarrer la nouvelle image

docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nextcloud\\.choukajohn\\.me' --dns=192.168.1.50 --restart always --cap-add MKNOD collabora/code

2 réponses sur “Installation et mise à jour de Collabora pour Nextcloud”

  1. Bonjour John,

    Je viens de suivre votre tutoriel et j’ai rencontré une difficulté qui m’a permis de déceler une erreur.

    Pour la commande :
    docker run -t -d -p 127.0.0.1:9980:9980 -e ‘domain=nextcloud\\.choukajohn\\.me’ –dns=192.168.1.50 –restart always –cap-add MKNOD collabora/code

    l’usage du même port (9980:9980) ne fonctionne pas.
    Il faut utiliser 2 ports différents, autrement on rencontre l’erreur suivante :
    <>

    En revanche, la commande suivante fonctionne :
    docker run -t -d -p 127.0.0.1:9980:9981 -e ‘domain=nextcloud\\.choukajohn\\.me’ –dns=192.168.1.50 –restart always –cap-add MKNOD collabora/code

    Aussi, je n’ai pas eu à échapper les poins dans l’URL.

    Version utilisée pour le test : 20.10.17 sur Ubuntu 22.04

    En tout cas, merci pour ce tutoriel très clair et qui m’a permis d’activer Collabora sur mon serveur test.

    Est-il possible d’avoir une petite explication sur « MKNOD » svp ?

    Cordialement.

    1. Bonjour Sylvio,

      Bizarre, de mon côté je n’ai jamais eu de problème avec cette commande.
      Tutoriel issue du site officiel de Nextcloud https://nextcloud.com/collaboraonline/

      Concernant MKNOD, désolé mais je n’ai pas d’explication technique précise, mais il semblerait que ce soit un paramètre de Docker afin de permettre la création/édition des fichiers.

Répondre à Sylvio Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *