Collabora CODE (online office suite) installation

NethServer Version: 7.9

I tried to install Collabora CODE (online office suite) without luck…

...You need a valid certificate like letsencrypt....

OK, maybe its the lack of a valid certificate?

Hi @fausp,

Yes you do need a valid cert. :+1:

Also think we can be haunted by a ghost of the past:

The mutation of the gost: Nextcloud moved to rh-php73 while Collabora expects we still are on rh-php72

cc// @mrmarkuz

3 Likes

Great, the update works on a running homeserver and a fresh install works on a test VM. :clap:

A valid cert is recommended but it works without cert too. Just needed to set it in the Nextcloud Collabora settings:

grafik

3 Likes

@giacomo made a wrapper for /usr/share/nextcloud/occ a while ago :+1:
So the ghost that haunted netherserver-collabora every rh-php-point-release update for nextcloud is going to be something of the past.

A few (closing) remarks:

  • thought the virtual host collabora.yourdomain.you is created at installation… Had to set this prop config setprop loolwsd VirtualHost collabora.yourdomain.you as described in README.rst in order to install the nextcloud-apps and let it configure nextcloud.
  • loolwsd in nethforge is out-of-date, the wiki installation instruction which includes installing collabora-release works. (except for the above omission)
  • EDIT: Disable certificate verification works for testing,
4 Likes

@fausp, sorry for hijacking your post… trying to improve the user experience.

What about assuming the virtual/wopi host is collabora.server-domain if loolwsd VirtualHost prop is empty ?

Except for certificate issues, can we accomplish a working configuration on install?

1 Like

I think this would work in the local network in any case if we add a DNS entry/server alias for collabora.server-domain. If one needs another (public) domain the prop is still there. If the prop is set, the DNS entry is not needed anymore.

1 Like

hmm…this has to sink in for a bit of time… :thinking: :thinking: :thinking:

Have to amid I’m testing on a NS-VM which is not the DNS server for the lan,
hence made the dns aliases (nextcloud.mydomain and collabora.mydomain) on the nethserver instance which is the (lan) DNS.

You are right, it always depends on the network and if the Nethserver is DNS.
But it’s still a good idea to pre/autoconfigure collabora.

Oke going to “breed” on this for a while;

The objective are:

  • If the NS instance you install nethserver-collabora on has nethserver-nextcloud installed and is the DNS-server: it should work out-off the box on virtual/wopi host collabora.server-domain except for the certificate issue ( provide documentation to include vhost in Let's Encrypt and Disable certificate verification)
  • If a loolwsd VirtualHost prop is set it respects this.

Nice to have:

  • If the virtual/wopi host does not have a valid cert and nethserver-nextcloud is installed on the same instance try to Disable certificate verification
  • Enable certificate verification on certifate-save event if the cert is valid.

Welcome to comment on the above;
and upfront “nice to have” is low (lowwwww) prio.

Probably need a bit of help with this :woozy_face:

1 Like

@mrmarkuz can you remember if a virtual-host for loolwsd was a necessity?
Or can it also run on the default (virtual) host?

could be something like:

if [[ -n `config getprop loolwsd VirtualHost` ]]; then
    WopiUrl=`config getprop loolwsd VirtualHost`
else
    WopiUrl=collabora.`config get DomainName`
fi

/usr/bin/curl https://$WopiUrl> /dev/null 2>&1
if [ $? -eq 60 ]; then
    /usr/local/sbin/occ config:app:set richdocuments disable_certificate_verification --value=yes
else
    /usr/local/sbin/occ config:app:set richdocuments disable_certificate_verification --value=''
fi
/usr/local/sbin/occ richdocuments:activate-config
1 Like

It’s about definitions…
It needs a dedicated name (the prop is called virtualhost which may be confusing) but not a virtual host like the ones you can create in the UI with the virtualhosts module.

But it needs the /etc/httpd/conf.d/zz_collabora.conf so an “internal” vhost is needed because we need the reverse proxy.

EDIT:

Thinking about it again, it could work with the default virtual host too but I never tested.

1 Like

hmm keep it with my first proposal (ie collabora.server-domain)

This was my line of thinking :

<location "/loleaflet">
  ProxyPass           http://127.0.0.1:9980/loleaflet retry=0
  ProxyPassReverse    http://127.0.0.1:9980/loleaflet
</Location>

  # WOPI discovery URL

<location "/hosting/discovery">
  ProxyPass           http://127.0.0.1:9980/hosting/discovery retry=0
  ProxyPassReverse    http://127.0.0.1:9980/hosting/discovery
</Location>

With a http > https in default-virtualhost.inc ,

It is going the be a fight for someone else :blush:

1 Like

Back to the first issue, released for testing:

yum --enablerepo=nethforge-testing install nethserver-collabora

follow the doc of README.rst to configure

No need to install collabora-release but you can do so to get the latest upstream Collabora CODE.
(in nethforge-testing lives a version matching loolwsd which never made it to nethforge)

If you do not have a valid certificate disable this in nextcloud-admin or run:

/usr/local/sbin/occ config:app:set richdocuments disable_certificate_verification --value=yes

/usr/local/sbin/occ richdocuments:activate-config

1 Like

It works on a test VM but zz_collabora.conf is empty after install, I needed to set the virtualhost domain manually.

1 Like

Thanx for testing :+1:

This is still expected behavior, have not take on the enhancements discussed in this post.
Sorry to confuse the reader: this test release fixes the rh-php7x issue.

After this nethserver-collabora gets a bit TLC…

2 Likes

Beside my own test @mrmarkuz confirmed the fix works.

As some may have noticed; discovered another issue related to the dependencies in nethforge vs nethforge-testing. Since b781efd requires loolwsd >= 4.2.0 CODE-brand >= 4.2.0. colaboraoffice6.x in nethforg testing is also newer.

I like to propose to publish this fix for rh-php7x together with the dependencies as-is in nethforge-testing.

(already did a quick test for the upgrade path to the latest upstream CODE-brand which seem to work but like to take this on in the next step with enhancements)

2 Likes

Just to be sure, I have to release also:

Should I also release all collaboraoffice6.2 packages?

2 Likes

Yes

all my tests are done with either collaboraoffice6.2 (from nethforge-tetsting) or the latest upstream collaboraoffice6.x.

So I propose to release collaboraoffice6.2 too.

(the spelling dictionaries are missing. If a user requires this the quick fix is to use upstream repo… or wait a bit of time :wink:)

2 Likes