I had also the connection error. Now its solved.
I have tried to made it with a new sub.domain with its own certificate from letsencrypt. No luck with this.
I found an red error in the log about my normal domain although lool was configured to other sub domain.
So I tried to change the settings to my normal sub domain (DynDNS).
Now I combined the Apache settings in the default-ssl.conf with all the other settings for my dyndns domain like nextcloud and others.
And … tata … it works.
I have solved one error in the docker as could be seen in /var/log/syslog:
docker[22800]: time="2016-07-22T17:15:20+01:00" level=error msg="containerd: notify OOM events" error="open memory.oom_control: no such file or directory"
By adding the following to /etc/default/grub: GRUB_CMDLINE_LINUX="cgroup_enable=memory"
But when starting the docker I still get the following errors from the docker output itself:
kit-00039-00 00:00:11.270019 [ loolkit ] link("/opt/collaboraoffice5.1/CREDITS.fodt","/opt/lool/child-roots/39/lo/CREDITS.fodt") failed. Exiting. (errno: Operation not permitted)
kit-00038-00 00:00:11.313616 [ loolkit ] link("/opt/collaboraoffice5.1/CREDITS.fodt","/opt/lool/child-roots/38/lo/CREDITS.fodt") failed. Exiting. (errno: Operation not permitted)
kit-00037-00 00:00:11.332961 [ loolkit ] link("/opt/collaboraoffice5.1/CREDITS.fodt","/opt/lool/child-roots/37/lo/CREDITS.fodt") failed. Exiting. (errno: Operation not permitted)
frk-00029-00 00:00:12.325073 [ loolforkit ] Child 37 has exited, removing its jail '/opt/lool/child-roots/37'
frk-00029-00 00:00:12.542260 [ loolforkit ] Child 38 has exited, removing its jail '/opt/lool/child-roots/38'
frk-00029-00 00:00:12.686059 [ loolforkit ] Child 39 has exited, removing its jail '/opt/lool/child-roots/39'
This error keeps popping up including the exit. When trying to open a document I get:
wsd-00020-03 00:00:51.998613 [ client_req_hdl ] Request from 192.168.7.241:52277: GET /lool/ws/https://cloud.<domain>/apps/richdocuments/wopi/fil
es/539952?access_token=Zbjpd9YbMVKTt7XNUOguQBzaoIcxUfvu HTTP/1.1 / Host: office.<domain> / Pragma: no-cache / Cache-Control: no-cache / Origin: h
ttps://office.<domain> / Sec-WebSocket-Version: 13 / DNT: 1 / User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Ge
cko) Chrome/51.0.2704.103 Safari/537.36 / Accept-Encoding: gzip, deflate, sdch, br / Accept-Language: en-GB,en-US;q=0.8,en;q=0.6,nl;q=0.4 / Sec-WebSo
cket-Key: T2FU+ljR4J8BT7T8ZqRuFA== / Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits / X-Forwarded-For: 192.168.7.1 / X-Forwarde
d-Host: office.wijman.me.uk / X-Forwarded-Server: office.<domain> / Upgrade: WebSocket / Connection: Upgrade
wsd-00020-03 00:00:52.012305 [ client_ws_0001 ] Thread started.
wsd-00020-03 00:00:52.017999 [ client_ws_0001 ] Starting GET request handler for session [0001].
wsd-00020-03 00:00:52.021916 [ client_ws_0001 ] Sending to Client [statusindicator: find].
wsd-00020-03 00:00:52.027225 [ client_ws_0001 ] getNewChild: No available child. Sending spawn request to forkit and failing.
wsd-00020-03 00:00:52.031579 [ client_ws_0001 ] getNewChild: Have 0 children, forking 1
wsd-00020-03 00:00:52.034723 [ client_ws_0001 ] MasterToForKit: spawn 1
wsd-00020-03 00:00:52.039320 [ client_ws_0001 ] Writing to pipe. Data: [spawn 1].
frk-00029-00 00:00:49.841115 [ loolforkit ] readFIFO for pipe: wsd_pipe_rd returned: 8
frk-00029-00 00:00:49.842636 [ loolforkit ] Read line from pipe: wsd_pipe_rd, line: [spawn 1], data: [].
frk-00029-00 00:00:49.844773 [ loolforkit ] ForKit command: [spawn 1].
frk-00029-00 00:00:49.848522 [ loolforkit ] Spawning 1 child per request.
frk-00029-00 00:00:49.852312 [ loolforkit ] Creating 1 new child.
frk-00029-00 00:00:49.856471 [ loolforkit ] Forking a loolkit process.
frk-00029-00 00:00:49.868595 [ loolforkit ] Forked kit [79].
kit-00079-00 00:00:49.877390 [ loolforkit ] Initializing kit
kit-00079-00 00:00:49.886394 [ loolforkit ] Log level is [8].
kit-00079-00 00:00:49.890521 [ loolkit ] Process started.
kit-00079-00 00:00:49.895058 [ loolkit ] Jail path: /opt/lool/child-roots/79/
kit-00079-00 00:00:49.901287 [ loolkit ] symlink("../lo","/opt/lool/child-roots/79/opt/collaboraoffice5.1")
kit-00079-00 00:00:50.068707 [ loolkit ] link("/opt/collaboraoffice5.1/CREDITS.fodt","/opt/lool/child-roots/79/lo/CREDITS.fodt") failed. Exiting. (e$
rno: Operation not permitted)
frk-00029-00 00:00:50.878230 [ loolforkit ] Child 79 has exited, removing its jail '/opt/lool/child-roots/79'
wsd-00020-03 00:00:56.067237 [ client_ws_0001 ] getNewChild: No live child, forking more.
wsd-00020-03 00:00:56.067418 [ client_ws_0001 ] getNewChild: No available child. Sending spawn request to forkit and failing.
wsd-00020-03 00:00:56.067481 [ client_ws_0001 ] getNewChild: Have 0 children, forking 1
wsd-00020-03 00:00:56.067530 [ client_ws_0001 ] MasterToForKit: spawn 1
wsd-00020-03 00:00:56.067579 [ client_ws_0001 ] Writing to pipe. Data: [spawn 1].
So one small step closer but still so far away from the solution
Known problems:
This docker image does not work on Ubuntu 14.04 LTS, because Ubuntu 14.04 LTS has missing kernel compile option CONFIG_AUFS_XATTR=y, which is leading to setcap not working on docker’s aufs storage. Upstream bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1557776
So after messing around with AppArmor, SecComp and iptables for days, this hint also helped me with Ubuntu 16.04 Xenial, since Kernels before Ubuntu-4.4.0-22.38 on Xenial were also affected by the AUFS problem. I’m using Ksplice Uptrack to avoid reboots and was still running 4.4.0-21…
So for people running Xenial: make sure to have a current Kernel! Afterwards, I did not need to turn off AppArmor or do anything else besides what is described in the official guide.
Thanks for that tip @accolon. I was running Debian 8.5 and couldn’t get it to work. I then created a new VM running Ubuntu 16.04 Xenial (running kernel 4.4.0-31-generic). Done the same installation steps as I did before and now Collabora is working.
Guess sometimes you do have to get the correct OS to get something working.
There is one thing that isn’t working normally, the menu top left is not showing when clicking on ‘Office’, only when clicking on the logo it goes to the main page. I will open a new topic for it
I also had the issue about symlinking etc, i resolved it updating to kernel 4.6 (debian jessie).
Now I have an other problem:
kit-02288-04 00:46:00.612950 [ kit_queue_0011 ] Failed to load: file:///user/docs/2288/Nuovo%20foglio_elettronico.ods, error: loadComponentFromURL returned an empty reference
kit-02288-04 00:46:00.613279 [ kit_queue_0011 ] Failed to get LoKitDocument instance.
I found that libreoffice online asks wopi urls adding “?encoding=text” to the url.
This ofcourse invalidate the token (the original url is https://cloud…etc/etc/etc?access_token=), so I manually fixed richdocuments app code using a $token = str_replace("?encoding=text", “”, $token);… Now it works
Now I am unclear why this is happening, since I only changed the domains used in Apache (separate VM) towards NC and Collabora. And changed the details in NC config to reflect the main domain.
I’m running the docker image on ubuntu 16.04 with the latest kernel. I’m getting the same error and my logs shows the following before the connection is refused
wsd-00020-05 00:00:28.352565 [ client_ws_0002 ] WOPI host is not on the same host as the WOPI client: “52.205.196.197”. Connection is not allowed.
I have the same problem of a lot of people: when I open a document I have the message “We are sorry, this is an unexpected connection error. Please try again.”.
Here is my docker logs when the document is opened:
kit-00085-00 00:00:51.892720 [ loolkit ] Process started.
kit-00085-00 00:00:51.892951 [ loolkit ] Jail path: /opt/lool/child-roots/85/
kit-00085-00 00:00:51.893684 [ loolkit ] symlink(“…/lo”,“/opt/lool/child-roots/85/opt/collaboraoffice5.1”)
kit-00085-00 00:00:52.052085 [ loolkit ] link(“/opt/collaboraoffice5.1/LICENSE”,“/opt/lool/child-roots/85/lo/LICENSE”) failed. Exiting. (errno: Operation not permitted)
frk-00031-00 00:00:52.893093 [ loolforkit ] Child 85 has exited, removing its jail ‘/opt/lool/child-roots/85’
wsd-00022-10 00:00:55.833810 [ loolwsd ] Total memory used: 200752
wsd-00022-03 00:00:56.537906 [ client_ws_0001 ] getNewChild: No live child, forking more.
wsd-00022-03 00:00:56.538015 [ client_ws_0001 ] getNewChild: Timed out while waiting for new child.
wsd-00022-03 00:00:56.538063 [ client_ws_0001 ] Failed to get new child. Service Unavailable.
wsd-00022-03 00:00:56.538407 [ client_ws_0001 ] ClientRequestHandler::handleRequest: WebSocketErrorMessageException: Service is unavailable. Please try again later and report to your administrator if the issue persists.
wsd-00022-03 00:00:56.538929 [ client_ws_0001 ] Thread finished.
wsd-00022-00 00:00:56.679420 [ loolwsd ] MasterToForKit: spawn 1
wsd-00022-00 00:00:56.679516 [ loolwsd ] Writing to pipe. Data: [spawn 1].
frk-00031-00 00:00:56.026374 [ loolforkit ] readFIFO for pipe: wsd_pipe_rd returned: 8
frk-00031-00 00:00:56.026484 [ loolforkit ] Read line from pipe: wsd_pipe_rd, line: [spawn 1], data: .
frk-00031-00 00:00:56.026553 [ loolforkit ] ForKit command: [spawn 1].
frk-00031-00 00:00:56.026633 [ loolforkit ] Spawning 1 child per request.
frk-00031-00 00:00:56.026721 [ loolforkit ] Creating 1 new child.
frk-00031-00 00:00:56.026784 [ loolforkit ] Forking a loolkit process.
frk-00031-00 00:00:56.032659 [ loolforkit ] Forked kit [90].
kit-00090-00 00:00:56.033241 [ loolforkit ] Initializing kit
kit-00090-00 00:00:56.033428 [ loolforkit ] Log level is [8].
kit-00090-00 00:00:56.033581 [ loolkit ] Process started.
kit-00090-00 00:00:56.033891 [ loolkit ] Jail path: /opt/lool/child-roots/90/
kit-00090-00 00:00:56.034586 [ loolkit ] symlink(“…/lo”,“/opt/lool/child-roots/90/opt/collaboraoffice5.1”)
kit-00090-00 00:00:56.195244 [ loolkit ] link(“/opt/collaboraoffice5.1/LICENSE”,“/opt/lool/child-roots/90/lo/LICENSE”) failed. Exiting. (errno: Operation not permitted)
frk-00031-00 00:00:57.033940 [ loolforkit ] Child 90 has exited, removing its jail ‘/opt/lool/child-roots/90’
In the javascript console, I have also the error:
leaflet-src.js (ligne 2839, col. 1)TypeError: doclayer is undefined
After upgrading to kernel 4.6 i also changed the docker storage driver (from aufs to overlay).
And remember that if you change it you will lose al the images you have built.
Turns out that the browser wants to connect to localhost.
In other words: This might work in the case browser and docker container run on the same box.
What I did: started the container with docker run -t -d -p 127.0.0.1:9980:9980 -e "domain=cloud\.example\.com" --restart always --cap-add MKNOD collabora/code
In the Collabora configuration in Nextcloud, URL to Collabora Online server is https://cloud.example.com/ (thanks, @jurgenhaas!
I think that’s all.
No need for additional certificates, the installation guide is wrong here.
Of course, you need to replace cloud.example.com with the name of your own nextcloud server.
OS: OpenSUSE 13.2