Collaborative Document Editing?

I would like to use onlyoffice to be able to use “Collaborative Document Editing”, does anyone work on this feature ?

I have nextcloud and onlyoffice app on a testserver (NethServer 7 - 1708).

I think the last thing what I need is a Documentserver, I tried to use this HowTo:
Installing Document Server for Linux on CentOS and derivatives

The problem was nginx, any ideas how to solve this ?

Indeed it’s a wanted feature (collabora, onlyoffice or alike).
Here are some related topics:

/cc @flatspin @ghost @edi @greavette, any advice to help @fausp?

2 Likes

Hi, Marc. Thank you for your quick answer…

In the meantime, I found this link: document-editor-comparison

Which APP does the Nethserver Comunity prefer, do we know that ?

Looks an interesting question. Looks an interesting app.
Is there any note to install it on NethServer?

Hi Alessio, 1. you need nextcloud. 2. activate the onlyoffce app under nextcloud.

Onlyoffice needs a document-server. I tried to install it on the same nethserver but had no luck… The problem was nginx…

Maybe there are some folks who want to help me to solve this problem. I will write a howto on the end of the day…

1 Like

I don’t think I have much to offer in the way of help, but I do think either this or Collabora would be really good to add. Collabora has an advantage in that there are CentOS 7 RPMs available: https://www.collaboraoffice.com/code/#getting_set_up. But both projects look like closed-source software with limited-use no-cost versions available, which seems suboptimal.

Edit: On further review, this appears to be incorrect with respect to Collabora:

[quote]Is this all Free Software / Open Source?
Yes, of course. That was easy wasn’t it: Open First.[/quote]

I’m not advocating for either product over the other; I don’t think I know enough about either of them to have a meaningful opinion on the subject. But I don’t want to be putting out incorrect information.

What problem were you having with nginx? It wouldn’t be able to listen on port 80, since Apache’s already listening there. But the docs (on the page you linked to) say you can tell it to listen on any port you want. Does it work if you set it to listen on, say, 8080?

Have OnlyOffice installed, but not yet working. Here’s what I’ve done so far:

I installed Document Server mostly following the directions in the link above, but with a few changes:

  • I didn’t add the nginx repo, as the base CentOS repos have nginx already.
  • I didn’t add the epel repo, as it’s there by default anyway.
  • I installed nethserver-postgresql rather than just postgresql/postgresql-server.
  • Before doing service nginx start, I did service httpd stop to avoid port contention.
  • export DS_PORT=8081 before bash documentserver-configure.sh.
  • Edit /etc/nginx/nginx.conf, and comment out the server block that’s listening on port 80.
  • Follow these instructions to set it up for SSL. Change the listening port to 8082, and point it to the cert/key files used in httpd.conf.
  • I didn’t do the firewall commands, as I don’t think they should be needed–if I’m understanding it correctly, traffic would just go between Nextcloud (on the Neth server) and OnlyOffice (on the Neth server), so there’s no need to open anything else for outside access.
  • service httpd start
  • Go into the Nextcloud configuration, enable the Onlyoffice app, and set the document server URL to https://neth_fqdn:8082/. Click Save.

At that point, the configuration saves without issue. But when I try to use onlyoffice to create/edit a document, I get this:

2 Likes

Hi Dan, I will try your howto. Maybe I can help you, to find something…

1 Like

I wouldn’t think what I’ve done is close to the level of a howto, but hopefully it helps move things along a bit. It would be nice to get this working.

1 Like

Looks like Collabora is advancing rapidly too: https://www.collaboraoffice.com/release-news/collabora-online-development-edition-3-0-released/

I wonder if the assumption I noted below:

is what’s causing the problem. When I try to connect to nginx on port 8082 from my green network, I’m getting “connection refused” (even using openssl s_client, lest the browser be doing something strange). I think I’m making some progress, but I’ve managed to bork something else on my test box.

To open the relevant ports, I’ve done this:

  • config set onlyoffice service
  • config setprop onlyoffice TCPPorts 8081,8082 access green status enabled
  • signal-event firewall-adjust

But somewhere else, I’ve borked things–httpd isn’t starting on boot, I’m getting a 503 trying to get to nextcloud at all, etc. That’s why it’s a test VM.

You could set the db props in one line:

config set fw_onlyoffice service TCPPorts 8081,8082 access green status enabled

As it is just opening ports and not a real service for now you may use fw_onlyoffice as name instead of onlyoffice:

http://docs.nethserver.org/projects/nethserver-devel/en/v7/services.html#add-a-new-network-service

But this is all just cosmetics.

Could it be nginx needing port 80 again after reboot because the config files were overwritten?

:+1:

Dan, how did you edit the pg_hba.conf, with a template ?

1 Like

I doubt it; nothing with nginx is templated, so there shouldn’t be anything overwriting its config files. And nginx didn’t start after reboot either.

In any event, I’ve rolled back the VM to an earlier snapshot, and will try again from there.

1 Like

No, I just edited it directly–though a template would no doubt have been a better idea.

1 Like

Started with a clean VM, installed web server, Nextcloud, domain controller, created a user, uploaded some data into Nextcloud. Then followed my steps from above, did config set fw_nginx service status enabled TCPPort 8081,8082 access green followed by signal-event firewall-update.

Logged into Nextcloud as admin, enabled the onlyoffice app, entered the Document Server URL as https://neth_fqdn:8082, and saved the settings–which went without issue.

Logged into Nextcloud as an ordinary user again and added a document. The above was the result. Next step is to try rebooting the VM and see if everything still works.

3 Likes

After reboot, it’s still working:


The obvious next thing to do is template the change to pg_hba.conf so it doesn’t get overwritten the next time that service is adjusted.

  • mkdir -p /etc/e-smith/templates-custom/var/lib/pgsql/data/pg_hba.conf
  • cp /etc/e-smith/templates/var/lib/pgsql/data/pg_hba.conf/20auth /etc/e-smith/templates-custom/var/lib/pgsql/data/pg_hba.conf/
  • nano -w /etc/e-smith/templates-custom/var/lib/pgsql/data/pg_hba.conf/20auth

Make the change as shown. Then:

  • expand-template /var/lib/pgsql/data/pg_hba.conf
  • service postgresql restart

Other things that probably need to be done (other than the obvious of templating the nginx config files):

  • Determine the security impact (if any) of that change to the PostgreSQL configuration.
  • Determine if ports 8081 (http) and 8082 (https) are suitable to use for the document server–I picked them mostly at random. I don’t know if there’s a reason to pick any other port numbers.
  • Determine whether those ports (or at least the https port) would need to be open to any client who would/could be editing documents–it’s looking like they would need to be.
  • If those ports would need to be open to the outside world, what are the security ramifications?
  • Packing this all together into nethserver-onlyoffice would be great, of course.
2 Likes

Spreadsheets work too:

1 Like