HowTo: Install Collabora Online on Ubuntu 16.04. (without Docker!)

Such an exact and great description. Great. Thousand thanks.

useradd -M office

Using Debian Jessie, I have been successful until the npm part in step 5 because backports and stable only have outdated version.
wget https://deb.nodesource.com/setup_6.x
chmod +x setup_6.x ./setup_6.x apt-get install nodes
helped getting over this one.

and: for my setup, I replaced mysql by mariadb.
certificate errors fixed by copying them and giving them the proper ownership.
But now, I have the constant error:
Well, this is embarrassing, we cannot connect to your document. Please try again when I connect to the 9980 port directly; when I connect from Nextcloud, the same. What kind of communication might hang here???

well, after long nights, the solution now is easy.
Double-check the apache proxy configuration.
Enter the correct paths in loolwsd.xml.in , donā€™t forget to set the true/false options where the relative/absolute paths are given.
check whether https://office.yourdomain.de/loleaflet/dist/admin/adminSettings.html is working after make run.

Now you know your proxy settings should be correct.

use the URL https://office.your.domain.com:9980 in the rich documents app.

Did you already build a system start script for loolwsd?
This one [HOWTO] Collabora 2.0 without using Docker not for prod
made me create that one:

[Unit]
Description=loolwsd as a service

[Service]
User=office
ExecStart=/opt/loolwsd/loolwsd --o:sys_template_path=/opt/loolwsd/systemplate --o:lo_template_path=/opt/libreoffice/core/instdir --o:child_root_path=/opt/loolwsd/jails --o:storage.filesystem[@allow]=true
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

Iā€™m trying to build the LibreOffice Online loolwsd project in a Debian jessie Server . Iā€™ve already builded succesfully the LibreOffice core and the poco libraries, but Iā€™m not able to build the LibreOffice Online loolwsd project.

When i run ./configure work perfectly , But when I run make command it throws this error:

Admin.cpp: In member function 'virtual void MemoryStats::run()':
Admin.cpp:333:18: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     if (totalMem != _lastTotalMemory)
                  ^
cc1plus: all warnings being treated as errors
Makefile:861: recipe for target 'Admin.o' failed
make[2]: *** [Admin.o] Error 1
make[2]: Leaving directory '/opt/loolwsd'
Makefile:984: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/opt/loolwsd'
Makefile:598: recipe for target 'all' failed
make: *** [all] Error 2

Iā€™d appreciate your help.

Hey David,
did you try this (and donā€™t use root):

Step 4: compile loolwsd:


sudo apt-get install libcap-dev -y
cd /opt/loolwsd/
libtoolize
aclocal
automake --add-missing
autoheader
autoreconf
./configure --enable-silent-rules --with-lokit-path=/opt/loolwsd/bundled/include --with-lo-path=/opt/libreoffice/core/instdir --with-poco-includes=/usr/local/include --with-poco-libs=/usr/local/lib --enable-debug
make

Yes, step 4 until ./configure works fine. Only fails when I run make.

i succeed to pass that error by installing the libfontconfig1-dev package

hi mokas01
Already had installed libfontconfig1-dev package and still not working make.

Hi, I followed your great guide. Everything has worked until the end but now I have a problem when starting loolwsd. Here is the start log with error message:

user@host:/opt/online$ make run
make all-recursive
make[1]: Entering directory /opt/online' Making all in . make[2]: Entering directory/opt/onlineā€™
Set required capabilities
make[2]: Leaving directory /opt/online' Making all in test make[2]: Entering directory/opt/online/testā€™

Running build-time unit tests. For more thorough testing, please run ā€˜make checkā€™.

TileQueueTests::testTileQueuePriority. : OK
TileQueueTests::testTileCombinedRendering. : OK
TileQueueTests::testTileRecombining. : OK
TileQueueTests::testViewOrder. : OK
TileQueueTests::testPreviewsDeprioritization. : OK
WhiteBoxTests::testLOOLProtocolFunctions. : OK
WhiteBoxTests::testRegexListMatcher. : OK
WhiteBoxTests::testRegexListMatcher_Init. : OK
WhiteBoxTests::testEmptyCellCursor. : OK

make[2]: Leaving directory /opt/online/test' make[1]: Leaving directory/opt/onlineā€™
Launching loolwsd

./loolwsd --o:sys_template_path="/opt/online/systemplate" --o:lo_template_path="/opt/libreoffice/core/instdir"
ā€“o:child_root_path="/opt/online/jails" --o:storage.filesystem[@allow]=true
ā€“o:admin_console.username=admin --o:admin_console.password=admin

Full log is available in: /tmp/loolwsd.log

Launch this in your browser:

https://localhost:9980/loleaflet/1.9.0/loleaflet.html?file_path=file:///opt/online/test/data/hello.odt

SSL context exception: Error loading private key from file /etc/letsencrypt/live/sub.domain.de/privkey.pem: error:0200100D:system library:fopen:Permission denied
make: *** [run] Error 70

The rights of the file are set correct.

Any help?

Check the permissions of your privateKeyā€¦
Maybe try this:
sudo chown -R user:user /path/to/your/privatekey/privkey.pem

As I have already written above, the rights of the file are set correctly.

Tanks Pisoko fo this how to without docker
I use this instruction for installing collabora online(CODE) with NC 11.0 in single machine (Server IP Address:192.168.0.5,OS:Ubuntu 16.04, Webserver:Appache) on local network. I use self sign certificate for Collabora online and NC sites. I can view and Edit odt or same office files with direct collabora online link on my server but when configured collabora on NC App, any office documents cant view or edit by service(Collabora Online). In the server log i have
"SSL Exception Error".
what is solution for this problem?
Sorry for my english

i have hit a problem when i got here sudo chown -R user:user loolwsd/ and you look online loolwsd is now wsd so i moved wsd - loolwsd and that resolves the change in git now at stage 4 and when i run aclocal i get

/opt/loolwsd# aclocal
aclocal: error: ā€˜configure.acā€™ is required

i have automake and autoconf installed and i have reinstalled it

1 Like

HI

I developed a script for labs test, using snap and docker, and then remove it.

if anyone could try it, any hints will be appreciated!

Regards,

1 Like

@Pisoko What are the advantages of installing Collabora Online without Docker?

More power?

@Sanook I already thouht that a self compiled version runs faster than the docker container. But is it really worth it? So how big is the gain?
For self-compiling youā€™ll need a lot more disk space (just the dependencies for LO are as big as the docker image) and I think that it is harder to maintain.

I presume the biggest gain is it comes without the throttling and 10 user limit that the docker container enforces.

1 Like

I donā€™t know of any docker containers that are built for ARM hardware. Iā€™m attempting to build a raspberry pi server using these instructions now due to this issue. So you would build this from scratch if either the hardware the docker container is built on is not supported, or if you need to customize it significantly in any way. Iā€™m attempting to run this on a dedicated raspberry pi server. So my raspberry pi is my ā€œcontainerā€ in my case. I searched, and this was the best solution I have found so far to run this type of server on a Raspberry Pi. If anybody has any more information about that, Iā€™m sure I wouldnā€™t be the only person interested.

I was completely unaware of any ā€œthrottlingā€ in the docker container. Is this true? Why would there be any ā€œthrottlingā€ and a 10 user limit?

1 Like

Yeah a Arm collabora container would be brilliant.

I can not give you definites as its all a little hazy from Collabora, but by users.

I found this which is actually the reverse of what we need.
https://sedden.github.io/blog/2016/04/11/automated-builds-for-arm-docker-containers-on-intel-hosts/
But it is the reverse and so do we only need qemu-x86-static and the reverse is true?

The Resin.io forums have a lot of community info on raspbian containers.
https://forums.resin.io/c/projects

https://hub.docker.com/r/ioft/armhf-ubuntu/

https://hub.docker.com/r/forumi0721alpinearmhf/alpine-armhf-nginx/