Kako instalirati ONLYOFFICE Docs na Ubuntu 24.04
ONLYOFFICE Docs je besplatan za korištenje, a ipak moćan, kolaborativni online uredski paket koji sadrži preglednike i uređivače dokumenata za tekstove, prezentacije, proračunske tablice, obrasce i PDF. ONLYOFFICE paket je u potpunosti kompatibilan s Office Open XML formatima: .docx, .xlsx, .pptx i podržava zajedničko uređivanje dokumenata u stvarnom vremenu. U ovom članku pokazat ćemo vam kako instalirati i konfigurirati ONLYOFFICE Docs na Ubuntu 24.04 (Noble Numbat).
Ultimativni priručnik za Ubuntu radnu površinu
Ovladnite Ubuntuom poput profesionalca - od prekrasnog prilagođavanja radne površine do moćne automatizacije putem terminala. Savršeno za programere, administratore sustava i napredne korisnike koji žele potpunu kontrolu nad svojim radnim okruženjem.
ONLYOFFICE Docs dolazi u paketu sa sljedećim komponentama:
- server – Ovo je serverski sloj koji upravlja svim komponentama ONLYOFFICE Docsa.
- jezgra – Omogućuje komunikaciju između formata uredskih dokumenata (DOC, DOCX, ODT, RTF, TXT, PDF, HTML, EPUB, XPS, DjVu, XLS, XLSX, ODS, CSV, PPT, PPTX, ODP).
- sdkjs – JavaScript SDK API za sve uključene komponente za interakciju na klijentskoj strani.
- web-aplikacije – Ovo je frontend za ONLYOFFICE Docs
- rječnici – Sadržavaju rječnike raznih jezika koji se koriste za provjeru pravopisa u ONLYOFFICE Docs.
Evo popisa urednika koji dolaze s ONLYOFFICE Docs:
- ONLYOFFICE Uređivač dokumenata
- ONLYOFFICE Uređivač proračunskih tablica
- ONLYOFFICE Uređivač prezentacija
- ONLYOFFICE Kreator obrazaca
- ONLYOFFICE PDF uređivač, preglednik i pretvarač
Postavi zahtjeve
U ovom članku instaliramo Community Edition ONLYOFFICE Docsa na lokalni Ubuntu server. Minimalni hardverski zahtjevi za server su sljedeći:
- CPU: Najmanje dvojezgreni
2 GHz - RAM: Najmanje
2 GB - Diskovni prostor: Najmanje
40 GBslobodnog prostora - SWAP: Najmanje
4 GB, ili više RAM-a ako nema swap-a. - OS: 64-bitni Ubuntu ili Debian Linux sustav
Ako ispunjavate zahtjeve, dobro je vrijeme da svoju pažnju usmjerite na postavljanje servera za Dokumente.
Korak 1: Postavite PostgreSQL bazu podataka
Započet će postavljanje osiguravajući da je vaš sustav ažuriran:
sudo apt update && sudo apt upgrade -yMožemo instalirati verziju PostgreSQL servera koja je dostupna u zadanim spremištima našeg operativnog sustava.
sudo apt install postgresqlNakon što je paket instaliran, usluga se automatski pokreće, sljedeći korak je kreiranje PostgreSQL baze podataka i korisnika:
sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH PASSWORD 'onlyoffice';"
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice OWNER onlyoffice;"Korak 2: Instalirajte RabbitMQ poslužitelj
ONLYOFFICE koristi RabbitMQ kao posrednika za razmjenu poruka kako bi omogućio komunikaciju između različitih servisa unutar ONLYOFFICE paketa. Instalirajte paket pokretanjem sljedeće naredbe:
sudo apt install rabbitmq-serverMožete provjeriti status usluge:
$ 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.Korak 3: Instalirajte ONLYOFFICE Docs
Sad kada smo konfigurirali okruženje, spremni smo instalirati ONLYOFFICE Docs na naš Ubuntu sustav. Međutim, kao prvi korak moramo uvesti GPG ključ koji se koristi za potpisivanje paketa.
curl -fsSL https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/onlyoffice.gpgKada se GPG uveze, možemo dodati ONLYOFFICE APT repozitorij:
echo "deb https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.listAžurirajte predmemoriju upravitelja paketa i instalirajte ONLYOFFICE Docs.
sudo apt update
sudo apt install onlyoffice-documentserver ttf-mscorefonts-installerKad se zatraži da unesete lozinku za bazu podataka, jednostavno pritisnite tipku <ENTER> na tipkovnici da nastavite. Zatim prihvatite uvjete licencnog ugovora.
Provjerite ima li pogrešaka tijekom instalacije. Ako sve prođe u redu, na ONLYOFFICE se može pristupiti putem preglednika na http://localhost ili http://serverdomain_or_ip.
Korak 4: Osigurajte ONLYOFFICE Docs SSL-om
Možemo konfigurirati ONLYOFFICE Docs za pristup koristeći HTTPS protokol koji je mnogo sigurniji od HTTP-a. Zadano je konfigurirano da radi na HTTP-u.
U našem postavu server koji se koristi radi u oblaku. To omogućuje korištenje besplatnog SSL-a putem Let's Encrypta.
Korištenje Let’s Encrypt SSL-a
Najlakši način za konfiguriranje HTTPS-a za ONLYOFFICE Docs je korištenje Let’s Encrypt SSL certifikata putem certbota. Upotrijebite sljedeću naredbu za instalaciju certbota.
- Debian/Ubuntu:
sudo apt update && sudo apt install certbot
sudo apt install python3-certbot-nginx- Sustavi temeljeni na RHEL-u:
sudo dnf -y install epel-release
sudo dnf -y install certbot python3-certbot-nginxNakon što instalirate certbot, pokrenite ONLYOFFICE skriptu koja automatizira konfiguracije SSL-a.
sudo bash /usr/bin/documentserver-letsencrypt.sh [email yourdomain.comZamijenite [email sa svojom stvarnom adresom e-pošte, a yourdomain.com s nazivom domene konfigurirane u DNS-u za ONLYOFFICE Docs server.
Kada pokrenete naredbe, one će prikazati putanju do datoteke dnevnika iz koje možete provjeriti napredak generiranja SSL-a, a sve pogreške bit će tamo zapisane.
Saving debug log to /var/log/letsencrypt/letsencrypt.logZa pregled sadržaja datoteke zapisnika koristite naredbu cat:
sudo cat /var/log/letsencrypt/letsencrypt.logPrimjer zadnjih nekoliko redaka izlaza iz datoteke:
...
-----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-leKorištenje samopotpisanih SSL certifikata
Za sustave koji se nalaze u privatnoj mreži, možete generirati samopotpisane certifikate. Alternativno, ako upravljate DNS-om putem Cloudflare-a, pogledajte naš članak o tome kako konfigurirati Let’s Encrypt s Cloudflare DNS-om.
Korisnici koji koriste samopotpisane certifikate mogu uređivati sadržaj sljedeće datoteke i prilagoditi put do ključa i certifikata domene:
sudo nano /etc/onlyoffice/documentserver/nginx/ds.confPogledajte sadržaj u nastavku iz naše postavke u ovom članku koristeći 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;
}Ažurirajte ssl_certificate i ssl_certificate_key kako bi odgovarali vašem okruženju.
Pristupite OnlyOffice dokumentima na https://yourdomain
Dobit ćete početnu stranicu dobrodošlice za ONLYOFFICE Docs s daljnjim uputama o tome kako možete omogućiti primjere dokumenata i integrirati ih u svoje aplikacije koristeći pruženi API.
Korak 5: Integrirajte aplikacije trećih strana
Proces integracije ONLYOFFICE-a s vašim aplikacijama trećih strana poput Pydio, Zimbra, WordPress, Odoo, SuiteCRM, Mattermost itd. je jednostavan. Pogledajte sve konektore na sljedećoj poveznici:
- Popis ONLYOFFICE konektora


