LibreOffice Online mit Nextcloud unter Arch Linux mit Let’s Encrypt Zertifikat - Schnellanleitung ohne Docker (aktualisiert 19.10.2016)

Benutzer für “loolwsd”:

useradd -U -M -d /dev/null -s /bin/false lool


Abhängigkeiten:

pacman -S --needed \
apr boost cairo ccache clucene cups curl expat gdb glew gperf graphite \
gtk3 harfbuzz hyphen icu lcms2 libabw libatomic_ops libcap libcap-ng \
libcdr libcmis libe-book libetonyek libexttextcat libixion libjpeg \
liblangtag libldap libmspub libmwaw libodfgen liborcus libpagemaker \
libpng librevenge libvisio libwpd libwpg libwps libxml2 lpsolve neon nss \
openssl poppler python redland serf unixodbc zlib translate-toolkit \
python-polib python2-polib

pacaur -S --needed poco



LibreOffice bauen und Vorbereitungen für loolwsd:

cd /opt; \
git clone -b "distro/collabora/cp-5.1" "https://github.com/LibreOffice/core.git" "LibreOfficeCore_co_git"; \
cd /opt/LibreOfficeCore_co_git; \
cat configure.ac | grep -E "AC_INIT\(\["

export LOIPATH="CollaboraOffice_5.1.10.10"; \
export LOOLDIR="lool_co"; \
export LOOLGITDIR="lool_co_git"; \
export LOBINDIR="collaboraoffice"; \
export LOOLUSER="lool"; \
mkdir /opt/${LOIPATH}

chown -R http:http /opt/LibreOfficeCore_co_git; \
rm -rf `echo ~http/.ccache`; \
mkdir `echo ~http/.ccache`; \
chown -R http:http `echo ~http/.ccache`; \
sudo -u http ccache --max-size 32G

sudo -u http ./autogen.sh --prefix=/opt/$LOIPATH \
--with-lang='de' \
--with-parallelism \
--with-help \
--with-myspell-dicts \
--with-alloc=system \
--without-java \
--without-system-dicts \
--disable-dconf \
--disable-odk \
--disable-firebird-sdbc \
--disable-postgresql-sdbc \
--enable-release-build=yes \
--enable-python=system \
--enable-hardlink-deliver \
--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-libwps \
--with-system-lpsolve \
--with-system-libcmis \
--with-system-libexttextcat \
--with-system-lcms2 \
--with-system-libatomic_ops \
--with-system-libpng \
--with-system-libxml \
--with-system-neon \
--with-system-odbc \
--with-system-openldap \
--with-system-openssl \
--with-system-poppler \
--with-system-redland \
--with-system-serf \
--with-system-zlib

echo Start: `date` > time.txt; \
sudo -u http make; \
echo " Ende:" `date` >> time.txt; \
echo;echo; \
cat time.txt; \
echo; \
du -hs /opt/LibreOfficeCore_co_git; \
du -hs `echo ~http/.ccache`; \
echo; \
sudo -u http ccache -s; \
echo

Zeit für make + Download beim ersten Durchlauf von make:
(stark abhängig von der Maschine und der Internetanbindung)

	Start: Mi 19. Okt 08:50:07 CEST 2016
	 Ende: Mi 19. Okt 10:13:54 CEST 2016

	9,0G    /opt/LibreOfficeCore_co_git
	1,8G    /srv/http/.ccache

	cache directory                     /srv/http/.ccache
	primary config                      /srv/http/.ccache/ccache.conf
	secondary config      (readonly)    /etc/ccache.conf
	cache hit (direct)                    31
	cache hit (preprocessed)              52
	cache miss                         10693
	cache hit rate                      0.77 %
	called for link                      626
	called for preprocessing             259
	compile failed                        28
	preprocessor error                    58
	bad compiler arguments                53
	autoconf compile/link                535
	unsupported compiler option          361
	no input file                        155
	cleanups performed                     0
	files in cache                     31153
	cache size                           1.8 GB
	max cache size                      32.0 GB

make install



LibreOffice On-Line WebSocket server

cd /opt; \
git clone "https://github.com/LibreOffice/online.git" ${LOOLGITDIR}; \
cd /opt/${LOOLGITDIR}/loolwsd; \
libtoolize; \
aclocal; \
automake --add-missing; \
autoreconf; \
autoheader

./configure \
--prefix=/opt/${LOOLDIR}/loolwsd \
--bindir=/opt/${LOOLDIR}/loolwsd \
--sysconfdir=/opt/${LOOLDIR}/loolwsd/etc \
--enable-silent-rules \
--with-lokit-path=/opt/${LOOLGITDIR}/loolwsd/bundled/include \
--with-lo-path=/opt/${LOIPATH}/lib/${LOBINDIR}

make;make install


Let’sEnCrypt einbinden:

rm -rf /etc/loolwsd; \
mkdir /etc/loolwsd; \
cp -L /etc/letsencrypt/live/DOMAIN/cert.pem /etc/loolwsd/cert.pem; \
cp -L /etc/letsencrypt/live/DOMAIN/chain.pem /etc/loolwsd/ca-chain.cert.pem; \
cp -L /etc/letsencrypt/live/DOMAIN/privkey.pem /etc/loolwsd/key.pem; \
rm -f /opt/${LOOLDIR}/loolwsd/etc/loolwsd/cert.pem; \
rm -f /opt/${LOOLDIR}/loolwsd/etc/loolwsd/ca-chain.cert.pem; \
rm -f /opt/${LOOLDIR}/loolwsd/etc/loolwsd/key.pem; \
cp -L /etc/letsencrypt/live/DOMAIN/cert.pem /opt/${LOOLDIR}/loolwsd/etc/loolwsd/cert.pem; \
cp -L /etc/letsencrypt/live/DOMAIN/chain.pem /opt/${LOOLDIR}/loolwsd/etc/loolwsd/ca-chain.cert.pem; \
cp -L /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/${LOOLDIR}/loolwsd/etc/loolwsd/key.pem; \
chmod 644 /opt/${LOOLDIR}/loolwsd/etc/loolwsd/cert.pem; \
chmod 644 /opt/${LOOLDIR}/loolwsd/etc/loolwsd/ca-chain.cert.pem; \
chmod 644 /opt/${LOOLDIR}/loolwsd/etc/loolwsd/key.pem

Client-Teil (loleaflet):

cd /opt/${LOOLGITDIR}/loleaflet; \
export LOLCLIENT="loleaflet-"`grep "^VERSION=" Makefile | sed 's/VERSION=//'`; \
make dist; \
tar -xzf ${LOLCLIENT}.tar.gz -C /opt/${LOOLDIR}/; \
mv /opt/${LOOLDIR}/${LOLCLIENT} /opt/${LOOLDIR}/loleaflet; \
unset LOLCLIENT; \
ls -ahl /opt/${LOOLDIR}/loleaflet

Systemtemplate für jails erzeugen:

setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /opt/${LOOLDIR}/loolwsd/loolforkit; \
setcap cap_sys_admin=ep /opt/${LOOLDIR}/loolwsd/loolmount; \
mkdir -p /opt/${LOOLDIR}/loolwsd/var/cache/loolwsd/; \
mkdir -p /opt/${LOOLDIR}/jails/; \
chown -R ${LOOLUSER}:${LOOLUSER} /opt/${LOOLDIR}/loolwsd/var/cache/loolwsd/; \
chown -R ${LOOLUSER}:${LOOLUSER} /opt/${LOOLDIR}/jails/; \
rm -rf /opt/${LOOLDIR}/loolwsd/systemplate; \
/opt/${LOOLDIR}/loolwsd/loolwsd-systemplate-setup "/opt/${LOOLDIR}/loolwsd/systemplate" "/opt/${LOIPATH}/lib/${LOBINDIR}/" && \
touch /opt/${LOOLDIR}/loolwsd/systemplate/system_stamp; \
chown -R ${LOOLUSER}:${LOOLUSER} /opt/${LOOLDIR}/loolwsd/systemplate

Start manuell (Test):

sudo -u lool /opt/${LOOLDIR}/loolwsd/loolwsd \
--o:lo_template_path=/opt/${LOIPATH}/lib/${LOBINDIR} \
--o:sys_template_path=/opt/${LOOLDIR}/loolwsd/systemplate \
--o:child_root_path=/opt/${LOOLDIR}/jails \
--o:file_server_root_path=/opt/${LOOLDIR}

/etc/systemd/system/loolwsd.service:

[Unit]
Description=LibreOffice On-Line WebSocket Daemon
After=network.target

[Service]
ExecStart=/opt/lool_co/loolwsd/loolwsd --version --o:sys_template_path=/opt/lool_co/loolwsd/systemplate --o:lo_template_path=/opt/CollaboraOffice_5.1.10.10/lib/collaboraoffice --o:child_root_path=/opt/lool_co/jails --o:file_server_root_path=/opt/lool_co
User=lool
KillMode=control-group
Restart=always

[Install]
WantedBy=multi-user.target

Aufräumen (wenn alles funktioniert und die Quellen nicht mehr benötigt werden):

rm -rf /opt/LibreOfficeCore_co_git; \
rm -rf `echo ~http/.ccache`; \
rm -f /opt/${LOOLDIR}.tar; \
rm -rf /opt/${LOOLGITDIR}; \
unset LOIPATH; \
unset LOOLDIR; \
unset LOOLGITDIR; \
unset LOOLUSER; \
unset LOBINDIR; \
cd /opt; \
ls -ahl

Proxy-Einstellungen der Apache-Konfig. des Nextcloud-Hosts:

####### PROXY GLOBALS ###################################################################

SSLProxyEngine On
ProxyVia On
ProxyPreserveHost On
RequestHeader set X-Forwarded-Proto 'https' env=HTTPS
AllowEncodedSlashes On
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off

####### LOOLWSD #########################################################################

# static html, js, images, etc. served from loolwsd
# loleaflet is the client part of LibreOffice Online
ProxyPass           /loleaflet https://127.0.0.1:9980/loleaflet retry=0
ProxyPassReverse    /loleaflet https://127.0.0.1:9980/loleaflet

# WOPI discovery URL
ProxyPass           /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
ProxyPassReverse    /hosting/discovery https://127.0.0.1:9980/hosting/discovery

# Main websocket 
# NEU
ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws
# ALT 
#ProxyPass   /lool/ws      wss://127.0.0.1:9980/lool/ws

# Admin Console websocket
ProxyPass   /lool/adminws wss://127.0.0.1:9980/lool/adminws

# Download as, Fullscreen presentation and Image upload operations
ProxyPass           /lool https://127.0.0.1:9980/lool
ProxyPassReverse    /lool https://127.0.0.1:9980/lool

####### WEBRTC ##########################################################################

<Location /webrtc>
        ProxyPass https://127.0.0.1:8443/webrtc
        ProxyPassReverse /
</Location>

<Location /webrtc/ws>
      ProxyPass wss://127.0.0.1:8443/webrtc/ws
</Location>

#########################################################################################


Hallo,

Schon mal vorab danke für die Anleitung, leider meckert mein Arch immer bei der Eingabe von
sudo -u http ./autogen.sh --prefix=/opt/$LOIPATH \

chown diese operation ist nicht erlaubt …

Oder
Various low-level dependencies are missing, please install them:
pkg-config: pkg-config is required to be installed
aclocal: aclocal is required
autoconf: autoconf is required

Und ich frage mich warum du nur so selten Sudo vor die Befehle Schreibst weil bei vielen Befehlen braucht man ja die root rechte.

Hast du vieleicht einen Tipp was fehlt bzw. Ich falsch gemacht habe?

MfG

Chrysen

Da ich als “root” angemeldet war, brauche ich nur “sudo”, wenn etwas explizit nicht als “root” ausgeführt werden sollte.
Außerdem scheinen bei Dir einige Pakete, die für die Installation notwendig sind zu fehlen.


Ich hinterlasse hier mal meinen letzten Installationslauf vom 17.02.2017…da sich doch einige Sachen etwas geändert haben…

Angemeldet als Benutzer “root”…

Benutzer für “loolwsd” erstellen:

useradd -U -M -d /dev/null -s /bin/false lool

Paket-Abhängigkeiten:
(sicherlich nicht alle notwendig und vielleicht auch nicht vollständig)

pacman -S --needed \
apr boost cairo ccache clucene cups curl expat gdb glew gperf graphite \
gtk3 harfbuzz hyphen icu lcms2 libabw libatomic_ops libcap libcap-ng \
libcdr libcmis libe-book libetonyek libexttextcat libixion libjpeg \
liblangtag libldap libmspub libmwaw libodfgen liborcus libpagemaker \
libpng librevenge libvisio libwpd libwpg libwps libxml2 lpsolve neon nss \
openssl poppler python redland serf unixodbc zlib translate-toolkit \
python-polib python2-polib pkg-config autoconf automake

poco aus dem AUR:
(die Befehlszeile setzt natürlich voraus, dass “pacaur” schon installiert ist…)

sudo -u PACAURUSER pacaur -S --needed poco

Wobei der “PACAURUSER” natürlich nicht “root” ist sondern der, mit dem sonst auch die AUR-Pakete installiert werden.


LibreOffice bauen und Vorbereitungen für loolwsd:
(für das Bauen von LibreOffice missbrauche ich den user “http” da er bei mir schon vorhanden ist…also wegen “apache” und so…:wink:)

cd /opt; \
git clone -b "distro/collabora/cp-5.1" "https://github.com/LibreOffice/core.git" "LibreOfficeCore_co_git"; \
cd /opt/LibreOfficeCore_co_git; \
cat configure.ac | grep -E "AC_INIT\(\["

export LOIPATH="CollaboraOffice_5.1.10.19_20170217"; \
export LOOLDIR="lool_co"; \
export LOOLGITDIR="lool_co_git"; \
export LOBINDIR="collaboraoffice"; \
export LOOLUSER="lool"; \
mkdir /opt/${LOIPATH}

“ccache” vorbereiten…hilfreich, wenn man mehrere “make-Läufe” durchführen muss…

chown -R http:http /opt/LibreOfficeCore_co_git; \
rm -rf `echo ~http/.ccache`; \
mkdir `echo ~http/.ccache`; \
chown -R http:http `echo ~http/.ccache`; \
sudo -u http ccache --max-size 32G

…wobei 32 GB wohl etwas viel ist…was mir aber egal ist, da ich es zum Schluss eh wieder rückgängig mache…

Jetzt wird das “Bauen” von LibreOffice vorbereitet:

sudo -u http ./autogen.sh --prefix=/opt/${LOIPATH} \
--with-parallelism \
--with-lang='de' \
--without-java \
--disable-odk \
--disable-dconf \
--disable-firebird-sdbc \
--disable-postgresql-sdbc \
--without-help \
--without-system-dicts \
--enable-release-build=yes

…und jetzt gebaut:

echo Start: `date` > time.txt; \
sudo -u http make; \
echo " Ende:" `date` >> time.txt; \
echo;echo; \
cat time.txt; \
echo; \
du -hs /opt/LibreOfficeCore_co_git; \
du -hs `echo ~http/.ccache`; \
echo; \
sudo -u http ccache -s; \
echo

Zeit für make + Download beim ersten Durchlauf von make:
(stark abhängig von der Maschine und der Internetanbindung)

		Start: Fr 17. Feb 10:22:33 CET 2017
		 Ende: Fr 17. Feb 11:54:02 CET 2017

		11G     /opt/LibreOfficeCore_co_git
		2,3G    /srv/http/.ccache

		cache directory                     /srv/http/.ccache
		primary config                      /srv/http/.ccache/ccache.conf
		secondary config      (readonly)    /etc/ccache.conf
		cache hit (direct)                   137
		cache hit (preprocessed)             243
		cache miss                         14405
		cache hit rate                      2.57 %
		called for link                      723
		called for preprocessing            1120
		multiple source files                  2
		compile failed                       326
		preprocessor error                    90
		bad compiler arguments               200
		autoconf compile/link               1005
		unsupported compiler option          362
		no input file                        465
		cleanups performed                     0
		files in cache                     40336
		cache size                           2.5 GB
		max cache size                      32.0 GB

Sollte alles funktioniert haben, fehlt jetzt natürlich noch:

make install

Jetzt wenden wir uns dem LibreOffice On-Line WebSocketServer (loolwsd) zu:

export LOIPATH="CollaboraOffice_5.1.10.19_20170217"; \
export LOOLDIR="lool_co"; \
export LOOLGITDIR="lool_co_git"; \
export LOBINDIR="collaboraoffice"; \
export LOOLUSER="lool"; \
systemctl stop loolwsd

Ja, hatte ich oben schon…aber manchmal will man ja auch nur den “loolwsd” neu bauen…
In solchen Fällen sollte man natürlich auch den “alten” und hoffentlich funktionierenden “loolwsd” sichern…

Wenn noch kein “loolwsd” vorhanden ist, dann weiter mit “Vorbereitung und Bauen”


cd /opt; \
tar -cf ${LOOLDIR}.tar ${LOOLDIR}; \
rm -rf /opt/${LOOLDIR}

zum Rückspielen bei Fehlern:

rm -rf /opt/${LOOLDIR}; cd /opt; tar -xf ${LOOLDIR}.tar ${LOOLDIR}; \
setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /opt/${LOOLDIR}/loolwsd/loolforkit; \
setcap cap_sys_admin=ep /opt/${LOOLDIR}/loolwsd/loolmount; \
mkdir -p /opt/${LOOLDIR}/loolwsd/var/cache/loolwsd/; \
mkdir -p /opt/${LOOLDIR}/jails/; \
chown -R ${LOOLUSER}:${LOOLUSER} /opt/${LOOLDIR}/loolwsd/var/cache/loolwsd/; \
chown -R ${LOOLUSER}:${LOOLUSER} /opt/${LOOLDIR}/jails/; \
rm -rf /opt/${LOOLDIR}/loolwsd/systemplate; \
/opt/${LOOLDIR}/loolwsd/loolwsd-systemplate-setup "/opt/${LOOLDIR}/loolwsd/systemplate" "/opt/${LOIPATH}/lib/${LOBINDIR}/" && \
touch /opt/${LOOLDIR}/loolwsd/systemplate/system_stamp; \
chown -R ${LOOLUSER}:${LOOLUSER} /opt/${LOOLDIR}/loolwsd/systemplate

“loolwsd” Vorbereitung und Bauen:

cd /opt; \
git clone -b "distro/collabora/collabora-online-2-0" "https://github.com/LibreOffice/online.git" ${LOOLGITDIR}; \
cd /opt/${LOOLGITDIR}; \
libtoolize; \
aclocal; \
automake --add-missing; \
autoreconf; \
autoheader

./configure \
--prefix=/opt/${LOOLDIR}/loolwsd \
--bindir=/opt/${LOOLDIR}/loolwsd \
--sysconfdir=/opt/${LOOLDIR}/loolwsd/etc \
--enable-silent-rules \
--with-lokit-path=/opt/${LOOLGITDIR}/bundled/include \
--with-lo-path=/opt/${LOIPATH}/lib/${LOBINDIR}

make;make install


Let’sEnCrypt einbinden:

rm -rf /etc/loolwsd; \
mkdir /etc/loolwsd; \
cp -L /etc/letsencrypt/live/_DOMAINNAME_/cert.pem /etc/loolwsd/cert.pem; \
cp -L /etc/letsencrypt/live/_DOMAINNAME_/chain.pem /etc/loolwsd/ca-chain.cert.pem; \
cp -L /etc/letsencrypt/live/_DOMAINNAME_/privkey.pem /etc/loolwsd/key.pem; \
rm -f /opt/${LOOLDIR}/loolwsd/etc/loolwsd/cert.pem; \
rm -f /opt/${LOOLDIR}/loolwsd/etc/loolwsd/ca-chain.cert.pem; \
rm -f /opt/${LOOLDIR}/loolwsd/etc/loolwsd/key.pem; \
cp -L /etc/letsencrypt/live/_DOMAINNAME_/cert.pem /opt/${LOOLDIR}/loolwsd/etc/loolwsd/cert.pem; \
cp -L /etc/letsencrypt/live/_DOMAINNAME_/chain.pem /opt/${LOOLDIR}/loolwsd/etc/loolwsd/ca-chain.cert.pem; \
cp -L /etc/letsencrypt/live/_DOMAINNAME_/privkey.pem /opt/${LOOLDIR}/loolwsd/etc/loolwsd/key.pem; \
chmod 644 /opt/${LOOLDIR}/loolwsd/etc/loolwsd/cert.pem; \
chmod 644 /opt/${LOOLDIR}/loolwsd/etc/loolwsd/ca-chain.cert.pem; \
chmod 644 /opt/${LOOLDIR}/loolwsd/etc/loolwsd/key.pem

Client-Teil (loleaflet) bauen:

cd /opt/${LOOLGITDIR}/loleaflet; \
export LOLCLIENT="loleaflet-"`grep "^VERSION=" Makefile | sed 's/VERSION=//'`; \
make dist; \
tar -xzf ${LOLCLIENT}.tar.gz -C /opt/${LOOLDIR}/; \
mv /opt/${LOOLDIR}/${LOLCLIENT} /opt/${LOOLDIR}/loleaflet; \
unset LOLCLIENT; \
ls -ahl /opt/${LOOLDIR}/loleaflet

Systemtemplate für jails erzeugen:

setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /opt/${LOOLDIR}/loolwsd/loolforkit; \
setcap cap_sys_admin=ep /opt/${LOOLDIR}/loolwsd/loolmount; \
rm -rf /opt/${LOOLDIR}/loolwsd/var; \
mkdir -p /opt/${LOOLDIR}/loolwsd/var/cache/loolwsd/; \
rm -rf /opt/${LOOLDIR}/loolwsd/test; \
mkdir -p /opt/${LOOLDIR}/loolwsd/test/data/; \
cp /opt/${LOOLGITDIR}/test/data/*.* /opt/${LOOLDIR}/loolwsd/test/data/; \
chown -R ${LOOLUSER}:${LOOLUSER} /opt/${LOOLDIR}/loolwsd/test/; \
rm -rf /opt/${LOOLDIR}/jails; \
mkdir -p /opt/${LOOLDIR}/jails/; \
chown -R ${LOOLUSER}:${LOOLUSER} /opt/${LOOLDIR}/loolwsd/var/cache/loolwsd/; \
chown -R ${LOOLUSER}:${LOOLUSER} /opt/${LOOLDIR}/jails/; \
rm -rf /opt/${LOOLDIR}/loolwsd/systemplate; \
/opt/${LOOLDIR}/loolwsd/loolwsd-systemplate-setup "/opt/${LOOLDIR}/loolwsd/systemplate" "/opt/${LOIPATH}/lib/${LOBINDIR}/" && \
touch /opt/${LOOLDIR}/loolwsd/systemplate/system_stamp; \
chown -R ${LOOLUSER}:${LOOLUSER} /opt/${LOOLDIR}/loolwsd/systemplate

Bei mir hat er im Test die “discovery.xml” nicht gefunden…na ja, habe ich sie eben einfach mal da hin kopiert, wo er sie erwartet hat…:sunglasses:

cp /opt/lool_co/loolwsd/share/loolwsd/discovery.xml /opt/lool_co/

Testen:

systemctl stop httpd; \
sleep 2; \
systemctl status httpd; \
sleep 2; \
systemctl start httpd; \
sleep 2; \
systemctl status httpd; \
sleep 2; \
sudo -u lool /opt/${LOOLDIR}/loolwsd/loolwsd \
--o:lo_template_path=/opt/${LOIPATH}/lib/${LOBINDIR} \
--o:sys_template_path=/opt/${LOOLDIR}/loolwsd/systemplate \
--o:child_root_path=/opt/${LOOLDIR}/jails \
--o:file_server_root_path=/opt/${LOOLDIR} \
--o:admin_console.username=xxxxxxxxxxxxxxxxxxxxxxxxxxxx \
--o:admin_console.password=yyyyyyyyyyyyyyyyyyyyyyyyyyyy

Jetzt fehlt eigentlich nur noch die “service-Datei”:
(hier sollte man jetzt natürlich keine variablen Pfade mehr verwenden…)

/etc/systemd/system/loolwsd.service:

[Unit]
Description=LibreOffice On-Line WebSocket Daemon
After=network.target

[Service]
ExecStart=/opt/lool_co/loolwsd/loolwsd --version --o:sys_template_path=/opt/lool_co/loolwsd/systemplate --o:lo_template_path=/opt/CollaboraOffice_5.1.10.19_20170217/lib/collaboraoffice --o:child_root_path=/opt/lool_co/jails --o:file_server_root_path=/opt/lool_co --o:admin_console.username=xxxxxxxxxxxxxxxxxxxxxxxxxxxx --o:admin_console.password=yyyyyyyyyyyyyyyyyyyyyyyyyyyy
User=lool
KillMode=control-group
Restart=always

[Install]
WantedBy=multi-user.target

Und jetzt noch alles “in Betrieb” nehmen:

systemctl daemon-reload;sleep 2; \
systemctl stop loolwsd;sleep 2; \
systemctl restart httpd;sleep 2; \
systemctl start loolwsd;sleep 2; \
systemctl status loolwsd

Aufräumen (wenn alles funktioniert und die Quellen nicht mehr benötigt werden):

rm -rf /opt/LibreOfficeCore_co_git; \
rm -rf `echo ~http/.ccache`; \
rm -f /opt/${LOOLDIR}.tar; \
rm -rf /opt/${LOOLGITDIR}; \
unset LOIPATH; \
unset LOOLDIR; \
unset LOOLGITDIR; \
unset LOOLUSER; \
unset LOBINDIR; \
cd /opt; \
ls -ahl

Danke für die neue Anleitung Xd

hab Arch mit LEMP drauf musste n paar sachen bzw parameter ändern so konnte ich des bauen
Hab einiges ändern müssen, jetzt möchte er des ant-apache paket haben das es logischer weiße nicht für nginx gjbt teste später nochmal mit LAMP

Hi!
I try to build LibreOffice Online on Arch ARM mostly on Your HowTo basis with little differencies, e,g, with sources LibreOfficeCore_co_git and lool_co_git on mounted external disk, ccahe downed to 8G and so on. Building core part really took ages, but finally I did it. But online part won’t compiling at all: it throws error right from the building Admin.o starting from

  CXX      wsd/Admin.o
In file included from ./wsd/LOOLWebSocket.hpp:22:0,
             from wsd/AdminModel.hpp:20,
             from wsd/Admin.hpp:23,
             from wsd/Admin.cpp:28:
./common/Protocol.hpp: In function 'std::__cxx11::string
LOOLProtocol::getAbbreviatedMessage(const string&)':
./common/Protocol.hpp:268:93: error: no matching function for call to 'min
(std::__cxx11::basic_string<char>::size_type, long unsigned int)'
  = getDelimiterPosition(message.data(), std::min(message.size(), 500UL), '\n');

and ending with message about parameters types mismatch at Protocol.hpp. Have You any idea what can go wrong?
I can give whole error, but I trucated it in my message because of its length

Ist das das selbe Ergebnis wie HowTo: Install Onlineoffice on Ubuntu/Debian (No Docker No Limitation)?