Website-Suche

So installieren Sie ONLYOFFICE Docs auf Ubuntu 24.04


ONLYOFFICE Docs ist eine kostenlos nutzbare, aber leistungsstarke, kollaborative Online-Office-Suite, die mit Dokumenten-Viewer und -Editoren für Texte, Präsentationen, Tabellen, Formulare und PDFs gebündelt ist. Die ONLYOFFICE-Suite ist vollständig kompatibel mit Office Open XML-Formaten: .docx, .xlsx, .pptx und unterstützt die gleichzeitige Bearbeitung von Dokumenten in Echtzeit. In diesem Artikel zeigen wir Ihnen, wie Sie ONLYOFFICE Docs auf Ubuntu 24.04 (Noble Numbat) installieren und konfigurieren.

Das Ultimative Ubuntu-Desktop-Handbuch

Meistern Sie Ubuntu wie ein Profi – von schöner Desktop-Anpassung bis hin zu leistungsstarker Terminal-Automatisierung. Perfekt für Entwickler, Systemadministratoren und Power-User, die die vollständige Kontrolle über ihren Arbeitsplatz wünschen.

Die ONLYOFFICE Docs werden mit den folgenden Komponenten geliefert:

  • Server – Dies ist eine Backend-Serverebene, die alle Komponenten von ONLYOFFICE Docs steuert.
  • core – Ermöglicht die Kommunikation zwischen den Büro-Dokumentformaten (DOC, DOCX, ODT, RTF, TXT, PDF, HTML, EPUB, XPS, DjVu, XLS, XLSX, ODS, CSV, PPT, PPTX, ODP).
  • sdkjs – JavaScript-SDK-API für die Interaktion mit allen enthaltenen Komponenten auf Client-Seite.
  • Web-Apps – Dies ist das Frontend für ONLYOFFICE Docs
  • Wörterbücher – Enthalten die Wörterbücher verschiedener Sprachen, die für die Rechtschreibprüfung in ONLYOFFICE Docs verwendet werden.

Hier ist die Liste der Editoren, die mit ONLYOFFICE Docs geliefert werden:

  • ONLYOFFICE-Dokumenten-Editor
  • ONLYOFFICE Tabellenkalkulations-Editor
  • ONLYOFFICE Präsentations-Editor
  • ONLYOFFICE Formular-Ersteller
  • ONLYOFFICE PDF-Editor, -Reader und -Konverter

Anforderungen einrichten

In diesem Artikel installieren wir die Community Edition von ONLYOFFICE Docs auf einem lokalen Ubuntu-Server. Die minimalen Hardwareanforderungen für den Server sind wie folgt:

  • CPU: Mindestens Dual-Core 2 GHz
  • RAM: Mindestens 2 GB
  • Festplattenspeicher: Mindestens 40 GB freier Speicher
  • SWAP: Mindestens 4 GB, oder mehr RAM, wenn kein Swap vorhanden ist.
  • Betriebssystem: 64-Bit-Ubuntu- oder Debian-Linux-System

Wenn Sie die Anforderungen erfüllen, ist es ein guter Zeitpunkt, die Aufmerksamkeit auf die Einrichtung Ihres Dokumentenservers zu richten.

Schritt 1: PostgreSQL-Datenbank einrichten

Beginnen Sie die Einrichtung, indem Sie sicherstellen, dass Ihr System auf dem neuesten Stand ist:

sudo apt update && sudo apt upgrade -y

Wir können die PostgreSQL-Serverversion installieren, die in den Standard-Repositorys unseres Betriebssystems verfügbar ist.

sudo apt install postgresql

Sobald das Paket installiert ist, wird der Dienst automatisch gestartet. Der nächste Schritt besteht darin, eine PostgreSQL-Datenbank und einen Benutzer zu erstellen:

sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH PASSWORD 'onlyoffice';"
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice OWNER onlyoffice;"

Schritt 2: RabbitMQ-Server installieren

ONLYOFFICE verwendet RabbitMQ als Nachrichtenbroker, um die Kommunikation zwischen verschiedenen Diensten innerhalb der ONLYOFFICE-Suite zu ermöglichen. Installieren Sie das Paket, indem Sie den folgenden Befehl ausführen:

sudo apt install rabbitmq-server

Sie können den Service-Status überprüfen:

$ systemctl status rabbitmq-server.service
● rabbitmq-server.service - RabbitMQ Messaging Server
     Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; preset: enabled)
     Active: active (running) since Tue 2024-07-30 08:20:24 UTC; 6s ago
   Main PID: 15046 (beam.smp)
      Tasks: 24 (limit: 4658)
     Memory: 102.8M (peak: 107.9M)
        CPU: 3.770s
     CGroup: /system.slice/rabbitmq-server.service
             ├─15046 /usr/lib/erlang/erts-13.2.2.5/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -pc unicode -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdcpu none -sb>
             ├─15056 erl_child_setup 65536
             ├─15108 /usr/lib/erlang/erts-13.2.2.5/bin/inet_gethost 4
             ├─15109 /usr/lib/erlang/erts-13.2.2.5/bin/inet_gethost 4
             └─15112 /bin/sh -s rabbit_disk_monitor

Jul 30 08:20:20 ubuntu-cloudspinx-com systemd[1]: Starting rabbitmq-server.service - RabbitMQ Messaging Server...
Jul 30 08:20:24 ubuntu-cloudspinx-com systemd[1]: Started rabbitmq-server.service - RabbitMQ Messaging Server.

Schritt 3: Installieren Sie ONLYOFFICE Docs

Jetzt, da wir die Umgebung konfiguriert haben, sind wir bereit, ONLYOFFICE Docs auf unserem Ubuntu-System zu installieren. Allerdings müssen wir als ersten Schritt den GPG-Schlüssel importieren, der für die Paketsignierung verwendet wird.

curl -fsSL  https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/onlyoffice.gpg

Sobald das GPG importiert ist, können wir das APT-Repository von ONLYOFFICE hinzufügen:

echo "deb https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list

Aktualisieren Sie den Paket-Manager-Cache und installieren Sie ONLYOFFICE Docs.

sudo apt update
sudo apt install onlyoffice-documentserver ttf-mscorefonts-installer

Wenn Sie aufgefordert werden, das Datenbankpasswort einzugeben, drücken Sie einfach die <ENTER>-Taste auf Ihrer Tastatur, um fortzufahren. Akzeptieren Sie anschließend die Lizenzbedingungen.

Überprüfen Sie, ob während der Installation Fehler aufgetreten sind. Wenn alles reibungslos verläuft, kann auf ONLYOFFICE in Ihrem Browser unter http://localhost oder http://serverdomain_or_ip zugegriffen werden.

Schritt 4: Sichern Sie ONLYOFFICE Docs mit SSL

Wir können ONLYOFFICE Docs so konfigurieren, dass der Zugriff über das HTTPS-Protokoll erfolgt, das weitaus sicherer als HTTP ist. Standardmäßig ist es so eingerichtet, dass es über HTTP läuft.

In unserem Setup läuft der verwendete Server in einer Cloud-Umgebung. Dadurch kann man das kostenlose SSL von Let’s Encrypt nutzen.

Verwendung von Let’s Encrypt SSL

Der einfachste Weg, HTTPS für ONLYOFFICE Docs zu konfigurieren, besteht darin, Let’s Encrypt SSL-Zertifikate mit certbot zu verwenden. Verwenden Sie den folgenden Befehl, um certbot zu installieren.

  • Debian/Ubuntu:
sudo apt update && sudo apt install certbot
sudo apt install python3-certbot-nginx
  • RHEL-basierte Systeme:
sudo dnf -y install epel-release
sudo dnf -y install certbot python3-certbot-nginx

Sobald Sie Certbot installiert haben, führen Sie das ONLYOFFICE-Skript aus, das SSL-Konfigurationen automatisiert.

sudo bash /usr/bin/documentserver-letsencrypt.sh [email  yourdomain.com

Ersetzen Sie [email durch Ihre tatsächliche E-Mail-Adresse und yourdomain.com durch den Domainnamen, der im DNS für den ONLYOFFICE Docs-Server konfiguriert ist.

Wenn Sie die Befehle ausführen, wird der Pfad zu einer Protokolldatei ausgegeben, in der Sie den Fortschritt der SSL-Erstellung überprüfen und etwaige Fehler nachlesen können.

Saving debug log to /var/log/letsencrypt/letsencrypt.log

Um den Inhalt der Protokolldatei zu überprüfen, verwenden Sie den Befehl cat:

sudo cat /var/log/letsencrypt/letsencrypt.log

Beispiel der letzten Zeilen der Ausgabe aus der Datei:

...

-----BEGIN CERTIFICATE-----
MIIEVzCCAj+gAwIBAgIRAIOPbGPOsTmMYgZigxXJ/d4wDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
WhcNMjcwMzEyMjM1OTU5WjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDELMAkGA1UEAxMCRTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNCzqK
a2GOtu/cX1jnxkJFVKtj9mZhSAouWXW0gQI3ULc/FnncmOyhKJdyIBwsz9V8UiBO
VHhbhBRrwJCuhezAUUE8Wod/Bk3U/mDR+mwt4X2VEIiiCFQPmRpM5uoKrNijgfgw
gfUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD
ATASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBSfK1/PPCFPnQS37SssxMZw
i9LXDTAfBgNVHSMEGDAWgBR5tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcB
AQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0g
BAwwCjAIBgZngQwBAgEwJwYDVR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVu
Y3Iub3JnLzANBgkqhkiG9w0BAQsFAAOCAgEAH3KdNEVCQdqk0LKyuNImTKdRJY1C
2uw2SJajuhqkyGPY8C+zzsufZ+mgnhnq1A2KVQOSykOEnUbx1cy637rBAihx97r+
bcwbZM6sTDIaEriR/PLk6LKs9Be0uoVxgOKDcpG9svD33J+G9Lcfv1K9luDmSTgG
6XNFIN5vfI5gs/lMPyojEMdIzK9blcl2/1vKxO8WGCcjvsQ1nJ/Pwt8LQZBfOFyV
XP8ubAp/au3dc4EKWG9MO5zcx1qT9+NXRGdVWxGvmBFRAajciMfXME1ZuGmk3/GO
koAM7ZkjZmleyokP1LGzmfJcUd9s7eeu1/9/eg5XlXd/55GtYjAM+C4DG5i7eaNq
cm2F+yxYIPt6cbbtYVNJCGfHWqHEQ4FYStUyFnv8sjyqU8ypgZaNJ9aVcWSICLOI
E1/Qv/7oKsnZCWJ926wU6RqG1OYPGOi1zuABhLw61cuPVDT28nQS/e6z95cJXq0e
K1BcaJ6fJZsmbjRgD5p3mvEf5vdQM7MCEvU0tHbsx2I5mHHJoABHb8KVBgWp/lcX
GWiWaeOyB7RP+OfDtvi2OsapxXiV7vNVs7fMlrRjY1joKaqmmycnBvAq14AEbtyL
sVfOS66B8apkeFX2NY4XPEYV4ZSCe8VHPrdrERk2wILG3T/EGmSIkCYVUMSnjmJd
VQD9F6Na/+zmXCc=
-----END CERTIFICATE-----

2024-07-30 08:56:34,141:DEBUG:acme.client:Storing nonce: Ma8ZwRNA9J1JoJ_IMl_v_1HLCTTt5G01XNs8p_Mvri6JbKsSWrI
2024-07-30 08:56:34,142:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/archive.
2024-07-30 08:56:34,142:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/live.
2024-07-30 08:56:34,142:DEBUG:certbot._internal.storage:Writing README to /etc/letsencrypt/live/README.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/archive/docs.cloudlabske.com.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/live/docs.cloudlabske.com.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Writing certificate to /etc/letsencrypt/live/docs.cloudlabske.com/cert.pem.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Writing private key to /etc/letsencrypt/live/docs.cloudlabske.com/privkey.pem.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Writing chain to /etc/letsencrypt/live/docs.cloudlabske.com/chain.pem.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Writing full chain to /etc/letsencrypt/live/docs.cloudlabske.com/fullchain.pem.
2024-07-30 08:56:34,144:DEBUG:certbot._internal.storage:Writing README to /etc/letsencrypt/live/docs.cloudlabske.com/README.
2024-07-30 08:56:34,156:DEBUG:certbot.configuration:Var account=985390e388f48deb37eab1e67d361272 (set by user).
2024-07-30 08:56:34,157:DEBUG:certbot._internal.plugins.selection:Requested authenticator webroot and installer None
2024-07-30 08:56:34,157:DEBUG:certbot._internal.plugins.selection:Requested authenticator webroot and installer None
2024-07-30 08:56:34,157:DEBUG:certbot.configuration:Var webroot_path=['/var/www/onlyoffice/documentserver/letsencrypt'] (set by user).
2024-07-30 08:56:34,157:DEBUG:certbot.configuration:Var webroot_map={'docs.cloudlabske.com': '/var/www/onlyoffice/documentserver/letsencrypt'} (set by user).
2024-07-30 08:56:34,157:DEBUG:certbot._internal.storage:Writing new config /etc/letsencrypt/renewal/docs.cloudlabske.com.conf.
2024-07-30 08:56:34,159:DEBUG:certbot._internal.display.obj:Notifying user:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/docs.cloudlabske.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/docs.cloudlabske.com/privkey.pem
This certificate expires on 2024-10-28.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
2024-07-30 08:56:34,161:DEBUG:certbot._internal.display.obj:Notifying user: If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le

Verwendung von selbstsignierten SSL-Zertifikaten

Für Systeme, die sich in einem privaten Netzwerk befinden, können Sie selbstsignierte Zertifikate erstellen. Alternativ, wenn Sie DNS über Cloudflare verwalten, sehen Sie sich unseren Artikel an, wie Sie Let’s Encrypt mit Cloudflare DNS konfigurieren.

Benutzer, die selbstsignierte Zertifikate verwenden, können den Inhalt der folgenden Datei bearbeiten und den Pfad zum Schlüssel- und Domänenzertifikat anpassen:

sudo nano /etc/onlyoffice/documentserver/nginx/ds.conf

Siehe unten den Inhalt unserer Einrichtung in diesem Artikel mit Let’s Encrypt.

include /etc/nginx/includes/http-common.conf;

## Normal HTTP host
server {
  listen 0.0.0.0:80;
  listen [::]:80 default_server;
  server_name _;
  server_tokens off;
  set $secure_link_secret nsdy8N28Ylobmp5EL4wF;

  ## Redirects all traffic to the HTTPS host
  root /nowhere; ## root doesn't have to be a valid path since we are redirecting
  rewrite ^ https://$host$request_uri? permanent;
}

#HTTP host for internal services
server {
  listen 127.0.0.1:80;
  listen [::1]:80;
  server_name localhost;
  server_tokens off;
  set $secure_link_secret nsdy8N28Ylobmp5EL4wF;

  include /etc/nginx/includes/ds-common.conf;
  include /etc/nginx/includes/ds-docservice.conf;
}

## HTTPS host
server {
  listen 0.0.0.0:443 ssl;
  listen [::]:443 ssl default_server;
  server_tokens off;
  set $secure_link_secret nsdy8N28Ylobmp5EL4wF;
  root /usr/share/nginx/html;

  ## Strong SSL Security
  ## https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
  ssl_certificate /etc/letsencrypt/live/docs.cloudlabske.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/docs.cloudlabske.com/privkey.pem;
  # Uncomment string below and specify the path to the file with the password if you use encrypted certificate key
  # ssl_password_file {{SSL_PASSWORD_PATH}};
  ssl_verify_client off;

  ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";

  ssl_protocols TLSv1.2;
  ssl_session_cache  builtin:1000  shared:SSL:10m;

  ssl_prefer_server_ciphers   on;

  add_header Strict-Transport-Security max-age=31536000;
  # add_header X-Frame-Options SAMEORIGIN;
  add_header X-Content-Type-Options nosniff;

  ## [Optional] If your certficate has OCSP, enable OCSP stapling to reduce the overhead and latency of running SSL.
  ## Replace with your ssl_trusted_certificate. For more info see:
  ## - https://medium.com/devops-programming/4445f4862461
  ## - https://www.ruby-forum.com/topic/4419319
  ## - https://linux-console.net/community/tutorials/how-to-configure-ocsp-stapling-on-apache-and-nginx
  # ssl_stapling on;
  # ssl_stapling_verify on;
  # ssl_trusted_certificate /etc/nginx/ssl/stapling.trusted.crt;
  # resolver 208.67.222.222 208.67.222.220 valid=300s; # Can change to your DNS resolver if desired
  # resolver_timeout 10s;

  ## [Optional] Generate a stronger DHE parameter:
  ##   cd /etc/ssl/certs
  ##   sudo openssl dhparam -out dhparam.pem 4096
  ##
  # ssl_dhparam /etc/ssl/certs/dhparam.pem;

  include /etc/nginx/includes/ds-*.conf;

}

Aktualisieren Sie ssl_certificate und ssl_certificate_key, um Ihrer Umgebung zu entsprechen.

Greifen Sie nur auf Office-Dokumente unter https://yourdomain zu

Sie erhalten die ONLYOFFICE Docs-Startseite mit weiteren Anweisungen dazu, wie Sie Dokumentbeispiele aktivieren und Ihre Anwendungen mithilfe der bereitgestellten API integrieren können.

Schritt 5: Drittanbieter-Apps integrieren

Die Integration von ONLYOFFICE in Ihre Drittanbieteranwendungen wie Pydio, Zimbra, WordPress, Odoo, SuiteCRM, Mattermost usw. ist ein reibungsloser Prozess. Alle verfügbaren Connectoren finden Sie unter folgendem Link:

  • Liste der ONLYOFFICE-Connectoren