Sok weboldalon olvasható leírás, a Collabora Office telepítésével kapcsolatban. Ezek jó írások, de sajnos azt tapasztaltam, hogy nem egyszer vagy kevés, vagy nem aktuális az oldalon található információ.
A leírás első része egy Proxmox LXC létrehozását taglalja, a később telepítendő Docker konténer és Apache számára.
Mielőtt az LXC konténerünket létrehoznánk, adjuk hozzá az alábbi két fájlrendszer modult a Proxmox szerverünk modules fájljához:
/etc/modules
aufs
overlay
Hogy ne kelljen újraindítani a szerverünket, adjuk ki az alábbi két parancsot:
modprobe aufs
modprobe overlay
Ellenőrizzük, hogy rendben betöltődtek-e a modulok:
lsmod aufs
lsmod overlay
Következhet az LXC konténer létrehozása, az alábbi beállításokkal:
A létrehozás után az Options->Features alatt a Keyctl és a Nesting opciókat engedélyezzük!
Indítsuk el, és frissítsük a konténerünket:
apt update
apt upgrade
Ezután kezdhetjük a Docker telepítését
Szükségünk lesz pár extra csomagra…
apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
… a Docker, hivatalos, GPG fájljára …
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
… ellenőrizzük, hogy az ujjlenyomat rendben van!
apt-key fingerprint 0EBFCD88
Ilyet kell látnunk a válaszban:
ub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
Adjuk hozzá a Docker apt forrását a listánkhoz,
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
majd egy frissítés után telepíthetjük a Docker csomagot:
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io
A telepítés után tegyük az alábbi kódot a /etc/docker/daemon.json fájba:
{
"storage-driver": "overlay2"
}
Indítsuk újra a Docker szolgáltatást:
systemctl restart docker
Ezután teszteljük a Docker-t:
docker run hello-world
Most jöhet a Collabora office telepítése
docker pull collabora/code
A Collabora indítása az alábbi sorral lehetséges:
docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=oo\\.yourdomain\\.com' --restart always --cap-add MKNOD collabora/code
Jöhet az Apache beállítása
Hozzuk létre a /etc/apache2/sites-avaiable/office.conf fájlt és az alábbi kódot másoljuk bele:
ServerName oo.yourdomain.com:443
# SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
SSLEngine on
SSLCertificateFile /etc/ssl/office/office.pem
SSLCertificateKeyFile /etc/ssl/office/office.key
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:$
SSLHonorCipherOrder on
# Encoded slashes need to be allowed
AllowEncodedSlashes NoDecode
# Container uses a unique non-signed certificate
SSLProxyEngine On
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off
# keep the host
ProxyPreserveHost On
# static html, js, images, etc. served from loolwsd
# loleaflet is the client part of LibreOffice Online
ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0
ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet
# WOPI discovery URL
ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery
# Main websocket
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
ProxyPass /lool https://127.0.0.1:9980/lool
ProxyPassReverse /lool https://127.0.0.1:9980/lool
# Endpoint with information about availability of various features
ProxyPass /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0
ProxyPassReverse /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities
Végül engedélyezzük az oldalt az Apache számára,
a2ensite office
és engedélyezzük a szükséges Apache modulokat is.
a2enmod proxy
a2enmod proxy_wstunnel
a2enmod proxy_http
a2enmod ssl
Nem maradt más hátra, mint az Apache újraindítása
systemctl restart apache2
Források: