Collabora – Nextcloud – ISPConfig3

Szerző: Ványi Albert |

A Collabora Office egy LibreOffice-on, a világ legnépszerűbb nyílt forrású irodai programcsomagján alapuló szövegszerkesztő, táblázatkezelő és bemutatókészítő program. A bejegyzésből megtudhatod, hogy hogyan lehet integrálni a Collabora szolgáltatást a NextCloud rendszerébe.

Docker Szolgáltatás telepítése

A legújabb Docker csomagot szeretnénk használni, melyet a Docker tárolójából fogunk telepíteni. Abban az esetben, ha volt korábbi verzió telepítve, akkor azt távolítsuk el.

sudo apt-get remove docker docker-engine docker.io containerd runc

Telepítsük fel a szükséges csomagokat:

apt update && apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Adjuk a rendszerünkhöz a tároló gpg kulcsát:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Állítsuk be a Docker tárolót a rendszerünkbe:

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

Majd telepítsük a csomagot:

apt update && apt install docker-ce

Collabora szolgáltatás telepítése

docker pull collabora/code

Az image-ből készítsünk konténert, majd futtassuk az alábbi példa szerint:

docker run -t -d -p 127.0.0.1:9980:9980 -e "domain=cloud\.exmaple\.com" -e "extra_params=--o:ssl.enable=false --o:ssl.termination=true" -e 'dictionaries=en hu' -e 'username=admin' -e 'password=TitkosJelszó' --restart always --cap-add MKNOD collabora/code

Ami lényeges, hogy az ssl titkosítást nem engedélyezzük, mivel nem önálló szerverként telepítjük, hanem a nextcloud szolgáltatásunkból lokálisan fogjuk használni a collabora szolgáltatást. A nextclud telepítésénél az adott domain név már ssl titkosítással rendelkezik, így felesleges lenne még egy ssl titkosítást használni. A domain névnél többet is felsorolhatunk, ha több nextcloud példányt is futtatunk, a szintaktikára viszont ügyeljünk, a helyes beállítás így néz ki: -e “domain=other1\.cloud\.xx\|other2\.cloud\.xx”. Néhány beállítás magyarázata:
-e (environment): Környezeti változók beállítása a konténeren belől
-p (port): port összerendelés, egy tetszőleges lokális portot rendelünk a konténer egy portjához.
-d (detach): háttérben futtatjuk a konténert
-t (tty): konzolt is kérünk hozzá
További beállítások lekérhetőek:

docker run --help

Apache Reverse Proxy

Engedélyezzük a szükséges modulokat, mielőtt tovább lépnénk:

a2enmod proxy proxy_wstunnel proxy_http ssl && service apache2 restart

ISPConfig3 beállítás

Keressük meg a nextcloud weboldalunk beállítási lehetőségét az ISPConfig3 felületén, majd egészítsük ki a beállításoknál az apache direktívákat az alábbi kóddal:

# Encoded slashes need to be allowed
  AllowEncodedSlashes NoDecode

  # keep the host
  ProxyPreserveHost On

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

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

  # Capabilities
  ProxyPass           /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities retry=0
  ProxyPassReverse    /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities

  # Main websocket
  ProxyPassMatch "/lool/(.*)/ws$" ws://127.0.0.1:9980/lool/$1/ws nocanon

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

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

Hasznos linkek

WOPI Discovery URL

https://cloud.example.com/hosting/discovery

Collabora Online Development Edition (CODE)

A Collabora admin felületére a docker futtatásánál megadott felhasználói névvel és jelszóval tudunk belépni

https://cloud.example.com/loleaflet/dist/admin/admin.html

NextCloud Integráció

Belépve a NextCloud szolgáltatásba, navigáljunk az Alkalmazások menüpontra. Vagy fent a keresőbe, vagy az “Iroda és Szöveg” menüpont alatt keressük meg a “Collabora Online” alkalmazást és telepítsük, illetve engedélyezzük azt. Majd a beállításoknál keressük meg a “Collabora Online Development Edition” almenüt. A “Use Your Own Server” szekcióban állítsuk be a szerverünket: https://cloud.example.com:443. Kész is vagyunk, ha minden jól csináltunk, már használhatjuk is a Collabora szolgáltatásait a Cloud szerverünkön.