Verkkosivustohaku

Kuinka asentaa ONLYOFFICE Docs Ubuntu 24.04:ssä


ONLYOFFICE Docs on ilmainen käyttää, mutta silti tehokas, yhteistyöhön suunnattu verkkotoimisto-ohjelmisto, joka sisältää asiakirjan katselu- ja muokkaustyökalut teksteille, esityksille, taulukoille, lomakkeille ja PDF-tiedostoille. ONLYOFFICE-ohjelmistopaketti on täysin yhteensopiva Office Open XML -muotojen kanssa: .docx, .xlsx, .pptx ja tukee asiakirjojen yhteismuokkausta reaaliajassa. Tässä artikkelissa näytämme, kuinka asennat ja määrität ONLYOFFICE Docsin Ubuntu 24.04:ssä (Noble Numbat).

Ultimaattinen Ubuntu-työpöytäopas

Hallinnoi Ubuntua kuin ammattilainen – kauniista työpöydän muokkauksesta tehokkaaseen terminaaliautomaatiioon. Täydellinen kehittäjille, järjestelmänvalvojille ja tehokäyttäjille, jotka haluavat kaiken hallinnan työympäristöstään.

ONLYOFFICE Docs sisältää seuraavat komponentit:

  • palvelin – Tämä on backend-palvelin kerros, joka hallitsee kaikkia ONLYOFFICE Docsin komponentteja.
  • ydin – Mahdollistaa viestinnän toimistodokumenttien muotojen (DOC, DOCX, ODT, RTF, TXT, PDF, HTML, EPUB, XPS, DjVu, XLS, XLSX, ODS, CSV, PPT, PPTX, ODP) välillä.
  • sdkjs – JavaScript SDK -rajapinta kaikille mukana oleville komponenteille asiakaspuolen vuorovaikutusta varten.
  • web-sovellukset – Tämä on ONLYOFFICE Docsin käyttöliittymä
  • sanakirjat – Sisältävät eri kielten sanakirjat, joita käytetään oikeinkirjoituksen tarkistamiseen ONLYOFFICE Docsissa.

Tässä on luettelo editoreista, jotka tulevat mukana ONLYOFFICE Docsin kanssa:

  • ONLYOFFICE-dokumenttieditori
  • ONLYOFFICE-taulukkolaskentaeditori
  • ONLYOFFICE-esityseditori
  • ONLYOFFICE-lomakkeen luoja
  • ONLYOFFICE PDF -editori, katselija ja muunnin

Määritä vaatimukset

Tässä artikkelissa asennamme Community Edition -version ONLYOFFICE Docsista paikalliselle Ubuntu-palvelimelle. Vähimmäisvaatimukset palvelimen laitteistolle ovat seuraavat:

  • CPU: Vähintään kaksiytiminen 2 GHz
  • RAM: Vähintään 2 GB
  • Levyn tila: Vähintään 40 GB vapaata tilaa
  • SWAP: Vähintään 4 GB, tai enemmän RAM-muistia jos swapia ei ole.
  • Käyttöjärjestelmä: 64-bittinen Ubuntu- tai Debian Linux -järjestelmä

Jos täytät vaatimukset, on hyvä aika siirtää huomio asiakirjapalvelimen perustamiseen.

Vaihe 1: Määritä PostgreSQL-tietokanta

Aloita asennus varmistamalla, että järjestelmäsi on ajan tasalla:

sudo apt update && sudo apt upgrade -y

Voimme asentaa PostgreSQL-palvelimen version, joka on saatavilla käyttöjärjestelmämme oletusrepositorioissa.

sudo apt install postgresql

Kun paketti on asennettu, palvelu käynnistyy automaattisesti. Seuraava toimenpide on luoda PostgreSQL-tietokanta ja käyttäjä:

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

Vaihe 2: Asenna RabbitMQ-palvelin

ONLYOFFICE käyttää RabbitMQ:ta viestinvälittäjänä mahdollistamaan viestinnän eri palveluiden välillä ONLYOFFICE-paketissa. Asenna paketti suorittamalla seuraava komento:

sudo apt install rabbitmq-server

Voit tarkistaa palvelun tilan:

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

Vaihe 3: Asenna ONLYOFFICE Docs

Nyt kun olemme määrittäneet ympäristön, olemme valmiita asentamaan ONLYOFFICE Docsin Ubuntu-järjestelmäämme. Ensimmäisenä vaiheena meidän on kuitenkin tuotava pakettien allekirjoituksessa käytetty GPG-avain.

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

Kun GPG on tuotu, voimme lisätä ONLYOFFICE APT -arkiston:

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

Päivitä pakettienhallinnan välimuisti ja asenna ONLYOFFICE Docs.

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

Kun sinua pyydetään antamaan tietokannan salasana, paina vain näppäimistöltäsi <ENTER> jatkaaksesi. Seuraavaksi hyväksy lisenssisopimuksen ehdot.

Tarkista, esiintyykö asennuksen aikana virheitä. Jos kaikki sujuu hyvin, voit käyttää ONLYOFFICEa selaimessasi osoitteessa http://localhost tai http://serverdomain_or_ip.

Vaihe 4: Suojaa ONLYOFFICE Docs SSL:llä

Voimme määrittää ONLYOFFICE Docsin käytettäväksi HTTPS-protokollan kautta, mikä on paljon turvallisempaa kuin HTTP. Oletuksena se on määritetty toimimaan HTTP:llä.

Meidän kokoonpanossamme käytettävä palvelin toimii pilviympäristössä. Tämä mahdollistaa Let’s Encryptin ilmaisen SSL:n käytön.

SSL:n käyttäminen Let's Encryptin kanssa

Helpoin tapa määrittää HTTPS ONLYOFFICE Docsille on käyttää Let’s Encrypt -SSL-sertifikaatteja certbotin avulla. Asenna certbot käyttämällä seuraavaa komentoa.

  • Debian/Ubuntu:
sudo apt update && sudo apt install certbot
sudo apt install python3-certbot-nginx
  • RHEL-pohjaiset järjestelmät:
sudo dnf -y install epel-release
sudo dnf -y install certbot python3-certbot-nginx

Kun olet asentanut Certbotin, suorita ONLYOFFICE-skripti, joka automatisoi SSL-konfiguraatiot.

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

Korvaa [email omalla sähköpostiosoitteellasi ja yourdomain.com sillä verkkotunnuksella, joka on määritetty DNS:ssä ONLYOFFICE Docs -palvelimelle.

Kun suoritat komennot, se näyttää polun lokitiedostoon, josta voit tarkistaa SSL:n luomisen etenemisen, ja mahdolliset virheet kirjataan sinne.

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

Tarkistaaksesi lokitiedoston sisällön käytä cat komentoa:

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

Esimerkkituloste tiedoston viimeisiltä riveiltä:

...

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

Itse allekirjoitettujen SSL-sertifikaattien käyttäminen

Järjestelmille, jotka sijaitsevat yksityisessä verkossa, voit luoda itse allekirjoitettuja varmenteita. Vaihtoehtoisesti, jos hallinnoit DNS:ää Cloudflaren kautta, tutustu artikkeliimme siitä, kuinka Let’s Encrypt -varmenteet konfiguroidaan Cloudflare DNS:n kanssa.

Käyttäjät, jotka käyttävät itse allekirjoitettuja varmenteita, voivat muokata seuraavan tiedoston sisältöä ja säätää polut avaimelle ja verkkotunnuksen varmenteelle:

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

Katso alla olevat sisällöt asennuksestamme tässä artikkelissa käyttäen Let’s Encryptiä.

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;

}

Päivitä ssl_certificate ja ssl_certificate_keyvastaamaan ympäristöäsi.

Käytä OnlyOffice-dokumentteja osoitteessa https://yourdomain

Saat ONLYOFFICE Docs -tervetulossivun, josta löydät lisäohjeet siitä, kuinka voit ottaa käyttöön dokumenttiesimerkit ja integroida ne sovelluksiisi käyttämällä annettua API:a.

Vaihe 5: Integroi kolmannen osapuolen sovellukset

ONLYOFFICE:n integroiminen kolmannen osapuolen sovelluksiin, kuten Pydio, Zimbra, WordPress, Odoo, SuiteCRM, Mattermost jne., on sujuva prosessi. Tutustu kaikkiin liittimiin seuraavasta linkistä:

  • ONLYOFFICE-liittimien luettelo