Explication d'une installation d'une instance Nextcloud couplé à Collabora online afin d'éditer des documents Word ou Excel.
Il y a aussi une partie Let's Encrypt pour les certificat.
Source : https://www.dadall.info/blog/index.php?article597/installer-collaboraonline-avec-nextcloud
Source : https://nextcloud.com/collaboraonline/
https://www.woinux.fr/installer-collabora-online-code-pour-nextcloud-12-sous-debian-8-828
Prérequis:
- Un nom de domaine.
- Avoir une instance Nextcloud sur son serveur avec un certificat SSL valide.
- Activer ces modules apache:
a2enmod proxy
a2enmod proxy_wstunnel
a2enmod proxy_http
- Un slip propre.
Installation de Docker:
On commence par les dépendances qui vont bien :
apt-get install apt-transport-https ca-certificates curl software-properties-common
On enchaîne sur la clé GPG du dépôt :
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
On ajoute le dépôt dan le sources.list :
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Pour finir, on installe notre nouveau jouet et c'est parti !
apt-get update && apt-get install docker-ce
Mise en place du conteneur de Collabora:
On le télécharge :
docker pull collabora/code
On le lance :
docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=votre\.instancenextcloud\.com' --restart always --cap-add MKNOD collabora/code
Laissez bien les "\" comme c'est par contre entrez l'adresse de votre instance Nextcloud.
Configuration du Vhost apache:
<VirtualHost *:80>
ServerName collabora.mydomain.tld
# Redirection vers le HTTPS
RewriteEngine on
RewriteCond %{SERVER_NAME} =collabora.mydomain.tld
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>
Activation du Vhost:
a2ensite collabora.conf
A partir de la il reste à appliquer le certificat ssl valide avec let's encrypt.
Pour rappel:
Installation de Let'sEncrypt:
cd /usr/local/sbin
wget https://dl.eff.org/certbot-auto
chmod a+x /usr/local/sbin/certbot-auto
Création du certificat pour Collabora
certbot-auto --apache -d collabora.example.com
Repondez "2" à la question.
Le Vhost https:
<VirtualHost *:443>
ServerName collabora.mydomain.tld:443
<Location />
Require all granted
</Location>
ErrorLog /var/log/apache2/collabora-error.log
CustomLog /var/log/apache2/collabora-access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/collabora.mydomain.tld
/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/collabora.mydomain.tld
/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
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-$
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>
Attention de bien remplacer les trois occurrences de « collabora.mydomain.tld » par le sous-domaine que vous aurez créé pour Collabora Online (et non celui de votre instance Nextcloud) !
Activer Collabora:
Maintenant, pour terminer, allez donc activer l'application en la configurant avec le sous-domaine de votre instance : https://votre.instance.com. Pensez bien à cliquer sur "Appliquer" si vous ne voulez pas risquer de devenir chèvre...
Tous ces efforts vous permettront de cliquer paisiblement sur ces 3 nouvelles options :
Cet article à été largement inspiré de:
https://www.woinux.fr/installer-collabora-online-code-pour-nextcloud-12-sous-debian-8-828
et de