Having lost a lot of time in search since a while for an easy solution, I’m happy to share the nice way to do it in a virtualhost in Virtualmin without breaking everything ! The idea is that one:
you have setup a Nextcloud or Owncloud in Virtualmin and you want to be able to get a full “Google” drive where you can edit files directly in web browser in shared mode
Let’s see how to do that in an easy way (tutorial based on OS Ubuntu 16.04 with Virtualmin/webmin up-to-date and you need either SSH access at server or use the mini-terminal included in Virtualmin):
- Your Nextcloud instance has to be correctly setup and working (NC 14 minimum) in a virtualhost in Webmin with a Let's Encrypt certificate setup on it.
- We have first to install the Collabora app in package mode, we don't want the docker version ! All steps are clearly indicated and easy to follow on that page: https://www.collaboraoffice.com/code/linux-packages/ (be careful, do all steps excepted the 4th one, we'll see that later, something to do first !)
- Now we need a local copy of SSL certificate for the Collabora service too (it can't access directly the SSL certificate of your virtualhost). Easier way for now is to copy basically all ssl files present at root of your virtualhost (default settings in Virtualmin) in the /etc/loolwsd directory and 777 the files for now.
- You can now restart the loolwsd service so settings are now applied.
- Next step is to configure the app/service we just installed. All configuration is in file /etc/loolwsd/loolwsd.xml You can edit it using the integrated file browser of Webmin and only things to change are these ones:
/etc/loolwsd/ssl.cert /etc/loolwsd/ssl.key /etc/loolwsd/ssl.caAs you can see I changed the default SSL files path to directory of Collabora settings so now Collabora will use same SSL CERT as website of my Nextcloud instance.
- Now we need to install/check few needed apache modules are well installed (they should be on most systems but better to check before using them if you don't want to have a problem next time you restart Apache !). In console on your Virtualmin server, you'll have to do these commands to install/activate needed Apache modules:
a2enmod proxy a2enmod proxy_wstunnel a2enmod proxy_httpand then you can restart Apache to activate the new modules.
- Now we need to edit SSL website properties of Nextcloud instance in Virtualmin. Here I'm based on Apache but it's probably pretty similar if running Nginx ! You'll find all details on that page of Collabora website: https://www.collaboraoffice.com/code/apache-reverse-proxy/ at chapter "SSL on both ends". It's pretty simple: you just copy/paste that part of directives in your virtualmin apache directive for your Nextcloud virtualhost.
# Encoded slashes need to be allowed AllowEncodedSlashes NoDecode
Container uses a unique non-signed certificate
keep the host
static html, js, images, etc. served from loolwsd
loleaflet is the client part of Collabora Online
WOPI discovery URL
ProxyPassMatch “/lool/(.*)/ws$” wss://127.0.0.1:9980/lool/$1/ws nocanon
Admin Console websocket
ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws
Download as, Fullscreen presentation and Image upload operations
You can then save the file and restart apache so new directives are applied.
- Now you can login in your Nextcloud instante, install and activate the Collabora plugin and indicate in it URL of your nextcloud instance with https and now any text files you open in NextCloud should now open in edition mode in Collabora integrated in your Nextcloud instance !
Feel free to post comments for corrections, mistakes and hope it’ll help !
I’ll update it if needed (at least the SSL keys part as for now my trick is not really nice !