« Collabora CODE » : différence entre les versions

Aller à la navigation Aller à la recherche
1 038 octets ajoutés ,  12 décembre 2021
 
(14 versions intermédiaires par le même utilisateur non affichées)
Ligne 3 : Ligne 3 :
L'accès à l'instance Collabora se fera via un serveur proxy situé sur le serveur/vm hébergeant nextcloud.
L'accès à l'instance Collabora se fera via un serveur proxy situé sur le serveur/vm hébergeant nextcloud.


Dans cet exemple:  
Dans cet exemple nous aurons donc :
* la VM collabora a l'IP 192.168.30.30
* Une VM collabora avec l'IP 192.168.30.30, hébergeant une instance coolwsd utilisant un certificat SSL autosigné.
* VM nextcloud a l'IP 192.168.30.15 ainsi qu'une IP publique accessible depuis internet (188.165.180.60, avec l'hostname nextcloud.domain.tld)
* Une VM nextcloud avec l'IP 192.168.30.15 ainsi qu'une IP publique accessible depuis internet (188.165.180.60, avec l'hostname nextcloud.domain.tld). Cette VM héberge un serveur apache qui sert nextcloud (sécurisé avec un certificat SSL) ainsi qu'un proxy apache (lui aussi sécurisé par un certificat SSL).
* L'hostname collabora.domain.tld renvoi lui aussi vers l'ip publique de nextcloud (188.165.180.60)
* L'hostname collabora.domain.tld renvoi lui aussi vers l'ip publique de nextcloud (188.165.180.60) (le même serveur servira de proxy)
<br>


=Installation et configuration de Collabora CODE sur la VM dédié à Collabora=
=Installation et configuration de Collabora CODE sur la VM dédié à Collabora=
Ligne 25 : Ligne 26 :
</pre>
</pre>


Installez les paquets suivants :
<pre>
<pre>
apt update  
apt update  
Ligne 32 : Ligne 34 :
==Configuration==
==Configuration==


Génération du certificat (basé sur https://github.com/CollaboraOnline/Docker-CODE/blob/master/scripts/start-libreoffice.sh)
Par défaut, coolwsd est configuré pour utiliser une connexion sécurisée en ssl. Il faut donc lui générer un certificat SSL.
Génération du certificat (basé sur https://github.com/CollaboraOnline/Docker-CODE/blob/master/scripts/start-libreoffice.sh) :
<pre>
<pre>
openssl genrsa -out /etc/coolwsd/root.key.pem 2048
openssl genrsa -out /etc/coolwsd/root.key.pem 2048
Ligne 52 : Ligne 55 :
<pre><host allow="true" desc="Regex pattern of hostname to allow or deny.">nextcloud\.domain\.tld</host></pre>
<pre><host allow="true" desc="Regex pattern of hostname to allow or deny.">nextcloud\.domain\.tld</host></pre>


Dans le fichier <code>/etc/coolwsd/coolwsd.xml</code> définissez la valeur <code>server_name</code>. Dans cet exemple la ligne devient :
Dans le fichier <code>/etc/coolwsd/coolwsd.xml</code> définissez la valeur <code>server_name</code> à <code>collabora.domain.tld</code>. Dans cet exemple la ligne devient :
<pre> <server_name default="" desc="External hostname:port of the server running coolwsd. If empty, it's derived from the request (please set it if this doesn't work). Must be specified when behind a reverse-proxy or when the hostname is not reachable directly." type="string">collabora.domain.tld</server_name></pre>
<pre><server_name default="" desc="External hostname:port of the server running coolwsd. If empty, it's derived from the request (please set it if this doesn't work). Must be specified when behind a reverse-proxy or when the hostname is not reachable directly." type="string">collabora.domain.tld</server_name></pre>


Définissez le mot-de-passe admin :
Définissez le mot-de-passe admin :
<pre>
<pre>
loolconfig set-admin-password
coolconfig set-admin-password
</pre>
</pre>


Ligne 76 : Ligne 79 :
==Exemple de proxy apache==
==Exemple de proxy apache==


Notez que cette configuration est valide si votre instance Collabora utilise un certificat SSL (autosigné ou non). Reportez vous à https://www.collaboraoffice.com/code/apache-reverse-proxy/ pour les autres cas de figure.
Notez que cette configuration est valide si votre instance Collabora utilise un certificat SSL (autosigné ou non). Reportez vous à https://sdk.collaboraonline.com/docs/installation/Proxy_settings.html pour les autres cas de figure.


Pour le proxy, vous pouvez utiliser un certificat signé par une autorité (par exemple letsencrypt) ou un certificat autosigné.
Activez les modules suivant :
<pre>
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_wstunnel
</pre>
Configuration de la vhost collabora.domain.tld :
<pre>
<pre>
<VirtualHost *:443>
<VirtualHost *:443>
  ServerName collabora.domain.tld
ServerName collabora.domain.tld
  Options -Indexes
Options -Indexes


  # SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
# SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
  SSLEngine on
SSLEngine on
  SSLCertificateFile /path/to/signed_certificate
SSLCertificateFile /path/to/signed_certificate
  SSLCertificateChainFile /path/to/intermediate_certificate
SSLCertificateChainFile /path/to/intermediate_certificate
  SSLCertificateKeyFile /path/to/private/key
SSLCertificateKeyFile /path/to/private/key


  # Encoded slashes need to be allowed
AllowEncodedSlashes NoDecode
  AllowEncodedSlashes NoDecode
SSLProxyEngine On
ProxyPreserveHost On


  # Container uses a unique non-signed certificate
# cert is issued for collaboraonline.example.com which is autosigned
  SSLProxyEngine On
SSLProxyVerify None
  SSLProxyVerify None
SSLProxyCheckPeerCN Off
  SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off
  SSLProxyCheckPeerName Off


  # keep the host
# static html, js, images, etc. served from coolwsd
  ProxyPreserveHost On
# browser is the client part of Collabora Online
ProxyPass          /browser https://192.168.30.30:9980/browser retry=0
ProxyPassReverse    /browser https://192.168.30.30:9980/browser


  # static html, js, images, etc. served from loolwsd
# WOPI discovery URL
  # loleaflet is the client part of Collabora Online
ProxyPass          /hosting/discovery https://192.168.30.30:9980/hosting/discovery retry=0
  ProxyPass          /loleaflet https://192.168.30.30:9980/loleaflet retry=0
ProxyPassReverse    /hosting/discovery https://192.168.30.30:9980/hosting/discovery
  ProxyPassReverse    /loleaflet https://192.168.30.30:9980/loleaflet


  # WOPI discovery URL
# Capabilities
  ProxyPass          /hosting/discovery https://192.168.30.30:9980/hosting/discovery retry=0
ProxyPass          /hosting/capabilities https://192.168.30.30:9980/hosting/capabilities retry=0
  ProxyPassReverse    /hosting/discovery https://192.168.30.30:9980/hosting/discovery
ProxyPassReverse    /hosting/capabilities https://192.168.30.30:9980/hosting/capabilities


  # Capabilities
# Main websocket
  ProxyPass          /hosting/capabilities https://192.168.30.30:9980/hosting/capabilities retry=0
ProxyPassMatch      "/cool/(.*)/ws$"      wss://192.168.30.30:9980/cool/$1/ws nocanon
  ProxyPassReverse    /hosting/capabilities https://192.168.30.30:9980/hosting/capabilities


  # Main websocket
# Admin Console websocket
  ProxyPassMatch "/lool/(.*)/ws$" wss://192.168.30.30:9980/lool/$1/ws nocanon
ProxyPass          /cool/adminws wss://192.168.30.30:9980/cool/adminws


  # Admin Console websocket
# Download as, Fullscreen presentation and Image upload operations
  ProxyPass   /lool/adminws wss://192.168.30.30:9980/lool/adminws
ProxyPass           /cool https://192.168.30.30:9980/cool
 
ProxyPassReverse    /cool https://192.168.30.30:9980/cool
  # Download as, Fullscreen presentation and Image upload operations
# Compatibility with integrations that use the /lool/convert-to endpoint
  ProxyPass          /lool https://192.168.30.30:9980/lool
ProxyPass          /lool https://192.168.30.30:9980/cool
  ProxyPassReverse    /lool https://192.168.30.30:9980/lool
ProxyPassReverse    /lool https://192.168.30.30:9980/cool
</VirtualHost>
</VirtualHost>
</pre>
</pre>
Ligne 132 : Ligne 145 :


Une page d'administration de l'instance collabora est accessible à  
Une page d'administration de l'instance collabora est accessible à  
https://collabora.domain.tld/loleaflet/dist/admin/admin.html
https://collabora.domain.tld/browser/dist/admin/admin.html
 
=Désactivation du SSL côté Collabora=


=Documentation officielle=
=Documentation officielle=
Ligne 138 : Ligne 153 :
https://www.collaboraoffice.com/code/linux-packages/ <br>
https://www.collaboraoffice.com/code/linux-packages/ <br>
https://sdk.collaboraonline.com/docs/installation/Proxy_settings.html <br>
https://sdk.collaboraonline.com/docs/installation/Proxy_settings.html <br>
https://sdk.collaboraonline.com/docs/installation/Configuration.html
4 200

modifications

Menu de navigation