LibreOffice Online bzw. Office Dokumente bearbeiten

Would be nice to have this in the AUR

Hi.

Thanx for the detailed description. I have just tried to implement this in my cloud.
Downloaded stable libreoffice 5.1.4.2 & libreoffice on-line from the git repository.
After compilation and trying to start loolwsd I see:

frk-32080-00 00:00:00.073630 [ loolforkit ] No lok_preinit symbol in /opt/libreoffice-5.1.4.2/lib/libreoffice/program/libsofficeapp.so: /opt/libreoffice-5.1.4.2/lib/libreoffice/program/libsofficeapp.so: undefined symbol: lok_preinit
wsd-32071-00 00:00:02.021066 [ loolwsd ] Child process [32080] exited with code: 70.

Which problem causes this and how to solve it? The same error appeared also when I tried to use libreoffice4 from the OS. Googling didn’t help :frowning:

Thanx.

Please use the master-branch from git.

git clone https://github.com/LibreOffice/core.git

I think it is a 5.3 version


And I think too
the best way is to use included loolswd toolkit
see --with-lokit-path=/opt/lool/loolwsd/bundled/include by configure the loolwsd-build
see

/opt/lool/loolwsd/configure \
--sysconfdir=/opt/lool/loolwsd/etc \
--prefix=/opt/lool/loolwsd \
--enable-silent-rules \
--with-lokit-path=/opt/lool/loolwsd/bundled/include \
--with-lo-path=/opt/LibreOfficeFromSource/lib/libreoffice \
--enable-debug

in my example


if you build the libre from core by yourself, you always have the chance to select your own installationdir
see

./autogen.sh --prefix=/opt/LibreOfficeFromSource
.
.
.

in my post. So you can keep more then one libreoffice-builds in your os (for testing)


good luck!

I think that makes no sense at this time cause of the experimental state of loolwsd an the richdokuments app

BUT sometimes it would be nice!

thanx for the replay.

as in your explanation I used --with-lokit-path=/opt/lool/loolwsd/bundled/include to configure loolwsd.

I have just downloaded virtual image for CODE to check what they have inside. So their loolwsd is of course older but libreoffice too. And there are no such kind of lok_preinit symbol in their libraries as well as libsofficeapp.so.
Ok. I will take the latest libreoffice from the git.
But still there are mentions about _preinit in libreoffice on-line but not in the libreoffice core sources. Maybe it can be solved by choosing configuration parameters in libreoffice core?

But - I think - it is an DEV-Bulid and not a stable.

Please inform us about your try


Please use the “master branch” from git.

git clone https://github.com/LibreOffice/core.git

and do not set

--enable-mergelibs

option in autogen.sh.

--enable-mergelibs
Enables linking of big, merged, library.
Experimental feature, tested only for Linux at some
stage in history, but possibly does not work even
for Linux any more. This will link a core set of
libraries into libmerged.

Then you will get a proper libsofficeapp.so. (In my case, it worked so)

In the collabora-vm-image libre is build with --enable-mergelibs. So there is no libsofficeapp.so but the libmergedlo.so.
This may work but must not
in my case I can’t build libreoffice with this option.

Yes, I saw that collabora-vm-image libre uses mergelibs. Anyways, libreoffice branch from git compiled libsofficeapp.so with this lok_preinit symbol and loowsd does not complain this already.
But now I have a new problem:

kit-64204-00 00:00:16.140231 [ loolkit ] Initialized jail files.
kit-64204-00 00:00:16.140337 [ loolkit ] mknod(/opt/libreoffice-online/loolwsd/jails/64204//dev/random) failed. (errno: Operation not permitted)
kit-64204-00 00:00:16.140364 [ loolkit ] mknod(/opt/libreoffice-online/loolwsd/jails/64204//dev/urandom) failed. (errno: Operation not permitted)
kit-64204-00 00:00:16.140376 [ loolkit ] chroot("/opt/libreoffice-online/loolwsd/jails/64204/")
kit-64204-00 00:00:16.140394 [ loolkit ] chroot("/opt/libreoffice-online/loolwsd/jails/64204/") failed. (errno: Operation not permitted)
frk-64188-00 00:00:17.004916 [ loolforkit ] Child 64204 has exited, removing its jail '/opt/libreoffice-online/loolwsd/jails/64204'

loolwsd is started as www-data user and all directories & files in this path (except /opt) /opt/libreoffice-online/loolwsd/jails are belong to www-data user.
Will try to figure out later on what kind of permissions it complains about but maybe someone has a hint.

Thanx.

Could it be a SELinux problem?

Did you install “libcap”?

LibreOffice On-Line WebSocket server
====================================

Dependencies
------------

LibreOffice On-Line WebSocket server has the following dependencies:

* libpng
* Poco library: http://pocoproject.org/index.html.
* libcap-progs

See: https://github.com/LibreOffice/online/tree/master/loolwsd

Hi,
thanx for the quick replay. SELinux is disabled. libcap is installed.
I saw in spec files for redhat/debian packages in loolwsd sources that they use setcap for loolwsd & loolforkit. Would be this a case to prevent these permission errors?

setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /usr/bin/loolforkit || true
setcap cap_sys_admin=ep /usr/bin/loolmount || true

Hallo, Danke fĂŒr die Tolle Anleitung. Leider kann ich den loolwsd nicht starten.
Ich bekomme die Fehlermeldung:
frk-29542-00 00:00:00.879335 [ loolforkit ] No lok_preinit symbol in /usr/lib/libreoffice/program/libmergedlo.so: /usr/lib/libreoffice/program/libmergedlo.so: undefined symbol: lok_preinit

Kann jemand was damit anfangen? Die github Seite von lool hat leider keinen Issue Seite, so dass ich da nciht mit den Entwicklern kommunizieren kann.

Ich habe Ubuntu 16.04 LTS. Libreoffice habe ich aus den Paketquellen Installiert. Poco und loolwsd zu bauen hat ohne Fehlermeldungen geklappt (nach ein paar anlÀufen).

Muss ich Libreoffice aus den quellen selber bauen?

yepp


siehe: hier
 (Ă€hnliches Problem)

Yes, that is the way, how it would be done for the packages, but that should also be done automatically by “selfbuilding” the loolwsd.

thanx. after setcap-ing loolwsd at least started.
next will be testing.

Do you know when the first realse is planned?

Ich bin nach der Anleitung vorgegangen, ebenfalls unter Arch.
Das Setcap hat fĂŒr mich den vorletzten Fehler gelöst. Loolwsd startet nun. Allerdings habe ich nun ein Problem mit der Richdocuments App. Diese verbindet sich, aber beim Erstellen eines neuen Dokuments wird nur ein leeres KĂ€stchen in der DokumentenĂŒbersicht erzeugt. Ein Klick auf die erstellte Datei liefert nur ein: failed to open undefined, file not supported.
In den Logs erscheint ein: Undefined index: dir at /nextcloud/apps/richdocuments/controller/documentcontroller.php#258

Update: bin zwar weitergekommen, aber es funktioniert immer noch nicht.
Anscheinend startet bei mir loolwsd nur auf 127.0.0.1 was sich mit meinem Letsencrypt Zertifikat beißt (Localhost nicht im Zertifikat enthalten). Habe probehalber das mitgelieferte verwendet. Nun wird beim Erstellen eines neuen Dokuments tatsĂ€chlich das Dokument auf dem Server erstellt. Will man es auch bearbeiten kriegt man das sich ewig drehende Rad, aber keine Bearbeitungsmöglichkeit. Fehler in den Logs bleibt derselbe wie oben.

Das kannst Du ja mit

netstat -lntp | grep 9980

ĂŒberprĂŒfen. Bei mir lauscht der an allen NICs:

tcp 0 0 0.0.0.0:9980 0.0.0.0:* LISTEN 6623/loolwsd

Du hast auch den loleaflet gebaut?

cd /opt/lool/loleaflet
make

Eine weitere Fehlerquelle könnte sein, dass der loolwsd nicht von außen erreichbar ist. Das wĂ€re dann ein Firewall/iptables Problem fĂŒr Port 9980. (accept bzw. Portforward an Deinen “Server”) Der Browser baut die Verbindung zum Bearbeiten der LibreDoks ĂŒber Port 9980 auf
also wenn alles beim Standard geblieben ist.

Weiterhin viel Erfolg!

Hallo,

Danke fĂŒr den großartigen Guide. Wird es auch irgendwann ein Debian Repository/PPA/SNAP geben? Das wĂ€re wirklich hilfreich fĂŒr Debian/Ubuntu User.

Ich habe meine aktualisierte Beschreibung in einen neuen Topic gesteckt
:wink:


da haben sich doch noch einige Kleinigkeiten geÀndert, die mir im Laufe der Zeit beim Basteln aufgefallen sind.


Ich kann mir schon vorstellen, dass sich jemand mal die Arbeit macht und alles Notwendige in ein DistriPaket vereint. Zum aktuellen Zeitpunkt ist das aber - meiner Meinung nach - noch nicht sinnvoll, da es doch noch eine ganze Menge zu verbessern gibt. Das betrifft fĂŒr mich besonders den Funktionsumfang und das Layout, den Libre in der Cloud hat. Ich weiß natĂŒrlich nicht, wie gut die Integration in der “Own/NextcloudBezahlVariante
oder sagen wir: Enterprise Support Subscriptions” ist. Kann sein, dass dort alles schon weiter ist.

FĂŒr mich kommt ĂŒbrigens eine - aktuell “provagierte” - DockerVariante aktuell nicht in Frage. Ich mag einfach den “Docker-Overhead” nicht, der zusĂ€tzlich mein System belastet. 
ich bleibe da bei meiner “bare metal” Variante (so lange es eben geht
d.h. verfĂŒgbar ist.). Es bleibt abzuwarten, ob der “loolwsd” weiterhin aktuell ĂŒber “git” verfĂŒgbar sein wird
momentan (19.07.2016) bin ich bei Version 1.9.0
und es sind schon wirklich viele Verbesserungen eingezogen. Aktuell umstreift mich etwas die Angst, dass gerade bei LOL in “nextcloud”, die so oft plakatierte Philosophie der “OpenSourceCommunity” verlassen wird (siehe). DAS WÄRE SCHADE! Gerade bei diesem relevanten Thema, perspektivisch eine wirkliche Alternative fĂŒr ein „CloudOffice“ zu bieten.

Wir sollten den fleißigen Menschen hinter libreoffice, loolwsd und richdocuments einfach etwas Zeit lassen. Außerdem sind die sicherlich auch der bessere Ansprechpartner hinsichtlich der Fragen oder Anregungen zur evtl. Paketierung


Ich finde es nicht schlimm, die notwendigen Teile selbst zu bauen. NatĂŒrlich wird das bei einer beim Provider gehosteten Version nicht möglich sein. 
was sicherlich auch fĂŒr die angebotene Docker-Variante gilt


Schauen wir einfach mal. Und bis zu einer fertigen Paketversion fĂŒr die Distris bauen wir eben selbst
:relaxed:

Hi,

can you check does your installation work with encryption? I have the same problem which describes here

https://help.nextcloud.com/t/collabora-not-working-with-encryption/1913

and here

https://github.com/owncloud/richdocuments/issues/97

So turning on encryption causes above problems and with the same symptoms.

Thanx