Webbplatssökning

Hur man installerar ONLYOFFICE Docs på Ubuntu 24.04


ONLYOFFICE Docs är en gratis att använda, men ändå kraftfull, collaborative online-kontorssvit som innehåller dokumentvisare och redigerare för texter, presentationer, kalkylblad, formulär och PDF. ONLYOFFICE-sviten är fullt kompatibel med Office Open XML-format: .docx, .xlsx, .pptx och stödjer samredigering av dokument i realtid. I den här artikeln kommer vi att visa hur du installerar och konfigurerar ONLYOFFICE Docs på Ubuntu 24.04 (Noble Numbat).

Den ultimata handboken för Ubuntu-skrivbordet

Bemästra Ubuntu som ett proffs - från vacker skrivbordsanpassning till kraftfull terminalautomatisering. Perfekt för utvecklare, systemadministratörer och avancerade användare som vill ha total kontroll över sin arbetsyta.

ONLYOFFICE Docs levereras med följande komponenter:

  • server – Detta är ett backend-serverlager som kontrollerar alla komponenter i ONLYOFFICE Docs.
  • kärna – Möjliggör kommunikation mellan kontorsdokumentformaten (DOC, DOCX, ODT, RTF, TXT, PDF, HTML, EPUB, XPS, DjVu, XLS, XLSX, ODS, CSV, PPT, PPTX, ODP).
  • sdkjs – JavaScript SDK API för alla inkluderade komponenter och klient-interaktion.
  • webbappar – Detta är frontend för ONLYOFFICE Docs
  • ordböcker – Innehåller ordböcker för olika språk som används för stavningskontroll i ONLYOFFICE Docs.

Här är listan över redigerare som följer med ONLYOFFICE Docs:

  • ONLYOFFICE Dokumentredigerare
  • ONLYOFFICE Kalkylbladsredigerare
  • ONLYOFFICE Presentation Editor
  • ONLYOFFICE Formskapare
  • ONLYOFFICE PDF-redigerare, läsare och omvandlare

Ställ in krav

I den här artikeln installerar vi Community Edition av ONLYOFFICE Docs på en lokal Ubuntu-server. Minimikraven för serverhårdvara är följande:

  • CPU: Minst dual-core 2 GHz
  • RAM: Minst 2 GB
  • Diskutrymme: Minst 40 GB ledigt utrymme
  • SWAP: Minst 4 GB, eller mer RAM om ingen swap finns.
  • OS: 64-bitars Ubuntu- eller Debian Linux-system

Om du uppfyller kraven är det en bra tid att rikta uppmärksamheten mot att sätta upp din dokumentserver.

Steg 1: Ställ in PostgreSQL-databasen

Börja installationen med att säkerställa att ditt system är uppdaterat:

sudo apt update && sudo apt upgrade -y

Vi kan installera PostgreSQL-serverversionen som finns tillgänglig i våra operativsystems standardförråd.

sudo apt install postgresql

När paketet är installerat startas tjänsten automatiskt, nästa steg är att skapa en PostgreSQL-databas och en användare:

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

Steg 2: Installera RabbitMQ-server

ONLYOFFICE använder RabbitMQ som en meddelandemäklare för att möjliggöra kommunikation mellan olika tjänster inom ONLYOFFICE-sviten. Installera paketet genom att köra följande kommando:

sudo apt install rabbitmq-server

Du kan kontrollera tjänstens status:

$ 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.

Steg 3: Installera ONLYOFFICE Docs

Nu när vi har konfigurerat miljön är vi redo att installera ONLYOFFICE Docs på vårt Ubuntu-system. Vi måste dock först importera GPG-nyckeln som används vid paketsignering.

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

När GPG har importerats kan vi lägga till ONLYOFFICE APT-förrådet:

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

Uppdatera paketchefs-cachen och installera ONLYOFFICE Docs.

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

När du uppmanas att ange databasanvändarens lösenord trycker du bara på <ENTER>-tangenten på ditt tangentbord för att fortsätta. Nästa steg är att acceptera licensavtalets villkor.

Kontrollera om några fel uppstod under installationen. Om allt går bra kan ONLYOFFICE nås i din webbläsare på http://localhost eller http://serverdomain_or_ip.

Steg 4: Säkra ONLYOFFICE Docs med SSL

Vi kan konfigurera ONLYOFFICE Docs för åtkomst via HTTPS-protokollet, vilket är mycket säkrare än HTTP. Som standard är det konfigurerat att köras på HTTP.

I vår uppsättning körs servern i en molnmiljö. Detta gör det möjligt att använda Let’s Encrypt gratis SSL.

Använda Let’s Encrypt SSL

Det enklaste sättet att konfigurera HTTPS för ONLYOFFICE Docs är att använda Let’s Encrypt SSL-certifikat med certbot. Använd följande kommando för att installera certbot.

  • Debian/Ubuntu:
sudo apt update && sudo apt install certbot
sudo apt install python3-certbot-nginx
  • System baserade på RHEL:
sudo dnf -y install epel-release
sudo dnf -y install certbot python3-certbot-nginx

När du har installerat certbot, kör ONLYOFFICE-skriptet som automatiserar SSL-konfigurationer.

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

Byt ut [email mot din faktiska e-postadress och yourdomain.com mot domännamnet som är konfigurerat i DNS för ONLYOFFICE Docs-servern.

När du kör kommandona kommer det att visas en sökväg till en loggfil där du kan kontrollera framstegen för SSL-genereringen, och eventuella fel kommer att loggas där.

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

För att kontrollera innehållet i loggfilen, använd cat-kommandot:

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

Exempel på de sista raderna i filen:

...

-----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

Att använda självsignerade SSL-certifikat

För system som befinner sig i ett privat nätverk kan du generera självsignerade certifikat. Alternativt, om du hanterar DNS på Cloudflare, kolla in vår artikel om hur du konfigurerar Let’s Encrypt med Cloudflare DNS.

Användare som använder självsignerade certifikat kan redigera följande fils innehåll och justera sökväg till nyckel och domäncertifikat:

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

Se innehållet nedan från vår installation i den här artikeln med 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;

}

Uppdatera ssl_certificate och ssl_certificate_key så att de matchar din miljö.

Åtkomst till OnlyOffice-dokument på https://yourdomain

Du kommer att få ONLYOFFICE Docs välkomstsida med vidare instruktioner om hur du kan aktivera dokumentexempel och integrera med dina applikationer med hjälp av det tillhandahållna API:et.

Steg 5: Integrera tredjepartsappar

Det är en smidig process att integrera ONLYOFFICE med dina tredjepartsapplikationer som Pydio, Zimbra, WordPress, Odoo, SuiteCRM, Mattermost osv. Kolla in alla anslutningar i följande länk:

  • Lista över ONLYOFFICE-anslutningar