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

Diese Anleitung soll die Installation von Collabora Online 2.0 ohne Docker beschreiben.
Installiert wird auf einem Ubuntu 16.04 LTS (aber alle Befehle funktionieren auch auf Debian).
Falls jemand Fehler in der Beschreibung findet oder Hinweise bzw Verbesserungsvorschläge hat, schreibt es in die Kommentare und ich werde die Anleitung weiter optimieren.


Inhaltsangabe:

Vorbereitung
Installation
Abschlussarbeiten

Vorbereitung:

→ 10 users / CPU thread
→ 100MB RAM / user
→ 100kbits / user


**Installation:** > sudo -i > apt-get update > apt-get upgrade > cd /tmp > git clone https://github.com/husisusi/officeonlin-install.sh.git > cd officeonlin-install.sh/ > chmod +x officeonline-install.sh > ./officeonline-install.sh (2-8h!!)

Abschlussarbeiten

nano /opt/online/loolwsd.xml
(Eintragen, welche entfernten nextcloud-Installationen den Dienst nutzen dürfen)

<host desc="Regex pattern of hostname to allow or deny." allow="true">your-nextcloud\.com</host>  

Test: im Browser folgende URL aufrufen:
https://localhost:9980/loleaflet/1b5594f/loleaflet.html?file_path=file:///opt/online/test/data/hello-world.odt

Adminbereich erreichbar unter:
https://admin:office1234@localhost:9980/loleaflet/dist/admin/admin.html

Log liegt in /tmp/loolwsd.log

Dienst steuern mittels:

sudo systemctl status/start/restart loolwsd.service

Der Dienst kann auch über Port 443 mittels Proxy erreichbar gemacht werden.
Dazu einfach der Anleitung unter Nextcloud Office - Self-hosted online office suite folgen.

Viele Grüße
Pisoko

6 Likes

ich hänge leider hier fest

configure: error: Package requirements (fontconfig >= 2.4.1) were not met:                                   

No package ‘fontconfig’ found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables FONTCONFIG_CFLAGS
and FONTCONFIG_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Error running configure at ./autogen.sh line 281.

apt-get install fontconfig

Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen… Fertig
»fontconfig« ist bereits die neuste Version (2.11.94-0ubuntu1.1).
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 3 nicht aktualisiert.

Bei welchem Schritt erscheint die Fehlermeldung?

bei diesem ./autogen.sh --without-help --without-myspell-dicts

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?