GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Integrieren Sie Collabora Online mit Nextcloud auf Ubuntu ohne Docker

Dieses Tutorial zeigt Ihnen, wie Sie Collabora Online auf Ubuntu installieren und es dann mit einem vorhandenen Nextcloud-Server integrieren, ohne Docker zu verwenden.

Online-Zusammenarbeit ist eine selbsthostbare und auf LibreOffice basierende Open-Source-Online-Office-Suite. Zu seinen Funktionen gehören:

  • Grundlegende Bearbeitung
  • Hohe Wiedergabetreue, WYSIWYG-Rendering
  • Unterstützt das Dokumentenformat DOC, DOCX, PPT, PPTX, XLS, XLSX, ODF
  • Visio, Publisher und mehr als 100 mehr importieren und anzeigen
  • Gemeinsame Bearbeitung

Collabora leistet einen großen Beitrag zum LibreOffice-Projekt. Alle Collabora Online-Codes werden schließlich in LibreOffice enthalten sein.

Hinweis:Dieses Tutorial funktioniert auf Ubuntu 20.04, 18.04 und 16.04. Wenn Sie eine andere Ubuntu-Version verwenden, können Sie Collobaora Online mit Docker installieren.

Voraussetzungen

Es wird davon ausgegangen, dass Sie bereits einen Nextcloud-Server eingerichtet haben, der sich auf jeder Linux-Distribution befinden kann. Wenn Sie dies noch nicht getan haben, können Sie sich die folgenden leicht verständlichen Anleitungen ansehen.

  • So installieren Sie Nextcloud auf Ubuntu 20.04 mit LEMP Stack
  • So installieren Sie Nextcloud auf Ubuntu 20.04 mit LAMP Stack
  • So installieren Sie Nextcloud auf CentOS 8 mit LEMP Stack
  • So richten Sie Nextcloud unter Arch Linux ein

Der Collabora Online-Server und der Nextcloud-Server können sich auf demselben Computer oder auf zwei verschiedenen Computern befinden. Dieses Tutorial zeigt, wie Sie den Collabora-Online-Server unter Ubuntu mit einem von Collabora und Nextcloud erstellten Docker-Image installieren. Integrieren Sie es dann in einen vorhandenen Nextcloud-Server.

Schritt 1:Installieren Sie Collabora Online auf Ubuntu aus dem offiziellen Repository

Collabora hat ein offizielles Paket-Repository für Ubuntu 20.04, 18.04 und 16.04. Führen Sie den folgenden Befehl aus, um es zu Ihrem Ubuntu-System hinzuzufügen.

Ubuntu 20.04

echo 'deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu2004 ./' | sudo tee /etc/apt/sources.list.d/collabora.list

Ubuntu 18.04

echo 'deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu1804 ./' | sudo tee /etc/apt/sources.list.d/collabora.list

Ubuntu 16.04

echo 'deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE ./' | sudo tee /etc/apt/sources.list.d/collabora.list

Führen Sie dann den folgenden Befehl aus, um den öffentlichen Collabora-Schlüssel herunterzuladen und zu importieren, wodurch der APT-Paketmanager die Integrität von Paketen überprüfen kann, die aus diesem Repository heruntergeladen wurden.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0C54D189F4BA284D

Wenn Sie den öffentlichen Schlüssel nicht mit dem obigen Befehl importieren können, können Sie den folgenden Befehl verwenden, um den Schlüssel herunterzuladen und zu importieren.

wget https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos7/repodata/repomd.xml.key && sudo apt-key add repomd.xml.key

Da dieses Repository eine HTTPS-Verbindung verwendet, müssen wir apt-transport-https installieren und ca-certificates Paket, damit der APT-Paketmanager eine sichere Verbindung zum Repository herstellen kann.

sudo apt install apt-transport-https ca-certificates

Aktualisieren Sie nun den lokalen Paketindex und installieren Sie Collabora Online. Loolwsd ist der LibreOffice Online WebSocket-Daemon.

sudo apt update
sudo apt install loolwsd code-brand

Schritt 2:LibreOffice Online WebSocket-Daemon konfigurieren

Nachdem sie installiert sind, können Sie den Status von loolwsd überprüfen.

systemctl status loolwsd

Hinweis :Wenn der obige Befehl nicht sofort beendet wurde, können Sie Q drücken Taste, um es zu beenden.

Wie Sie sehen können, konnte es nicht gestartet werden. Wir können im Journal nachsehen, warum dies passiert ist.

sudo journalctl -eu loolwsd

Beispielausgabe:

Apr 21 16:13:06 ubuntu loolwsd[13842]: File not found: /etc/loolwsd/ca-chain.cert.pem
Apr 21 16:13:06 ubuntu systemd[1]: loolwsd.service: Main process exited, code=exited, status
Apr 21 16:13:06 ubuntu systemd[1]: loolwsd.service: Failed with result 'exit-code'.
Apr 21 16:13:07 ubuntu systemd[1]: loolwsd.service: Service hold-off time over, scheduling r
Apr 21 16:13:07 ubuntu systemd[1]: loolwsd.service: Scheduled restart job, restart counter i
Apr 21 16:13:07 ubuntu systemd[1]: Stopped LibreOffice Online WebSocket Daemon.
Apr 21 16:13:07 ubuntu systemd[1]: loolwsd.service: Start request repeated too quickly.
Apr 21 16:13:07 ubuntu systemd[1]: loolwsd.service: Failed with result 'exit-code'.
Apr 21 16:13:07 ubuntu systemd[1]: Failed to start LibreOffice Online WebSocket Daemon.

Standardmäßig aktiviert loolwsd die TLS-Verbindung. Es wurde jedoch keine TLS-Zertifikatsdatei gefunden, daher der Startfehler. Es ist besser, TLS in loolwsd zu deaktivieren und TLS an einem Reverse-Proxy zu beenden. Die loolwsd-Konfigurationsdatei befindet sich unter /etc/loolwsd/loolwsd.xml . Es handelt sich jedoch um eine XML-Datei, die nicht einfach zu lesen und zu bearbeiten ist. Wir können die loolconfig verwenden Werkzeug zum Ändern von Konfigurationen.

Führen Sie den folgenden Befehl aus, um TLS in loolwsd zu deaktivieren.

sudo loolconfig set ssl.enable false

Und aktivieren Sie die TLS-Terminierung am Reverse-Proxy.

sudo loolconfig set ssl.termination true

Standardmäßig erlaubt loolwsd nur bekannten Hosts den Zugriff auf seinen Dienst. Um Nextcloud den Zugriff auf den Dienst zu ermöglichen, führen Sie den folgenden Befehl aus, um Ihren Nextcloud-Hostnamen zur Whitelist hinzuzufügen.

sudo loolconfig set storage.wopi.host nextcloud.example.com

Sie können das Administratorkonto für loolwsd auch mit dem folgenden Befehl aktivieren. Sie müssen einen Benutzernamen und ein Passwort für das Administratorkonto festlegen.

sudo loolconfig set-admin-password

Starten Sie loolwsd neu, damit die Änderungen wirksam werden.

sudo systemctl restart loolwsd

Jetzt sollte es ohne Fehler laufen.

systemctl status loolwsd

Ausgabe:

Schritt 3:Reverse-Proxy einrichten

Der Nextcloud-Server erfordert ein TLS-Zertifikat auf Collabora Online, daher müssen wir einen virtuellen Host erstellen, dem virtuellen Host einen Domänennamen geben, einen Reverse-Proxy einrichten und ein TLS-Zertifikat installieren. Wir können entweder Apache verwenden oder Nginx um dies zu erreichen.

Apache

Installieren Sie den Apache-Webserver mit dem folgenden Befehl:

sudo apt install apache2

Führen Sie den folgenden Befehl aus, um eine virtuelle Apache-Hostdatei für Collabora Online zu erstellen.

sudo nano /etc/apache2/sites-available/collabora.conf

Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie den Domänennamen durch Ihren tatsächlichen Domänennamen für Collabora Online. Vergessen Sie nicht, einen A-Eintrag für diese Subdomain zu erstellen.

<VirtualHost *:80>
  ServerName collabora.example.com
  Options -Indexes

  ErrorLog "/var/log/apache2/collabora_error"
  # 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

</VirtualHost>

Speichern und schließen Sie die Datei. Um Datenverkehr mit Apache weiterleiten zu können, müssen wir einige Apache-Module aktivieren.

sudo a2enmod proxy proxy_wstunnel proxy_http

Aktivieren Sie diesen virtuellen Host mit dem folgenden Befehl:

sudo a2ensite collabora.conf

Starten Sie dann Apache neu.

sudo systemctl restart apache2

Nginx

Installieren Sie Nginx unter Ubuntu mit dem folgenden Befehl:

sudo apt install nginx

Erstellen Sie eine virtuelle Hostdatei für Collabora Online.

sudo nano /etc/nginx/conf.d/collabora.conf

Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie den Domänennamen durch Ihren tatsächlichen Domänennamen für Collabora Online. Vergessen Sie nicht, einen A-Eintrag für diesen Domainnamen zu erstellen.

server {
    listen 80;
    listen [::]:80;
    server_name  collabora.example.com;

    error_log /var/log/nginx/collabora.error;

    # static files
    location ^~ /loleaflet {
        proxy_pass http://localhost:9980;
        proxy_set_header Host $http_host;
    }

    # WOPI discovery URL
    location ^~ /hosting/discovery {
        proxy_pass http://localhost:9980;
        proxy_set_header Host $http_host;
    }

    # Capabilities
    location ^~ /hosting/capabilities {
        proxy_pass http://localhost:9980;
        proxy_set_header Host $http_host;
    }

    # main websocket
    location ~ ^/lool/(.*)/ws$ {
        proxy_pass http://localhost:9980;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_read_timeout 36000s;
    }

    # download, presentation and image upload
    location ~ ^/lool {
        proxy_pass http://localhost:9980;
        proxy_set_header Host $http_host;
    }

    # Admin Console websocket
    location ^~ /lool/adminws {
        proxy_pass http://localhost:9980;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_read_timeout 36000s;
    }
}

Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfigurationen.

sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie den Nginx-Server neu.

sudo systemctl reload nginx

Schritt 4:TLS-Zertifikat abrufen und installieren

Lassen Sie uns nun ein kostenloses TLS-Zertifikat von Let’s encrypt erhalten. Führen Sie die folgenden Befehle aus, um den Let’s Encrypt-Client (certbot) aus dem Standard-Software-Repository zu installieren.

sudo apt install certbot

Wenn Sie Apache verwenden Webserver, dann müssen Sie auch das Certbot Apache Plugin installieren.

sudo apt install python3-certbot-apache

Geben Sie dann den folgenden Befehl aus, um ein kostenloses TLS/SSL-Zertifikat zu erhalten.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d collabora.example.com

Wenn Sie Nginx verwenden Webserver, dann müssen Sie das Certbot Nginx-Plugin installieren.

sudo apt install python3-certbot-nginx

Verwenden Sie dann das Nginx-Plugin, um das Zertifikat abzurufen und zu installieren, indem Sie den folgenden Befehl ausführen.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d collabora.example.com

Sie sehen den folgenden Text, der anzeigt, dass Sie erfolgreich ein TLS-Zertifikat erhalten haben.

Letzter Schritt:Verbinden Sie Nextcloud mit Collabora Online

Gehen Sie in Ihrem Nextcloud-Dashboard zu den Apps Seite. Gehen Sie als Nächstes zu Office & Text finden Sie im Abschnitt Collabora Online app, klicken Sie auf Download and Enable Schaltfläche.

(Hinweis :Es gibt eine weitere App namens Collabora Online - Built-in CODE server , die Sie nicht auf Ihrem Nextcloud-Server installieren sollten.)

Nachdem diese Apps aktiviert sind, gehen Sie zu Nextcloud Settings Seite. Klicken Sie auf Collabora Online Registerkarte auf der linken Seite. Standardmäßig wird der integrierte CODE-Server verwendet, der für den Produktionseinsatz nicht geeignet ist. Wir müssen Use your own server auswählen und geben Sie den Domainnamen Ihres Collabora Online einschließlich https:// ein Präfix, und klicken Sie dann auf Save Schaltfläche.

In den advance settings , können Sie auch OOXML als Standardformat festlegen, sodass die Dateien mit der Microsoft Office-Software kompatibel sind.

Wenn Sie jetzt in Nextcloud auf die Schaltfläche „Hinzufügen“ (+) klicken, können Sie Word-, Tabellenkalkulations- und Präsentationsdokumente direkt von Ihrem Nextcloud-Server aus erstellen.

Die loolwsd-Verwaltungskonsole ist unter https://collabora.example.com/loleaflet/dist/admin/admin.html verfügbar . Sie müssen den Benutzernamen und das Passwort eingeben, die in Schritt 2 erstellt wurden.

Fehlerbehebung

Wenn Nextcloud Ihnen mitteilt, dass es c konnte keine Verbindung zum Collabora Online-Server herstellen , kann es sein, dass Ihr Nginx-Server hinter einem Reverse-Proxy wie HAProxy läuft und Sie die folgenden zwei Zeilen in /etc/nginx/nginx.conf haben .

set_real_ip_from 127.0.0.1;
real_ip_header proxy_protocol;

Dies bedeutet, dass Nginx eine HTTP-Verbindung vom Reverse-Proxy erwartet. Sie sollten die /etc/nginx/conf.d/collaboara.conf bearbeiten Datei und fügen Sie proxy_protocol hinzu auf die Listen-Direktive.

listen 127.0.0.1:443 ssl http2 proxy_protocol;

Bearbeiten Sie dann /etc/hosts Datei und fügen Sie einen statischen DNS-Eintrag wie unten hinzu. Ersetzen Sie 12.34.56.78 mit der öffentlichen IP-Adresse des Servers.

12.34.56.78          collaboara.example.com

collabora.example.com sollte auf die öffentliche IP-Adresse Ihres Servers verweisen. Zeigen Sie nicht auf 127.0.0.1.

Sie können auch die Protokolle von loolwsd überprüfen, um Hinweise zu finden. Vielleicht läuft es nicht.

sudo journalctl -eu loolwsd

Und überprüfen Sie die Protokolle des Webservers.

  • Apache:/var/log/apache2/collabora_error
  • Nginx:/var/log/nginx/collabora.error

Ubuntu
  1. So erstellen Sie Docker-Images mit einer Docker-Datei unter Ubuntu 16.04 LTS

  2. So installieren Sie WordPress mit Docker auf Ubuntu

  3. So verwalten Sie Docker-Container mit Rancher unter Ubuntu

  4. So integrieren Sie Alfresco mit ONLYOFFICE Online Editor unter Ubuntu 14.04

  5. So integrieren Sie Collabora Online mit Nextcloud auf Ubuntu 20.04

Mailtrain auf Ubuntu 18.04 Server ohne Docker installieren

Installieren Sie Mailtrain v1.24 auf Ubuntu 20.04 Server ohne Docker

So installieren Sie Nextcloud 13 auf Ubuntu 16.04 mit Nginx

So installieren Sie Mailtrain auf Ubuntu 18.04 mit Docker

Portainer mit Docker auf Ubuntu installieren

So installieren Sie WordPress mit Docker unter Ubuntu 16.04 LTS