Od dłuższego czasu LibreOffice uznawane jest za jedno z najlepszych bezpłatnych rozwiązań do pracy biurowej w systemie Linux. Mimo to, samodzielna wersja LibreOffice nie obsługuje w pełni funkcji związanych z pracą w chmurze oraz współpracą, jak to ma miejsce w przypadku produktów Google.
W tym kontekście na scenę wkracza Collabora. Jest to zmodyfikowana wersja LibreOffice Online, oferująca szereg funkcji porównywalnych do wielu komercyjnych narzędzi biurowych. Co istotne, to oprogramowanie można łatwo zintegrować z różnymi samodzielnie hostowanymi rozwiązaniami chmurowymi. Poniżej przedstawiamy sposób integracji LibreOffice z Nextcloud.
Proces konfiguracji oprogramowania Collabora może być nieco skomplikowany, jednak warto poświęcić czas na jego realizację, zwłaszcza dla osób pragnących hostować własne rozwiązanie biurowe na systemie Linux.
Ważna informacja: do korzystania z Collabora wymagany jest serwer Docker Nextcloud z ważnym certyfikatem SSL. Należy pamiętać, że serwer Snap Nextcloud nie jest odpowiedni w tym przypadku.
Instalacja Nextcloud na serwerze Ubuntu
Rozpoczęcie pracy z Collabora na Nextcloud wymaga posiadania serwera Nextcloud działającego w kontenerze Docker. Aby zainstalować potrzebne oprogramowanie, najpierw zainstaluj Docker i pobierz najnowszą wersję kontenera Nextcloud z Docker Hub.
Warto zaznaczyć, że ta konfiguracja najlepiej sprawdza się na systemie Ubuntu, dlatego poniższe instrukcje będą się na tym koncentrować. Jeżeli korzystasz z innego systemu, postępuj zgodnie z tymi wskazówkami, ponieważ są one w większości uniwersalne.
sudo docker pull undeadhunter/nextcloud-letsencrypt
Pobieranie kontenera Nextcloud za pomocą Dockera jest bardzo podobne do instalacji Snap. Nie wymaga to dodatkowej konfiguracji ani instalacji – wystarczy zamknąć sesję Root i przejść do zwykłego użytkownika.
Uwaga: aby uzyskać dostęp do Collabora z sieci zewnętrznej, należy skonfigurować SSL zarówno dla Nextcloud, jak i Dockera. Zachęcam do zapoznania się z oficjalną dokumentacją w celu uzyskania szczegółowych informacji.
sudo docker run -it --name nextcloud --hostname nextcloud-letsencrypt -e CERTBOT_DOMAIN="nextcloud-letsencrypt" -e CERTBOT_EMAIL="email" -p 80:80 -p 443:443 undeadhunter/nextcloud-letsencrypt
Jeśli polecenie zakończy się sukcesem, Nextcloud powinien być uruchomiony. Aby uzyskać dostęp do serwisu, otwórz przeglądarkę internetową:
https://ip.address:8080
Postępuj zgodnie z instrukcjami, aby dokończyć konfigurację Nextcloud w kontenerze Docker. Po zakończeniu, otwórz nową kartę w przeglądarce i wygeneruj nowy certyfikat SSL przy użyciu LetsEncrypt.
sudo docker exec -it nextcloud-crypt /certbot.sh
Konfiguracja Collabora
Podobnie jak w przypadku Nextcloud, Collabora musi być uruchomiona w kontenerze Docker. Pobierz najnowszą wersję serwera Collabora używając polecenia docker pull:
sudo docker pull collabora/code
Collabora musi działać obok Nextcloud, aby mogła funkcjonować poprawnie. Uruchom serwer za pomocą polecenia docker run, pamiętając o dostosowaniu adresu serwera Nextcloud w poleceniu.
Uwaga: nie usuwaj symboli ukośnika odwrotnego!
sudo docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nextcloudserveraddress' --restart always --cap-add MKNOD collabora/code
Stworzenie odwrotnego serwera proxy Apache
Aby Collabora mogła działać efektywnie, potrzebny jest odwrotny serwer proxy. Do jego uruchomienia konieczna jest instalacja Apache2, więc upewnij się, że masz go zainstalowanego na swoim serwerze. W systemie Ubuntu możesz to zrobić w prosty sposób:
sudo apt install lamp-server^
Po zainstalowaniu Apache2, użyj polecenia a2enmod, aby włączyć niezbędne moduły proxy. Te moduły są kluczowe dla poprawnego działania odwrotnego proxy.
sudo a2enmod proxy sudo a2enmod proxy_wstunnel sudo a2enmod proxy_http sudo a2enmod ssl
Kiedy moduły są już aktywne, należy stworzyć nowy plik Virtual Host. W terminalu możesz to zrobić za pomocą polecenia touch:
sudo touch /etc/apache2/sites-available/your-collabora-site.com.conf
Collabora wymaga certyfikatu SSL do uruchomienia serwera proxy i oprogramowania. Najłatwiej uzyskać go przy pomocy LetsEncrypt. W terminalu wykonaj poniższe polecenie, aby zainstalować LetsEncrypt dla Apache2.
sudo apt install letsencrypt python-letsencrypt-apache
sudo letsencrypt --apache --agree-tos --email email-address -d collabora-server-ip-or-domain.com
Przy użyciu edytora Nano otwórz nowy plik hosta wirtualnego.
sudo nano /etc/apache2/sites-available/your-collabora-site.conf
Wklej poniższy kod do pliku:
ServerName office.twoja-domena.com
SSLCertificateFile /etc/letsencrypt/live/collabora-server-ip-or-domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/collabora-server-ip-or-domain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
# Zakodowane ukośniki muszą być dozwolone
AllowEncodedSlashes NoDecode
# Kontener używa unikalnego, niepodpisanego certyfikatu
SSLProxyEngine On
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off
# zachować hosta
ProxyPreserveHost On
# statyczny html, js, obrazy itp. z loolwsd
# loleaflet jest częścią klienta LibreOffice Online
ProxyPass / loleaflet https://127.0.0.1:9980/loleaflet retry=0
ProxyPassReverse / loleaflet https://127.0.0.1:9980/loleaflet
# URL wykrywania WOPI
ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery
# Główny websocket
ProxyPassMatch „/lool/(.*)/ws$” wss://127.0.0.1:9980/lool/$1/ws nocanon
# Websocket konsoli administracyjnej
ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws
# Pobierz jako, prezentacja pełnoekranowa i operacje przesyłania obrazu
ProxyPass /lool https://127.0.0.1:9980/lool
ProxyPassReverse /lool https://127.0.0.1:9980/lool
Aby zapisać plik, naciśnij Ctrl + O, a następnie uruchom ponownie serwer Apache2 za pomocą poniższego polecenia:
sudo systemctl restart apache2
Integracja LibreOffice z Nextcloud
Wszystkie kroki konfiguracji niezbędne do uruchomienia Collabora zostały zakończone. Teraz wystarczy zintegrować LibreOffice z Nextcloud. Aby to zrobić, przejdź do interfejsu webowego Nextcloud, kliknij ikonę koła zębatego, a następnie wybierz „Aplikacje”.
Znajdź sekcję z aplikacjami i zainstaluj „Collabora”. Następnie wróć do panelu administratora Nextcloud, klikając „Administrator”, a następnie „Collabora Online”.
W sekcji „Collabora Online” w panelu administratora wprowadź adres IP serwera Collabora Online i kliknij „Zastosuj”, aby zapisać zmiany.
Od tego momentu każdy użytkownik będzie mógł uzyskać dostęp do Collabora z Nextcloud i korzystać z niego na dowolnym urządzeniu poprzez interfejs internetowy.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.