--- categories: web title: Howto Collabora Code ... * Documentation : * Statut de cette page : test / bullseye [Collabora Online Development Edition (CODE)](https://www.collaboraoffice.com/code/) est une suite bureautique utilisable dans son navigateur. Le logiciel est basé sur [Libre Office Online](https://www.libreoffice.org/download/libreoffice-online/) ## Installation Collabora propose des paquets via leur dépôt pour installer le logiciel : ~~~ # echo 'deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-debian11 ./' >> /etc/apt/sources.list.d/collabora-code.list # cd /etc/apt/trusted.gpg.d # wget https://collaboraoffice.com/downloads/gpg/collaboraonline-release-keyring.gpg # chmod 644 collaboraonline-release-keyring.gpg # apt update # apt install coolwsd code-brand collaboraofficebasis-fr collaboraoffice-dict-fr ~~~ Attention, l'installation se fait dans `/opt/collaboraonline` et `/opt/cool`, donc prévoyez de la place pour ça (par exemple créer un lien symbolique `/opt -> /srv/opt`) Une fois installé, vous devrez d'abord configurer les "SSL settings" soit en générant un certificat, soit en désactivant la terminaison SSL. Vous pourrez ensuite démarrer le service : ~~~ # systemctl status coolwsd.service ● coolwsd.service - Collabora Online WebSocket Daemon Loaded: loaded (/lib/systemd/system/coolwsd.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/coolwsd.service.d └─override.conf Active: active (running) since Thu 2022-04-28 20:47:24 CEST; 2 weeks 4 days ago Main PID: 3985 (coolwsd) Tasks: 17 (limit: 4701) Memory: 437.9M CGroup: /system.slice/coolwsd.service ├─ 465 /usr/bin/coolforkit --losubpath=lo --systemplate=/opt/cool/systemplate --lotemplate=/opt/collaboraoffice --childroot=/opt/cool/child-roots/ --clientport=9980 --masterport=coolwsd-9PINiUpT --rlimits=limit_virt_mem_mb:0;li ├─ 3985 /usr/bin/coolwsd --version --o:sys_template_path=/opt/cool/systemplate --o:child_root_path=/opt/cool/child-roots --o:file_server_root_path=/usr/share/coolwsd ├─ 4150 /usr/bin/coolforkit --losubpath=lo --systemplate=/opt/cool/systemplate --lotemplate=/opt/collaboraoffice --childroot=/opt/cool/child-roots/ --clientport=9980 --masterport=coolwsd-9PINiUpT --rlimits=limit_virt_mem_mb:0;li ├─13273 /usr/bin/coolforkit --losubpath=lo --systemplate=/opt/cool/systemplate --lotemplate=/opt/collaboraoffice --childroot=/opt/cool/child-roots/ --clientport=9980 --masterport=coolwsd-9PINiUpT --rlimits=limit_virt_mem_mb:0;li └─18537 /usr/bin/coolforkit --losubpath=lo --systemplate=/opt/cool/systemplate --lotemplate=/opt/collaboraoffice --childroot=/opt/cool/child-roots/ --clientport=9980 --masterport=coolwsd-9PINiUpT --rlimits=limit_virt_mem_mb:0;li ~~~ Pour les versions de Debian antérieures à Debian 10, tout est expliqué sur [leur site](https://www.collaboraoffice.com/code/linux-packages/) ## Configuration Fichiers de configuration : ~~~ /etc/coolwsd/ ├── coolkitconfig.xcu └── coolwsd.xml ~~~ Le fichier de configuration principal se trouve être `/etc/coolwsd/coolwsd.xml`. Juste après installation, le service `coolwsd.service` ne fonctionne pas car la configuration du service écoute en HTTPS par défaut, mais aucun certificat n'est présent. Il est plus simple d'utiliser un serveur web comme [Nginx](HowtoNginx) en reverse proxy en amont pour faire la terminaison SSL avant de transférer le trafic à collabora-code localement, sans HTTPS. Pour cela, il faut passer changer les paramètres suivants de la section `` : * `` : de *true* à **false** * `` de *false* à **true** ~~~.xml (...) false true (...) ~~~ Côté Nginx, on utilisera le vhost proposé par les [développeurs de collabora code](https://www.collaboraoffice.com/code/nginx-reverse-proxy/) : ~~~ server { listen 443 ssl; server_name collabora.example.org; ssl_certificate /etc/letsencrypt/live/collabora00.evolix.org/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/collabora00.evolix.org/privkey.pem; root /var/www/collabora00.evolix.org; access_log /var/log/nginx/access.collabora00.evolix.org.log; error_log /var/log/nginx/error.collabora00.evolix.org.log; # static files location ^~ /loleaflet { proxy_pass http://localhost:9980; proxy_set_header Host $http_host; } # WOPI discovery URL location ^~ /hosting/discovery { proxy_pass http://localhost:9980; proxy_set_header Host $http_host; } # Capabilities location ^~ /hosting/capabilities { proxy_pass http://localhost:9980; proxy_set_header Host $http_host; } # main websocket location ~ ^/lool/(.*)/ws$ { proxy_pass http://localhost:9980; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } # download, presentation and image upload location ~ ^/lool { proxy_pass http://localhost:9980; proxy_set_header Host $http_host; } # Admin Console websocket location ^~ /lool/adminws { proxy_pass http://localhost:9980; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } } ~~~ ## Utilisation #### Avec Nextcloud et le connecteur Collabora Dans Nextcloud, il y a une application nommée ["Collabora Online"](https://apps.nextcloud.com/apps/richdocuments) permet de faire connecteur entre l'installation Nextcloud et le service Collabora Code fraîchement installé. Cela permettra de consulter et modifier des fichiers directement depuis l'interface de Nextcloud. ##### Configuration dans Nextcloud ##### Configuration dans Collabora Code Dans le fichier de configuration `/etc/coolwsd/coolwsd.xml`, il faut autoriser l'adresse de l'instance Nextcloud à travailler avec Collabora. Dans la sous-section `` de la section ``, il faut rajouter un élément `` qui contient une regex d'hôtes à autoriser ~~~.xml (...) nextcloud.example.net sharedcloud[0-9]{4}.example.org (...) ~~~ ## Monitoring ### Nagios ## FAQ