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

I am very pleased to present the installation script for Officeonline without limitations and Docker.
We tested it on Debian 8.7, Ubuntu 14.04 and Ubuntu16.04. Just Download the script and run it as sudo or root.
I advise you to use HAProxy (I will integrate it in the script soon).
Just run the script and do not stop it. It will take 2-8 hours (It depends on the speed of your serve) to install everything you need to use it with Nextcloud. You just have to replace SSL Certificates and key in /etc/loolwsd/.

#I would like to thank community members for supporting me and testing.



wow is this great.
You are a hero.

small hint: when you submit the script execution to remote servers where the connection might be broken, it helps to use

screen -d RR

For me, a server restart has not been necessary, systemctl daemon-reload did the job.
The real issue was, as always, the lack of the correct certificates. You mentioned that in OP.
I had to collect the letsencrypt certificates and make them readable for lool:lool, and for sure, double-check the proxy configuration to my nextcloud. Now I have lool on different machine from nextcloud. Brilliant.


thanks for posting, I’ll try that out in an lxc image, what is if you want to update collabora? What do you need to delete, or can you just rerun the script?

Actually it should start properly after the installation (without loolwsd.service).
If you want to use loolwsd.service, you need to restart your server after installation.

Its not Collabora. Its LibreOffice Online git version.
If You like to update it, delete or rename /opt/libreoffice, /opt/online and /opt/poco.xx

1 Like

Hi thank you again for this script.
I’m on holidays now so i have time to fully test LOOL.

I have a few question to you :
From your script you put two things : self sign cert with name and login / password : admin / office1234

But when i start LOOL and go to it ask login : but admin / office1234 don’t work …

I stop loolwsd service and modify /opt/online/loolwsd.xml at the end of the file you can put your own login /password. I modify my certs in /etc/loolwsd/ . i modify /lib/systemd/system/loolwsd.service for deleting the user /password options. i do a systemctl daemon-reload and then restart service.

But the login / password isn’t working the new one and the old one, and the cert is still

How do you modify that ?


You did everything right!
Did you restart your server after installation script?
First run (The script) dose not use systemd to start lool.
You must restart your server to be able to use systemctl.

What a fool am i !
You are right.
Working now.

Hi everybody, i have an issue with Nextcloud not LOOL.
When i open -> No Problem

When i open a doc from my Nextcloud instance i got the message after a few seconds of loading : Service is unavailable. Please try again later and report to your administrator if the issue persists.

here is my log : > kit-02412-02412 20:31:43.288160 [ loolkit ] INF Initializing kit. Local time: Sat 2017-02-18 21:31:43+0100. Log level is [8].| common/Log.cpp:171

kit-02412-02412 20:31:43.288310 [ loolkit ] DBG Process started.| kit/Kit.cpp:1586
kit-02412-02412 20:31:43.288359 [ loolkit ] INF Jail path: /opt/online/jails/2412/| kit/Kit.cpp:1600
kit-02412-02412 20:31:43.288545 [ loolkit ] DBG symlink("…/…/lo","/opt/online/jails/2412/opt/libreoffice/instdir")| kit/Kit.cpp:267
kit-02412-02412 20:31:43.316786 [ loolkit ] TRC skip redundant paths program/wizards| kit/Kit.cpp:177
kit-02412-02412 20:31:43.325352 [ loolkit ] TRC skip redundant paths sdk| kit/Kit.cpp:177
kit-02412-02412 20:31:43.326512 [ loolkit ] TRC skip redundant paths share/gallery| kit/Kit.cpp:177
kit-02412-02412 20:31:43.331924 [ loolkit ] TRC skip redundant paths share/Scripts| kit/Kit.cpp:177
kit-02412-02412 20:31:43.332216 [ loolkit ] TRC skip redundant paths share/config/wizard| kit/Kit.cpp:177
kit-02412-02412 20:31:43.374061 [ loolkit ] TRC skip redundant paths share/basic| kit/Kit.cpp:177
kit-02412-02412 20:31:43.378012 [ loolkit ] TRC skip redundant paths share/template| kit/Kit.cpp:177
kit-02412-02412 20:31:43.486501 [ loolkit ] DBG Initialized jail files.| kit/Kit.cpp:1657
kit-02412-02412 20:31:43.486660 [ loolkit ] INF chroot("/opt/online/jails/2412/")| kit/Kit.cpp:1681
kit-02412-02412 20:31:43.486698 [ loolkit ] TRC Capabilities first: = cap_fowner,cap_sys_chroot,cap_mknod+ep| kit/Kit.cpp:233
kit-02412-02412 20:31:43.486716 [ loolkit ] TRC Capabilities now: = cap_fowner,cap_mknod+ep| kit/Kit.cpp:250
kit-02412-02412 20:31:43.486729 [ loolkit ] TRC Capabilities first: = cap_fowner,cap_mknod+ep| kit/Kit.cpp:233
kit-02412-02412 20:31:43.486742 [ loolkit ] TRC Capabilities now: = cap_fowner+ep| kit/Kit.cpp:250
kit-02412-02412 20:31:43.486754 [ loolkit ] TRC Capabilities first: = cap_fowner+ep| kit/Kit.cpp:233
kit-02412-02412 20:31:43.486765 [ loolkit ] TRC Capabilities now: =| kit/Kit.cpp:250
kit-02412-02412 20:31:43.486775 [ loolkit ] DBG Initialized jail nodes, dropped caps.| kit/Kit.cpp:1698
kit-02412-02412 20:31:43.524563 [ loolkit ] INF Process is ready.| kit/Kit.cpp:1733
kit-02412-02412 20:31:43.526030 [ loolkit ] INF Send buffer size for web socket set to minimum: 4608| ./wsd/LOOLWebSocket.hpp:58
kit-02412-02412 20:31:43.526065 [ loolkit ] INF SocketProcessor [child_ws_2412] starting.| common/IoUtil.cpp:49
kit-02412-02412 20:31:43.539442 [ loolkit ] TRC Got frame: TEXT 4 bytes: ‘exit’| ./wsd/LOOLWebSocket.hpp:124
kit-02412-02412 20:31:43.539511 [ loolkit ] DBG child_ws_2412: recv [exit].| kit/Kit.cpp:1771
kit-02412-02412 20:31:43.539529 [ loolkit ] TRC Setting TerminationFlag due to ‘exit’ command from parent.| kit/Kit.cpp:1802
kit-02412-02412 20:31:43.539541 [ loolkit ] INF SocketProcessor [child_ws_2412]: Stop flagged.| common/IoUtil.cpp:68

i don’t understand why this line get there : kit-02412-02412 20:31:43.539442 [ loolkit ] TRC Got frame: TEXT 4 bytes: ‘exit’| ./wsd/LOOLWebSocket.hpp:124

If someone can help of know this meaning.

Try this:
stop apache an install HAProxy.
systemctl stop apache2
systemctl disable apache2
apt-get install haproxy

add into thist file: /etc/haproxy/haproxy.cfg

frontend https_frontend
bind *:443
mode tcp
option httpclose
option forwardfor
reqadd X-Forwarded-Proto:\ https
default_backend httpserver

backend httpserver
mode tcp
balance roundrobin
stick-table type ip size 200k expire 60m
stick on src
server web1 localhost:9980

systemctl restart haproxy

Good luck!

It’s not working i think a misconfigure something.

My config is :
my nextcloud server is on ->
my LOOLserver is on ->

When i enable haproxy is not working.
I modifiy server web1 or

In my nextcloud admin config i put witch work when i use a navigator…

Just localhost:9980.
You don’t need to do anything just Copy:Past from my above haproxy config an add (add means add) it to end of your haproxy config.

Did you add to allowed host in your loolwsd.xml?
’#>host desc=“Regex pattern of hostname to allow or deny.” allow=“true”>cloud\.mydomain\.com</host>

then restart lool

Hello @husisusi
Some news :
I didn’t need proxy mod for apache or HAproxy, in fact loolwsd.xml was badly configured.

When i edit it last day, i just put the /path/cert.pem and the login password for admin.html…
I miss the

<host desc=“Regex pattern of hostname to allow or deny.” allow=“true”

Now it’s working, no 10 docs limitations. Great.

I ran the script and in the end it says
"make: *** No rule to make target ‘run’. Stop."
Done! Enjoy!!!

I have fresh installation of Nextcloud 11.0.1 on Ubuntu 16.4 LTS with Apache and MySql
and while access any document via web interface it says

Access Forbidden.
I am new to nextcloud; earlier we used owncloud (Now I wanted to switch to nextcloud and we all know the reason :).)

Cannot compile lool in /opt/online on Ubuntu 14.4
Libreoffice compiles fine.
poco also compiles

Multiple unsigned int, long unsigned int errors during Make

Ubuntu 14.4 also cannot run the docker images of collaborate, so this script would be very useful.

Any suggestions? What would be different on 14.4 compared to 16.6? All the apt packages etc download and install fine.

Would this script work for using with nginx as well? If not, what would I have to change? I’m using the nginx configuration from - would that work if I install Online Office with your script?

1 Like


Dear again in this post
I have orangepiplus2e with 2gb ram
I have armbian 5.26 with kernel 4.10
I use nextcloud with nginx, mariadb and php7.0 and redis.
I would like to get office .
I. Loose hope from collabora as container doesn’t work with arm devices.
Now I came to this post today.what do u guys think.?
willl this work on my arm device?
Please guide

O man!!! what does the script have to do with nginx, apache or any proxy???
It just build office and officeonline.

How to start?