HowTo: Install Onlineoffice on Ubuntu/Debian (No Docker No Limitation)


Empty!?!? :hushed:


I run the sript in linux mint 18.1. How do I uninstall? (I am completely new with linux :sweat:


hallo husisusi et al,

thanks a lot for the script. i’m sorry but it didn’t work for me although i started with a fresh ubuntu 16.04.

i think that libreoffice might not be compiled the right way. but i’m not used in compiling. maybe someone can help me.

lets start from the end: loolwsd.log is

frk-21201-21201 10:25:16.735216 [ loolforkit ] INF  Initializing frk. Local time: Mon 2017-03-13 11:25:16+0100. Log level is [8].| common/Log.cpp:171
frk-21201-21201 10:25:16.735254 [ loolforkit ] INF  Have capability cap_sys_chroot| kit/ForKit.cpp:163
frk-21201-21201 10:25:16.735261 [ loolforkit ] INF  Have capability cap_mknod| kit/ForKit.cpp:163
frk-21201-21201 10:25:16.735265 [ loolforkit ] INF  Have capability cap_fowner| kit/ForKit.cpp:163
frk-21201-21201 10:25:16.735275 [ loolforkit ] FTL  Neither /opt/libreoffice/instdir/program/ or /opt/libreoffice/instdir/program/ exist.| kit/Kit.cpp:1914
wsd-21190-21190 10:25:16.725838 [ loolwsd ] INF  Initializing wsd. Local time: Mon 2017-03-13 11:25:16+0100. Log level is [8].| common/Log.cpp:171
wsd-21190-21190 10:25:16.725892 [ loolwsd ] INF  SSL support: SSL is enabled.| wsd/LOOLWSD.cpp:1908
wsd-21190-21190 10:25:16.725953 [ loolwsd ] INF  Maximum concurrent open Documents limit: 300| wsd/LOOLWSD.cpp:1946
wsd-21190-21190 10:25:16.725957 [ loolwsd ] INF  Maximum concurrent client Connections limit: 600| wsd/LOOLWSD.cpp:1947
wsd-21190-21190 10:25:16.726039 [ loolwsd ] INF  Command trace dumping enabled to file: /tmp/looltrace-%.gz| wsd/LOOLWSD.cpp:1974
wsd-21190-21190 10:25:16.726061 [ loolwsd ] INF  Adding trusted WOPI host: [localhost].| wsd/Storage.cpp:85
wsd-21190-21190 10:25:16.726073 [ loolwsd ] INF  Adding trusted WOPI host: [10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}].| wsd/Storage.cpp:85
wsd-21190-21190 10:25:16.726082 [ loolwsd ] INF  Adding trusted WOPI host: [172\.1[6789]\.[0-9]{1,3}\.[0-9]{1,3}].| wsd/Storage.cpp:85
wsd-21190-21190 10:25:16.726090 [ loolwsd ] INF  Adding trusted WOPI host: [172\.2[0-9]\.[0-9]{1,3}\.[0-9]{1,3}].| wsd/Storage.cpp:85
wsd-21190-21190 10:25:16.726098 [ loolwsd ] INF  Adding trusted WOPI host: [172\.3[01]\.[0-9]{1,3}\.[0-9]{1,3}].| wsd/Storage.cpp:85
wsd-21190-21190 10:25:16.726106 [ loolwsd ] INF  Adding trusted WOPI host: [192\.168\.[0-9]{1,3}\.[0-9]{1,3}].| wsd/Storage.cpp:85
wsd-21190-21190 10:25:16.726114 [ loolwsd ] INF  Adding blocked WOPI host: [192\.168\.1\.1].| wsd/Storage.cpp:90
wsd-21190-21190 10:25:16.726223 [ loolwsd ] INF  SSL Cert file: /etc/loolwsd/cert.pem| wsd/LOOLWSD.cpp:2000
wsd-21190-21190 10:25:16.726240 [ loolwsd ] INF  SSL Key file: /etc/loolwsd/key.pem| wsd/LOOLWSD.cpp:2003
wsd-21190-21190 10:25:16.726249 [ loolwsd ] INF  SSL CA file: /etc/loolwsd/ca-chain.cert.pem| wsd/LOOLWSD.cpp:2006
wsd-21190-21190 10:25:16.728055 [ loolwsd ] DBG  FileServerRoot: /opt/online/| wsd/LOOLWSD.cpp:2421
wsd-21190-21190 10:25:16.728746 [ loolwsd ] INF  Starting prisoner server listening on 9981| wsd/LOOLWSD.cpp:2468
wsd-21190-21190 10:25:16.728766 [ loolwsd ] INF  Creating new forkit process.| wsd/LOOLWSD.cpp:2290
wsd-21190-21190 10:25:16.728788 [ loolwsd ] INF  AdminModel ctor.| wsd/AdminModel.hpp:143
wsd-21190-21190 10:25:16.728821 [ loolwsd ] INF  Admin ctor.| wsd/Admin.cpp:290
wsd-21190-21190 10:25:16.729238 [ loolwsd ] TRC  Total memory used: 10225| wsd/Admin.cpp:294
wsd-21190-21190 10:25:16.729247 [ loolwsd ] DBG  Memory stat ctor| wsd/Admin.hpp:127
wsd-21190-21190 10:25:16.729278 [ loolwsd ] DBG  Cpu stat ctor| wsd/Admin.hpp:150
wsd-21190-21190 10:25:16.729286 [ loolwsd ] INF  Launching forkit process: /opt/online/loolforkit --losubpath=lo --systemplate=/opt/online/systemplate --lotemplate=/opt/libreoffice/instdir --childroot=/opt/online/jails/ --clientport=9980 --masterport=9981| wsd/LOOLWSD.cpp:2334
wsd-21190-21190 10:25:16.729464 [ loolwsd ] INF  Forkit process launched: 21201| wsd/LOOLWSD.cpp:2345
wsd-21190-21190 10:25:16.729478 [ loolwsd ] TRC  Waiting for a new child for a max of 15000 ms.| wsd/LOOLWSD.cpp:443
wsd-21190-21199 10:25:21.731619 [ loolwsd ] TRC  Total memory used: 10241| wsd/Admin.cpp:338
wsd-21190-21199 10:25:26.732325 [ loolwsd ] TRC  Total memory used: 10244| wsd/Admin.cpp:338
wsd-21190-21190 10:25:31.729675 [ loolwsd ] WRN  ForKit not responsive for 15000 ms forking 1 children. Resetting.| wsd/LOOLWSD.cpp:406
wsd-21190-21190 10:25:31.729744 [ loolwsd ] DBG  prespawnChildren: Have 0 spare children, and 0 outstanding, forking 1 more.| wsd/LOOLWSD.cpp:418
wsd-21190-21190 10:25:31.729793 [ loolwsd ] DBG  MasterToForKit: spawn 1| wsd/LOOLWSD.cpp:351
wsd-21190-21190 10:25:31.729809 [ loolwsd ] TRC  Writing to pipe. Data: [spawn 1].| common/IoUtil.cpp:211
wsd-21190-21190 10:25:31.729863 [ loolwsd ] ERR  Failed to write to pipe. Data: [spawn 1
]. (errno: Datenübergabe unterbrochen (broken pipe))| common/IoUtil.cpp:220
wsd-21190-21190 10:25:31.730215 [ loolwsd ] ERR  No forkit pipe while rebalancing children.| wsd/LOOLWSD.cpp:360
wsd-21190-21190 10:25:31.730238 [ loolwsd ] TRC  Waiting for a new child for a max of 15000 ms.| wsd/LOOLWSD.cpp:450
wsd-21190-21199 10:25:31.734479 [ loolwsd ] TRC  Total memory used: 10302| wsd/Admin.cpp:338
wsd-21190-21190 10:25:46.730523 [ loolwsd ] FTL  Failed to fork child processes.| wsd/LOOLWSD.cpp:454
wsd-21190-21199 10:25:46.739607 [ loolwsd ] TRC  Total memory used: 10444| wsd/Admin.cpp:338
wsd-21190-21190 10:25:46.775361 [ loolwsd ] INF  ~Admin dtor.| wsd/Admin.cpp:306
wsd-21190-21200 10:25:46.775533 [ loolwsd ] DBG  Cpu stat dtor| wsd/Admin.hpp:155
wsd-21190-21199 10:25:46.775803 [ loolwsd ] DBG  Memory stat dtor| wsd/Admin.hpp:132
wsd-21190-21190 10:25:46.775910 [ loolwsd ] INF  AdminModel dtor.| wsd/AdminModel.hpp:148
  • so loolwsd is listening on port 9981, nothing happens on port 9980
  • its true that “Neither /opt/libreoffice/instdir/program/ or /opt/libreoffice/instdir/program/ exist”!

after “Running LibreOffice build configuration.”

i get

"JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script attempted to find JAVA_HOME automatically, but apparently it failed in case JAVA_HOME is incorrectly set, some projects with not be built correctly"

even then, when JAVA_HOME is set by hand before running the script.


/opt/libreoffice/bean/ die Regel für Ziel „/opt/libreoffice/instdir/program/“ scheiterte
Makefile:263: die Regel für Ziel „build“ scheiterte

and at the end of the script, short after “loolwsd is running. Enjoy!!!” i got

“Makefile:1976: die Regel für Ziel „run“ scheiterte”

after trying a lot i’ve no idea what to do now.

thanks for you patience, tmb


Your disk size? what you get if you run "sudo apt-get build-dep libreoffice -y"
go in /opt/libreoffice and run “make check” as lool user


With my first try i got Loolwsd on 9981 with a non usable software, because i add a argument in the script.
So i deleted all and restart with the original script and then it work !


hi husisusi,
disk size is 2 TB. “sudo apt-get build-dep libreoffice -y” -> was installed without a problem.

“sudo -H -u lool make check” shows that jawt is not found in usr/bin.

mkdir -p /opt/libreoffice/instdir
/opt/libreoffice/solenv/bin/install-gdb-printers -a /opt/libreoffice/instdir -c
make -j 8  -rs -f /opt/libreoffice/Makefile.gbuild all  subsequentcheck check
[build CXX] sal/textenc/context.cxx
[build GPF] CustomTarget/oox/generated/
[build UPK] expat-2.2.0.tar.bz2
/usr/bin/ld: cannot find -ljawt
collect2: error: ld returned 1 exit status
make[1]: *** [/opt/libreoffice/instdir/program/] Fehler 1
/opt/libreoffice/bean/ die Regel für Ziel „/opt/libreoffice/instdir/program/“ scheiterte
make[1]: *** Auf noch nicht beendete Prozesse wird gewartet …
make: *** [build] Fehler 2
Makefile:263: die Regel für Ziel „build“ scheiterte

thats true. “locate libjawt” shows


is there a way to link one of these libraries in your script?

thanks for helping, tmb


thanks, tried that. must be something different.


maybe you still have to install some libjawt-dev?


what I do wrong:
getting error when try running that script

./ line7: syntax error near unexpected token ‘newline’
./ line 7 : ‘’


You have end of line in windows format that are wrongly interpreted by bash.
here’s various solution for fixing this issue.


I have successfully installed this using husisusi/

When I access a file I get an Access Denied and I’m not sure why but I think because of some non-valid SSL certificate ?

I hope someone can help out.


Hi. Can you tell us a little bit more about the file you’re opening, how and from where ? :slightly_smiling_face:
If you changed collabora by libreoffice online installed from the script you still need to add your nextcloud domain in /opt/online/loolwsd.xml as a wopi allowed host.


just some odt file from the files section.

I have added my nexcloud domain there, but does it also check fqdn of the host ? as this differs… 2 seperate machines for both.

A non signed cert is not the issue ?


Aha! Found what I get on my LibreOffice Online server when I access a file and get Access Denied:

Mar 23 00:23:12 ofco-01 loolwsd[1656]: SSL Exception [in file “src/ErrorHandler.cpp”, line 40]
Mar 23 00:23:12 ofco-01 loolwsd[1656]: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


I have no idea about your system setup and from where you intend to use libreoffice online :thinking:
Blindly, I whould recommend you to adapt your collabora initial reverse proxy ( if you had one) to point to your new lool host.


after weeks of trying I gave up to use collabra. In the meantime I’ve found a better Online Office: and they have recently added a Nextcloud App doing all the handling. My suggestion is to install OnlyOffice Community Document Server on different machine and subdomain and using their NC App for redirecting all Office Documents


I think you got lost…
This Howto is not collabra.


ops you might be right… :stuck_out_tongue:


I get that error from your script when I did a successfull build, do you have any suggestion ?


Yes I have.
Just install clean Ubuntu 16.04 and run the script.
You need 16 GB in opt and min. 4 GB RAM and a lot of time to compiling.
After that reboot your system and try to access:
If you able to access it, our part is done.