In diesem Video erfahrt ihr, wie Ihr den Collabora Online Code Server, den Ihr für die Verwendung von Nextcloud benötigt als Docker Container installieren könnt und mit Hilfe eines Reverse Proxys erreichbar machen könnt.

» Videos:
Collabora Online App Variante: https://youtu.be/bHTIDcZGwXU
NginxProxyManager installieren: https://youtu.be/JgrPcQIQuF8
Mehrere Subdomains bei DynDNS: https://youtu.be/kDoMdTNQOgc

Offizielle Anleitung von Collabora Online: HIER



Im Video verwendete Befehle:

#### Collabora Online Docker #####

## Install Docker Container (single nextcloud) ## 
docker run -t -d -p 9980:9980 -e "domain=cloud\\.domain\\.com" --name=COLLABORAOFFICE --restart always --cap-add MKNOD collabora/code

(cloud.domain.com = Nextcloud Domain)

## check log ##
docker logs COLLABORAOFFICE


## Install Docker Container (multiple nextclouds) ## 
docker run -t -d -p 9980:9980 -e "domain=(cloud\\.domain\\.com|other\\.domain\\.com)" --name=COLLABORAOFFICE --restart always --cap-add MKNOD collabora/code

-> Method 1:
####### Nginx Proxy Manager config #######

1. Create your new Proxy Host, specify https protocol and the server host/ip and port 9980. Also enable Websockets Support.
2. On the SSL tab select a new certificate, enable HTTP/2.
3. On the Advanced tab, enter:

# static files
location ^~ /loleaflet {
  proxy_pass $forward_scheme://$server:$port;
  proxy_set_header Host $http_host;
}

# WOPI discovery URL
location ^~ /hosting/discovery {
  proxy_pass $forward_scheme://$server:$port;
  proxy_set_header Host $http_host;
}

# main websocket
location ~ ^/lool/(.*)/ws$ {
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  proxy_http_version 1.1;
  proxy_pass $forward_scheme://$server:$port;
  proxy_set_header Host $http_host;
  proxy_read_timeout 36000s;
}

# download, presentation and image upload
location ~ ^/lool {
  proxy_pass $forward_scheme://$server:$port;
  proxy_set_header Host $http_host;
}

# Admin Console websocket
location ^~ /lool/adminws {
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  proxy_http_version 1.1;
  proxy_pass $forward_scheme://$server:$port;
  proxy_set_header Host $http_host;
  proxy_read_timeout 36000s;
}

-> Method 2:
####### Apache Reverse Proxy config #######

## enable modules ##
a2enmod proxy
a2enmod proxy_wstunnel
a2enmod proxy_http
a2enmod ssl

service apache2 restart


## create new apache host for domain ##

nano /etc/apache2/sites-available/office.conf

<VirtualHost *:80> 
ServerName 
</VirtualHost>

a2ensite office.conf 

service apache2 restart

## get Let's Encrypt SSL certificate ##

certbot --apache -m -d

## open config ##
nano /etc/apache2/sites-available/office-le-ssl.conf

add following under "ServerName":

#########################################################################################################################################

# SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
SSLEngine on
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

AllowEncodedSlashes NoDecode
SSLProxyEngine On
ProxyPreserveHost On

# cert is issued for collaboraonline.example.com and we proxy to localhost
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off


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


# 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


# Capabilities
ProxyPass           /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0
ProxyPassReverse    /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities

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

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

# Download as, Fullscreen presentation and Image upload operations
ProxyPass           /cool https://127.0.0.1:9980/cool
ProxyPassReverse    /cool https://127.0.0.1:9980/cool

# Compatibility with integrations that use the /lool/convert-to endpoint
ProxyPass           /lool https://127.0.0.1:9980/cool
ProxyPassReverse    /lool https://127.0.0.1:9980/cool

#########################################################################################################################################

## restart apache ##
service apache2 restart


--> more info: https://sdk.collaboraonline.com/docs/installation/Proxy_settings.html#required-apache2-modules

 

 

 

 

apfelcast Support

Du benötigst Unterstützung bei deinem Projekt oder hast Fragen zur Umsetzung?
Dann melde ich gern bei uns!

Kontaktieren