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:
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.
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.
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.
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.