Failed to start Collabora Online WebSocket Daemon on Debian 9 from native packages (not docker)

Hi Friends,

I’m activating Collabora 6.4 on Debian 9 and Apache2, from “deb” packages, not Docker.
Actually I’ve followed this documentation and set the virtualhost as suggest on here on “1. SSL on both ends”. But the result is that restarting “loolwsd.service” it stay on only a few seconds, and immediately after goes down.

I’m unable to reach https://collabora.mydomain.org/hosting/discovery

Could you give me some tips?
Many thanks!

This is my virtualhost:

<VirtualHost *:443>
  ServerName collabora.mydomain.org
  Options -Indexes

  # SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
  SSLEngine on
  SSLCertificateFile /etc/letsencrypt/live/server.mydomain.org/fullchain.pem
  SSLCertificateChainFile /etc/letsencrypt/live/server.mydomain.org/chain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/server.mydomain.org/privkey.pem
  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 Collabora 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

  # 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 "/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

  LogLevel debug
  ErrorLog ${APACHE_LOG_DIR}/error.log
</VirtualHost>

This is my “loolwsd.xml”: https://pastebin.com/0KRwpV8c

This is the “journalctl -u loolwsd” output:

nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.653147 [ loolwsd ] INF  DISABLE_REDLINE set| wsd/LOOLWSD.cpp:1264
nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.653164 [ loolwsd ] INF  Maximum file descriptor supported by the system: 1023| wsd/LOOLWSD.cpp:1333
nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.653171 [ loolwsd ] INF  Maximum number of open documents supported by the system: 248| wsd/LOOLWSD.cpp:1336
nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.653178 [ loolwsd ] INF  Maximum concurrent open Documents limit: 1000000| wsd/LOOLWSD.cpp:1338
nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.653183 [ loolwsd ] INF  Maximum concurrent client Connections limit: 1000000| wsd/LOOLWSD.cpp:1339
nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.699088 [ loolwsd ] TRC  Pre-read 2 file(s) from directory: /usr/share/loolwsd/loleaflet/dist/images/cursors: fill.png fill.cur | wsd/FileServer.cpp:596
nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.731595 [ loolwsd ] TRC  Pre-read 28 file(s) from directory: /usr/share/loolwsd/loleaflet/dist/images/help/en: manage-changes.png red-wavy-underline.png track-changes-comment.png word-count.png con
nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.758585 [ loolwsd ] TRC  Pre-read 13 file(s) from directory: /usr/share/loolwsd/loleaflet/dist/images/jquery-ui-lightness: ui-bg_glass_100_f6f6f6_1x400.png ui-icons_ef8c08_256x240.png ui-bg_highlig
nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.774589 [ loolwsd ] TRC  Pre-read 960 file(s) from directory: /usr/share/loolwsd/loleaflet/dist/images: lc_objectbackone.svg lc_undo.svg lc_basicshapes.hexagon.svg lc_currencyfield.svg lc_radiobutt
nov 16 18:06:22 server loolwsd[23058]: ws-up.svg lc_setborderstyle.svg lc_square_rounded_unfilled.svg lc_starshapes.star24.svg sc_alignverticalcenter.svg lc_shadowpropertypanel.svg lc_downloadas.svg lc_insertslidetitlefield.svg lc_setobjecttobackground.svg lc_decrementle
nov 16 18:06:22 server loolwsd[23058]: svg lc_basicshapes.svg barpercent3d_52x60.svg lc_ok_white.svg lc_symbolshapes.sun.svg lc_deleteannotation.svg lc_parapropertypanel.svg lc_calloutshapes.cloud-callout.svg lc_rightpara.svg icon-set-circles2-light-gray.svg lc_wordcount
nov 16 18:06:22 server loolwsd[23058]: izontalcenter_branding.svg lc_drawchart_branding.svg lc_bold.svg lc_basicshapes.frame.svg lc_tabledeletemenu.svg stackdirectpoints_52x60.svg lc_masterslide.svg lc_graphicpropertypanel.svg lc_inserttable_mono.svg lc_basicshapes.diamo
nov 16 18:06:22 server loolwsd[23058]: rmatpaintbrush.svg bar3ddeep_52x60.svg lc_setblue.svg lc_arrowshapes.right-arrow.svg lc_settransparency.svg lc_insertsymbol.svg lc_functiondialog.svg lc_calculate.svg lc_nexttrackedchange.svg stacksteppedlines_52x60.svg lc_flipverti
nov 16 18:06:22 server loolwsd[23058]: fix.svg lc_fontworkshapetype.fontwork-triangle-down.svg regavg.svg lc_toggleorientation.svg reglin.svg lc_basicshapes.can.svg lc_closedocmobile.svg barpercent_52x60.svg lc_cellvertbottom.svg lc_arrowshapes.chevron.svg lc_starshapes.
nov 16 18:06:22 server loolwsd[23058]:  lc_alignmiddle.svg lc_styleapply3fstyle3astring3dheading20226familyname3astring3dparagraphstyles.svg lc_starshapes.vertical-scroll.svg icon-set-flags-yellow.svg lc_basicshapes.round-rectangle.svg lc_insertbreakmenu.svg lc_formatcha
nov 16 18:06:22 server loolwsd[23058]: branding.svg lc_flowchartshapes.flowchart-multidocument.svg lc_downloadas-pptx.svg indentation_marker_down.svg lc_formatmeanvalue.svg lc_styleapply3fstyle3astring3dneutral26familyname3astring3dcellstyles.svg layout_head03.svg lc_squ
nov 16 18:06:22 server loolwsd[23058]: le.svg lc_wrapideal.svg lc_addname.svg lc_arrowshapes.svg lc_insertsofthyphen.svg lc_symbolshapes.right-brace.svg columnstackline_52x60.svg layout_head06.svg icon-set-squares-half.svg lc_spacing.svg sc_alignbottom.svg lc_outlineleft
nov 16 18:06:22 server loolwsd[23058]: .png typecolumnline_16.svg layout_vertical02.svg lc_saveas_branding.svg lc_inserttable_branding.svg lc_stylenewbyexample.svg cylinderpercent_52x60.svg lc_fontdialog.svg lc26049.svg drop-down-button.svg lc_numberformatpercent.svg lc_
nov 16 18:06:22 server loolwsd[23058]: 0_666666_40x40.png ios_handle_end.svg lc_controlcodes.svg stacksmoothboth_52x60.svg lc_numberformatpropertypanel.svg lc_alignleft_branding.svg lc_calloutshapes.svg errordown_30.svg lc_arrowshapes.s-sharped-arrow.svg sc26049.png ui-i
nov 16 18:06:22 server loolwsd[23058]: owshapes.split-round-arrow.svg lc_alignright_branding.svg lc_toolprotectiondocument.svg lc_ellipse_branding.svg icon-set-circles2-dark-red.svg lc_validation.svg lc_paperheight.svg icon-set-shapes-diamond.svg icon-set-shapes-circle.s
nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.775839 [ loolwsd ] TRC  Pre-read 13 file(s) from directory: /usr/share/loolwsd/loleaflet/dist/welcome: welcome-es.html welcome-id.html welcome-fr.html welcome-is.html welcome-ca.html welcome.html 
nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.791509 [ loolwsd ] TRC  Pre-read 2 file(s) from directory: /usr/share/loolwsd/loleaflet/dist/admin/font: Montserrat-Regular.ttf OFL.txt | wsd/FileServer.cpp:596
nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.796726 [ loolwsd ] TRC  Pre-read 1 file(s) from directory: /usr/share/loolwsd/loleaflet/dist/admin/css: bulma.min.css | wsd/FileServer.cpp:596
nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.797265 [ loolwsd ] TRC  Pre-read 6 file(s) from directory: /usr/share/loolwsd/loleaflet/dist/admin: adminHistory.html admin.html adminAnalytics.html adminSettings.html adminLog.html admintemplate.
nov 16 18:06:22 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:22.976041 [ loolwsd ] TRC  Pre-read 126 file(s) from directory: /usr/share/loolwsd/loleaflet/dist/l10n/locore: jv.json ca-valencia.json cy.json am.json ca.json bo.json ti.json fa.json ur.json kk.json
nov 16 18:06:23 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:23.183299 [ loolwsd ] TRC  Pre-read 127 file(s) from directory: /usr/share/loolwsd/loleaflet/dist/l10n/uno: jv.json ca-valencia.json cy.json am.json ca.json bo.json ti.json fa.json ur.json kk.json zh
nov 16 18:06:23 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:23.211770 [ loolwsd ] TRC  Pre-read 151 file(s) from directory: /usr/share/loolwsd/loleaflet/dist/l10n: help-ja.json ui-gd.json ui-ru.json ui-nl.json help-hsb.json ui-it.json help-bs.json help-is.jso
nov 16 18:06:23 server loolwsd[23058]: help-gug.json ui-ug.json ui-sk.json ui-hsb.json ui-tr.json | wsd/FileServer.cpp:596
nov 16 18:06:23 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:23.338803 [ loolwsd ] TRC  Pre-read 17 file(s) from directory: /usr/share/loolwsd/loleaflet/dist: device-desktop.css branding-desktop.css branding.css device-mobile.css admin-bundle.js global.js bran
nov 16 18:06:23 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:23.338929 [ loolwsd ] INF  Adding trusted WOPI host: [localhost].| wsd/Storage.cpp:100
nov 16 18:06:23 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:23.338958 [ loolwsd ] INF  Adding trusted WOPI host: [127\.0\.0\.1].| wsd/Storage.cpp:100
nov 16 18:06:23 server loolwsd[23058]: wsd-23058-23058 2020-11-16 17:06:23.338966 [ loolwsd ] INF  Adding trusted WOPI host: [mydomain\.org].| wsd/Storage.cpp:100
nov 16 18:06:23 server systemd[1]: loolwsd.service: Main process exited, code=exited, status=70/n/a
nov 16 18:06:23 server systemd[1]: loolwsd.service: Unit entered failed state.
nov 16 18:06:23 server systemd[1]: loolwsd.service: Failed with result 'exit-code'.
nov 16 18:06:23 server systemd[1]: loolwsd.service: Service hold-off time over, scheduling restart.
nov 16 18:06:23 server systemd[1]: Stopped Collabora Online WebSocket Daemon.
nov 16 18:06:23 server systemd[1]: loolwsd.service: Start request repeated too quickly.
nov 16 18:06:23 server systemd[1]: Failed to start Collabora Online WebSocket Daemon.
nov 16 18:06:23 server systemd[1]: loolwsd.service: Unit entered failed state.
nov 16 18:06:23 server systemd[1]: loolwsd.service: Failed with result 'exit-code'.

And this is the Apache error when I try to get “https://collabora.mydomain.org/hosting/discovery”:
->

[Mon Nov 16 18:26:01.088546 2020] [proxy:debug] [pid 23466] proxy_util.c(1776): AH00925: initializing worker https://127.0.0.1:9980/loleaflet shared
[Mon Nov 16 18:26:01.088652 2020] [proxy:debug] [pid 23466] proxy_util.c(1818): AH00927: initializing worker https://127.0.0.1:9980/loleaflet local
[Mon Nov 16 18:26:01.088686 2020] [proxy:debug] [pid 23466] proxy_util.c(1869): AH00931: initialized single connection worker in child 23466 for (127.0.0.1)
[Mon Nov 16 18:26:01.088696 2020] [proxy:debug] [pid 23466] proxy_util.c(1776): AH00925: initializing worker https://127.0.0.1:9980/hosting/discovery shared
[Mon Nov 16 18:26:01.088706 2020] [proxy:debug] [pid 23466] proxy_util.c(1818): AH00927: initializing worker https://127.0.0.1:9980/hosting/discovery local
[Mon Nov 16 18:26:01.088729 2020] [proxy:debug] [pid 23466] proxy_util.c(1869): AH00931: initialized single connection worker in child 23466 for (127.0.0.1)
[Mon Nov 16 18:26:01.088745 2020] [proxy:debug] [pid 23466] proxy_util.c(1776): AH00925: initializing worker https://127.0.0.1:9980/hosting/capabilities shared
[Mon Nov 16 18:26:01.088751 2020] [proxy:debug] [pid 23466] proxy_util.c(1818): AH00927: initializing worker https://127.0.0.1:9980/hosting/capabilities local
[Mon Nov 16 18:26:01.088776 2020] [proxy:debug] [pid 23466] proxy_util.c(1869): AH00931: initialized single connection worker in child 23466 for (127.0.0.1)
[Mon Nov 16 18:26:01.088789 2020] [proxy:debug] [pid 23466] proxy_util.c(1776): AH00925: initializing worker wss://127.0.0.1:9980/lool/$1/ws shared
[Mon Nov 16 18:26:01.088794 2020] [proxy:debug] [pid 23466] proxy_util.c(1818): AH00927: initializing worker wss://127.0.0.1:9980/lool/$1/ws local
[Mon Nov 16 18:26:01.088816 2020] [proxy:debug] [pid 23466] proxy_util.c(1869): AH00931: initialized single connection worker in child 23466 for (127.0.0.1)
[Mon Nov 16 18:26:01.088827 2020] [proxy:debug] [pid 23466] proxy_util.c(1776): AH00925: initializing worker wss://127.0.0.1:9980/lool/adminws shared
[Mon Nov 16 18:26:01.088839 2020] [proxy:debug] [pid 23466] proxy_util.c(1818): AH00927: initializing worker wss://127.0.0.1:9980/lool/adminws local
[Mon Nov 16 18:26:01.088862 2020] [proxy:debug] [pid 23466] proxy_util.c(1869): AH00931: initialized single connection worker in child 23466 for (127.0.0.1)
[Mon Nov 16 18:26:01.088873 2020] [proxy:debug] [pid 23466] proxy_util.c(1776): AH00925: initializing worker https://127.0.0.1:9980/lool shared
[Mon Nov 16 18:26:01.088878 2020] [proxy:debug] [pid 23466] proxy_util.c(1818): AH00927: initializing worker https://127.0.0.1:9980/lool local
[Mon Nov 16 18:26:01.088896 2020] [proxy:debug] [pid 23466] proxy_util.c(1869): AH00931: initialized single connection worker in child 23466 for (127.0.0.1)
[Mon Nov 16 18:26:02.200131 2020] [ssl:debug] [pid 23465] ssl_engine_kernel.c(366): [client 37.163.49.54:27604] AH02034: Initial (No.1) HTTPS request received for child 6 (server collabora.mydomain.org:443)
[Mon Nov 16 18:26:02.200266 2020] [authz_core:debug] [pid 23465] mod_authz_core.c(835): [client 37.163.49.54:27604] AH01628: authorization result: granted (no directives)
[Mon Nov 16 18:26:02.200404 2020] [proxy:debug] [pid 23465] mod_proxy.c(1229): [client 37.163.49.54:27604] AH01143: Running scheme https handler (attempt 0)
[Mon Nov 16 18:26:02.200423 2020] [proxy:debug] [pid 23465] proxy_util.c(2153): AH00942: HTTPS: has acquired connection for (127.0.0.1)
[Mon Nov 16 18:26:02.200446 2020] [proxy:debug] [pid 23465] proxy_util.c(2206): [client 37.163.49.54:27604] AH00944: connecting https://127.0.0.1:9980/hosting/discovery to 127.0.0.1:9980
[Mon Nov 16 18:26:02.200533 2020] [proxy:debug] [pid 23465] proxy_util.c(2415): [client 37.163.49.54:27604] AH00947: connected /hosting/discovery to 127.0.0.1:9980
[Mon Nov 16 18:26:02.200647 2020] [proxy:error] [pid 23465] (111)Connection refused: AH00957: HTTPS: attempt to connect to 127.0.0.1:9980 (127.0.0.1) failed
[Mon Nov 16 18:26:02.200671 2020] [proxy_http:error] [pid 23465] [client 37.163.49.54:27604] AH01114: HTTP: failed to make connection to backend: 127.0.0.1
[Mon Nov 16 18:26:02.200678 2020] [proxy:debug] [pid 23465] proxy_util.c(2168): AH00943: HTTPS: has released connection for (127.0.0.1)
[Mon Nov 16 18:26:02.200896 2020] [ssl:debug] [pid 23465] ssl_engine_io.c(1044): [client 37.163.49.54:27604] AH02001: Connection closed to child 6 with standard shutdown (server collabora.mydomain.org:443)

Here the Apache modules activated:
->

 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cache_module (shared)
 cgi_module (shared)
 cgid_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 expires_module (shared)
 ext_filter_module (shared)
 file_cache_module (shared)
 filter_module (shared)
 headers_module (shared)
 mime_module (shared)
 mpm_prefork_module (shared)
 negotiation_module (shared)
 php7_module (shared)
 proxy_module (shared)
 proxy_connect_module (shared)
 proxy_http_module (shared)
 proxy_wstunnel_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 security2_module (shared)
 setenvif_module (shared)
 socache_shmcb_module (shared)
 ssl_module (shared)
 status_module (shared)
 unique_id_module (shared)
 wsgi_module (shared)

Thanks!

collabora is not working. so i think it’s not your proxy web server config.

i just tried my playbook on a debian 10 (aws ec2) and it’s working. you may run the playbook on a test system to get working setup and compare with yours.

p.s.: i used nginx as web server for this test. i’m not sure if the playbook will work for “apache & collabora”.