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

I don’t really think so. In the market there is as for right now 2 main options for office documents.

  • Microsoft Office 365
  • Google Apps

And they both have a price, i think that CODE is a way to spread the news about a new market competitor.

  • Collabora Online

Let users play with it, if you may call it that way, so they can compete with the other 2 private cloud solutions, reaching potential clients that already have started taking over their cloud infrastructure.

Later in time, who knows when, it may become free of charge, as in free beer, but i don’t see it as a near future.
So right now, i would suggest to stick with your copy of LibreOffice 5 and keep from there, that at the end is what you are using on CODE.

So, did CODE get us all excited, yes, is it a production product, no.

My thought about it is that, i didn’t think they will just hand over a project that has been developed for around 5 years with no direct sponsorship from the public.

I run a business myself and i understand where they are coming from, but i don’t prise the lack of information in the first place.

1 Like

I completely agree and its Collabora’s prerogative, but actually its untrue about public support unless you are talking about the 30% of the code that Collabora have contributed. 30% of what you say is true.

Irrespective of that in Nextcloud 11 it does put Nextcloud in an extremely funny position, of not having a document viewer that can even scale into a modest workgroup, unless you stick with PDF.

1 Like

Some people bring the bread some other the milk to the table.

@Ark74 Sure, but I’m not going to assume. Did they document, or announce anything that says they are trying to impose limitations? If you find something that announces the limitation, then I will believe you. I plan on compiling a copy myself in a couple days, and if a limitation isn’t announced by then; I’ll just look for a setting.

Its hardcoded and proved by many in the forum already, you can try compiling the code, but it doesn’t work, as proved by many in the forum already.
The release is neither opensource or unrestricted and the only working form is a docker binary with restrictions.

The fact you can not find details of this restriction is actually worse and casts doubt on the whole honesty and offering of Collabora Code. It is not what it says on the tin.
It comes up with a big message when you try more than 10 documents, there are no settings as the admin console is not part of code.

https://pydio.com/forum/f/topic/collabora-limitation-how-ues-it/

3 Likes

I can confirm that it works.
Many do not differ between Collabora and Onlineoffice.
I am fed up with the … (not yet documented)…
I am working on install-script that will do all the work on Ubuntu 16.04.
I believe it will be ready to use in 2-3 days.

5 Likes

Thank you for explaining, and posting the link. I understand the limitations much better.

We know it works, its been tried, its the same as Collabora Code and has a 10 document limit that for some reason is not documented.

I am taking @Nemskiller at face value here but see no reason why *HowTo:* Install Collabora Online on Ubuntu 16.04. (without Docker!) this is not absolutely true.

If we can get a few more just to test and open more than 10 documents with the Libre version, then please post results.

@husisusi, an install-script will be great! Another question: I have some problems with Letsencrypt certificates because I want deploy Nexcloud + Collabora in private lan and Letsencrypt need a public domain. Someone know a solution with openssl selfsigned certificates?

There are a few howtos out there, just google for them :wink:

Lets encrypt will allow you just to get the certs if you don’t have a public lan.


There are two pages there standalone & manual

Collabora is installed with docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=cloud\\.nextcloud\\.com' --restart always --cap-add MKNOD collabora/code
or
docker run -t -d -p 127.0.0.1:9980:9980 -e "domain=<your-dot-escaped-domain>" --cap-add MKNOD libreoffice/online:master

You don’t actually need the first docker pull collabora/code

If you mean by install script set up the Apache reverse proxy or maybe a complete Nextcloud install that would be cool, there are snap installs and docker containers already though.
Because of the distro variances in the support of Aufs its prob better to swap to device-mapper in the script so it can be cross distro. The performance hit of using device-mapper and a loop-back isn’t going to be a problem for a 10 document restricted docker container.

for the self-compiled version (and probably the docker version as well) it is necessary to tweak the access settings as the OFFICE user will by standard not be able to access the letsencrypt files. I resolved this one by creating copies and changing access privileges for these copies.

I really in hype for this script.
Because i tryied again to build LooL from the last sources and i have a lot of fails …

Building WSD :

libtoolize (no prob)
aclocal give me : aclocal: error: ‘configure.ac’ is required
So i took the configure.ac in the root folder and copy it in wsd.
then aclocal give me : warning: couldn’t open directory ‘m4’: No such file or directory

Hello

to: AAAARRGGH … i give up. (see above)

I got the same error in a Virtualbox Ubuntu 16.04 client and in a Virtualbox Debian 8.7 client. Additionally I tried the libreoffice/core/distro/collabora/cp-5.1 and the master. No difference, same error!

The hardware settings for the Virtualbox clients: 8GB RAM and 40GB Harddisk (vdi).

Then I set up a real PC (16GB RAM, 120GB SSD, Debian 8.7). No difference, same error!
Then I found a hint in relation to poco. So I downloaded the latest poco tarball (version 1.7.7) and compiled/installed it (/usr/local/lib). Debian 8.7 is in default configured to find libraries under /usr/local/lib. Then I compiled the collabora version (see above) again and it worked.

Kind regards

Hello, I’ve compiled too the Poco 1.7.7
Could you give me the commands you wrote on your machine ?

Thanks a lot.

I haven’t documented my commands; but at the moment I try to compile libreoffice core (collabora 5.1) on my Debian 8.7 Virtualbox client. If it works, I can publish my commands.

What I did til now: install poco 1.7.7 (using checkinstall) and install the latest harfbuzz tarball (using checkinstall). further I removed all poco packages installed from the Debian sources (debian.ethz.ch).

then I created a user under which I compile libreoffice core

useradd -U -M -d /usr/local/CollaboraOffice -s /bin/false lool

chown -R lool.lool /usr/local/src/collabora (after git download to /user/local/src/collabora/core)

then I run ./autogen.sh in /usr/local/src/collabora/core. I found a link for libreoffice 4.x
http://www.linuxfromscratch.org/blfs/view/7.6/xsoft/libreoffice.html

sudo -u lool ./autogen.sh
–prefix=/usr/local/CollaboraOffice
–with-lang=‘en-US de’
–with-help
–with-alloc=system
–without-java
–disable-dconf
–disable-odk
–disable-postgresql-sdbc
–disable-firebird-sdbc
–enable-release-build=yes
–enable-python=system
–with-system-boost
–with-system-clucene
–with-system-cairo
–with-system-curl
–with-system-expat
–with-system-graphite
–with-system-harfbuzz
–with-system-icu
–with-system-jpeg
–with-system-lcms2
–with-system-libpng
–with-system-libxml
–with-system-neon
–with-system-npapi-headers
–with-system-nss
–with-system-odbc
–with-system-openldap
–with-system-openssl
–with-system-poppler
–with-system-redland
–with-system-zlib
–with-parallelism
–with-boost-libdir=/usr/lib/x86_64-linux-gnu

sudo -u lool make

Now compiling is still running

Virtualbox Client: Debian 8.7, 8GB RAM, 40GB vdi, 4 Processors, VT-x/AMD-V, PAE/NX, KVM.

And of course I did before:
apt-get install git libkrb5-dev make openssl g++ libtool
apt-get build-dep libreoffice -y
apt-get install libpagemaker-dev

further I found out, that you couldn’t use configure options in autogen.sh
–with-system-libcims
–with-system-libwps
–with-system-lpsolve

because Debian 8.7 has to old libraries for that.

CRASHED!! In Virtualbox client!!

Try to extend RAM to max.

Hello

So, I think I have found a solution to compile LibreOffice core. I did it in a Virtualbox (Version 5.1.12 r112440) Debian 8.7 client environment and also in a normal Debian 8.7 environment on a Thinkpad X220.
On the Thinkpad I has 8GB RAM and a 250GB SSD. In Virtualbox the Debian client has 10GB RAM and a 60GB vdi disk. The Virtualbox system runs on a Thinkpad T460p with 16GB RAM and a 500GB SSD. The Thinkpad X220 runs an i5-2520M and the Thinkpad runs a i7-6700HQ.

In order you can reproduce my Debian 8.7 installation I would like to add the output of the command ‘dpkg-query -l’ as a text file, but unfortunately I do not know how to do that in this forum. Copy/paste wouldn’t be a good idea, because the text file has more than 1500 lines (Debian packages). The text file bases on the system I managed to compile LibreOffice core first. On the base of this Debian 8.7 install I adapted the above mentioned Debian 8.7 environments. The main things I had to change was to (apt-get) remove anacron, cpp-4.8, fakeroot, gcc-4.8, libgcc-4.8-dev, libfakeroot, linux-compiler-gcc-4.8-x86, linux-headers-3.16.0-4-all. Then I did also a apt-get autoremove. Then I (apt-get) install attr, libpagemaker-dev, checkinstall.

On all Debian 8.7 systems I set up a minimal XFCE4 desktop:
apt-get install xorg lightdm lightdm-gtk-greeter xfce4-panel xfce4-session xfce4-settings xfce4-terminal gtk2-engines-xfce gvfs-backends xfwm4 xfconf xfdesktop4 desktop-base thunar thunar-volman thunar-archive-plugin p7zip-full gksu sudo policykit-1-gnome firefox-esr synaptic geany geany-plugins

The desktop I install after set up Debian using
http://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-8.7.1-amd64-netinst.iso
and only install options openssh server and standard utils.

Compile LibreOffice Core:
Then first I compiled and installed poco 1.7.7. I downloaded the tarball poco-1.7.7-all.tar.gz from their homepage and then:
cd /usr/local/src/
mv /home/user/Downloads/poco-1.7.7-all.tar.gz .
tar xzvf poco-1.7.7-all.tar.gz
chown -R root.staff poco-1.7.7-all
cd poco-1.7.7-all
./configure --prefix=/usr/local
make
checkinstall

I normally use checkinstall to install self compiled packages. This allows me to remove the self compiled packages. If you doesn’t know checkinstall, there are two important settings: package name and version. In order to prevent conflicts I add to the package name -rw (libpoco-rw), secont the version must begin with a number. And I always install self compiled packages under /usr/local. Debian in default finds libraries under /usr/local/lib.

Next, I create a user lool:
useradd -U -m -d /usr/local/CollaboraOffice -s /bin/false lool

Then I create the environment for compiling LibreOffice core:
apt-get install git libkrb5-dev make openssl g++ libtool
apt-get build-dep libreoffice

Hint: I compared the installed packages (dpkg-query -l) with the first system I managed to compile core after the above commands. So I had to removed and add some packages (see above).

Downloaded the source of LibreOffice core (version collabora 5.1):
cd /usr/local/src/
mkdir collabora
cd collabora/
git clone -b “distro/collabora/cp-5.1” “https://github.com/LibreOffice/core.git” "core"
cd …
chown -R lool.lool collabora/
cd collabora/core/

Then I configured LibreOffice core the following way:
sudo -u lool ./autogen.sh --prefix=/usr/local
–with-lang=‘de’
–with-parallelism
–enable-release-build=yes
–with-help --with-myspell-dicts
–with-alloc=system
–without-java
–without-system-dicts
–disable-dconf
–disable-odk
–disable-firebird-sdbc
–disable-postgresql-sdbc
–enable-python=system
–with-system-apr
–with-system-boost=yes
–with-system-cairo
–with-system-clucene
–with-system-curl
–with-system-expat
–with-system-graphite
–with-system-harfbuzz
–with-system-icu
–with-system-jpeg
–with-system-libabw
–with-system-libcdr
–with-system-libebook
–with-system-libetonyek
–with-system-liblangtag
–with-system-libmspub
–with-system-libmwaw
–with-system-libodfgen
–with-system-libpagemaker
–with-system-librevenge
–with-system-libvisio
–with-system-libwpd
–with-system-libwpg
–with-system-libexttextcat
–with-system-lcms2
–with-system-libatomic_ops
–with-system-libpng
–with-system-libxml
–with-system-neon
–with-system-nss
–with-system-odbc
–with-system-openldap
–with-system-openssl
–with-system-poppler
–with-system-redland
–with-system-serf
–with-system-zlib
–with-boost-libdir=/usr/lib/x86_64-linux-gnu

And now I use (and this may prevent the crashes, I suppose)
make

When compiling failed, I always used sudo -u lool make. But I haven’t tested it yet. I used sudo -u lool make because I read that one cannot compile LibreOffice core as root. But perhaps they only ask for lool, when one configure LibreOffice core. I’m going to test sudo -u lool make again.

Till now i haven’t installed the compiled LibreOffice core! So I doesn’t know if it works.

Kind regards.

Modifyed some things:
added --enable-release-build=yes \ in the autogen.sh configuration
changed prefix path to --prefix=/usr/local

Under Debian 8.7 with the old autogen.sh configuration the checkinstall failed. The new worked in a Virtualbox Ubuntu 16.04 client. I’m going to test it in Debian 8.7.
It installs Collabora core under /usr/share/doc and /usr/local/lib.

It works on Virtualbox Debian 8.7 client too.

Compile LibreOffice Online (as user root):
apt-get install libcap-dev libcap-ng-dev python-polib python3-polib libcunit1 libcunit1-dev
apt-get install npm nodejs-legacy

npm install -g npm
npm install -g jake

Download LibreOffice Online:
cd /usr/local/src/collabora/
git clone "https://github.com/LibreOffice/online.git"
chown -R root.staff online/
cd online

Prepare configuration:
libtoolize
aclocal
automake --add-missing
autoreconf
autoheader
automake --add-missing

I had to run automake twice, because the first time i got an error!

Configure LibreOffice Online:
./configure --prefix=/usr/local/lib/loolwsd
–bindir=/usr/local/lib/loolwsd/bin
–sysconfdir=/usr/local/lib/loolwsd/etc
–enable-silent-rules
–with-lokit-path=/usr/local/src/collabora/online/bundled/include
–with-lo-path=/usr/local/lib/collaboraoffice
–with-poco-includes=/usr/local/include
–with-poco-libs=/usr/local/lib

There are two options one can set the limits of connections and the limit of documents:
–max-connections
–max-documents
(see ./configure --help)

Compile:
make

Install:
checkinstall

In Debian 8.7 one have to adapt /etc/checkinstallrc. Change TRANSLATE=1 to TRANSLATE=0 (ad least on a German environment). Otherwise checkinstall fails to create install pathes.

I testet it in Ubuntu 16.04 Virtualbox client and in a Debian 8.7 Virtualbox client.

Great job @go4ncloud! My big problem now is compile loolwsd. Have you find any way to do this?

No! Haven’t started yet with LibreOffice Online.

Have you checked, if make vs. sudo -u lool make makes the difference? Would be nice to be sure.

Kind regards.

I tried @mad_mat configuration (wihtout -u lool) and compilation was successful. But I don’t know if there is a real difference because until loolwsd module is not ready I cannot test LibreOffice Online.