Ako nainštalovať ONLYOFFICE Docs na Ubuntu 24.04
ONLYOFFICE Docs je bezplatný, ale výkonný online kancelársky balík na spoluprácu, ktorý je vybavený prehliadačmi a editormi dokumentov pre texty, prezentácie, tabuľky, formuláre a PDF. Balík ONLYOFFICE je plne kompatibilný s formátmi Office Open XML: .docx, .xlsx, .pptx a podporuje spoluprácu na úprave dokumentov v reálnom čase. V tomto článku vám ukážeme, ako nainštalovať a nakonfigurovať ONLYOFFICE Docs na Ubuntu 24.04 (Noble Numbat).
Konečný príručka k Ubuntu Desktop
Ovládnite Ubuntu ako profesionál – od krásnej úpravy plochy až po výkonnú automatizáciu v termináli. Ideálne pre vývojárov, správcov systémov a pokročilých používateľov, ktorí chcú mať úplnú kontrolu nad svojím pracovným prostredím.
ONLYOFFICE Docs je dodávaný s nasledujúcimi komponentmi:
- server – Toto je vrstva backendového servera, ktorá riadi všetky komponenty ONLYOFFICE Docs.
- jadro – Umožňuje komunikáciu medzi formátmi kancelárskych dokumentov (DOC, DOCX, ODT, RTF, TXT, PDF, HTML, EPUB, XPS, DjVu, XLS, XLSX, ODS, CSV, PPT, PPTX, ODP).
- sdkjs – JavaScript SDK API pre všetky zahrnuté komponenty na interakciu na strane klienta.
- web-aplikácie – Toto je front-end pre ONLYOFFICE Docs
- slovníky – Obsahujú slovníky rôznych jazykov používané na kontrolu pravopisu v ONLYOFFICE Docs.
Tu je zoznam editorov, ktoré sú súčasťou ONLYOFFICE Docs:
- Editor dokumentov ONLYOFFICE
- Editor tabuľkov ONLYOFFICE
- Editor prezentácií ONLYOFFICE
- Tvorca formulárov ONLYOFFICE
- ONLYOFFICE PDF editor, prehliadač a prevodník
Nastaviť požiadavky
V tomto článku inštalujeme Community Edition programu ONLYOFFICE Docs na lokálny server s Ubuntu. Minimálne požiadavky na hardvér servera sú nasledovné:
- CPU: Minimálne dvojjadrový
2 GHz - RAM: Aspoň
2 GB - Miesto na disku: Aspoň
40 GBvoľného miesta - SWAP: Aspoň
4 GB, alebo viac RAM, ak nie je swap. - OS: 64-bitový systém Ubuntu alebo Debian Linux
Ak spĺňate požiadavky, je vhodný čas zamerať pozornosť na nastavenie vášho dokumentového servera.
Krok 1: Nastavte databázu PostgreSQL
Začnite nastavenie tým, že sa uistíte, že váš systém je aktuálny:
sudo apt update && sudo apt upgrade -yMôžeme nainštalovať server PostgreSQL verziu dostupnú v predvolených repozitároch nášho operačného systému.
sudo apt install postgresqlPo nainštalovaní balíka sa služba spustí automaticky, ďalším krokom je vytvorenie databázy PostgreSQL a používateľa:
sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH PASSWORD 'onlyoffice';"
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice OWNER onlyoffice;"Krok 2: Inštalácia servera RabbitMQ
ONLYOFFICE používa RabbitMQ ako sprostredkovateľa správ na umožnenie komunikácie medzi rôznymi službami v rámci balíka ONLYOFFICE. Balík nainštalujte spustením nasledujúceho príkazu:
sudo apt install rabbitmq-serverStav služby si môžete skontrolovať:
$ 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.Krok 3: Nainštalujte ONLYOFFICE Docs
Teraz, keď sme nakonfigurovali prostredie, sme pripravení nainštalovať ONLYOFFICE Docs do nášho systému Ubuntu. Ako prvý krok však musíme naimportovať GPG kľúč používaný na podpisovanie balíkov.
curl -fsSL https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/onlyoffice.gpgAkonáhle je importovaný GPG, môžeme pridať APT repozitár ONLYOFFICE:
echo "deb https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.listAktualizujte vyrovnávaciu pamäť správcu balíkov a nainštalujte ONLYOFFICE Docs.
sudo apt update
sudo apt install onlyoffice-documentserver ttf-mscorefonts-installerKeď budete vyzvaní na zadanie hesla do databázy, jednoducho stlačte kláves <ENTER> na klávesnici na pokračovanie. Následne prijmite podmienky licenčnej zmluvy.
Skontrolujte, či pri inštalácii neboli zaznamenané žiadne chyby. Ak všetko prebehne v poriadku, k aplikácii ONLYOFFICE môžete pristupovať vo vašom prehliadači na http://localhost alebo http://serverdomain_or_ip.
Krok 4: Zabezpečte dokumenty ONLYOFFICE pomocou SSL
Môžeme nakonfigurovať ONLYOFFICE Docs na prístup pomocou protokolu HTTPS, ktorý je oveľa bezpečnejší ako HTTP. Predvolene je nakonfigurovaný na spustenie cez HTTP.
V našom nastavení server beží v cloudovom prostredí. To umožňuje používať bezplatný SSL od Let’s Encrypt.
Používanie SSL od Let’s Encrypt
Najjednoduchší spôsob, ako nakonfigurovať HTTPS pre ONLYOFFICE Docs, je použiť SSL certifikáty Let's Encrypt pomocou certbotu. Na inštaláciu certbotu použite nasledujúci príkaz.
- Debian/Ubuntu:
sudo apt update && sudo apt install certbot
sudo apt install python3-certbot-nginx- Systémy založené na RHEL:
sudo dnf -y install epel-release
sudo dnf -y install certbot python3-certbot-nginxKeď nainštalujete certbot, spustite skript ONLYOFFICE, ktorý automatizuje konfigurácie SSL.
sudo bash /usr/bin/documentserver-letsencrypt.sh [email yourdomain.comNahraďte [email svojou skutočnou e-mailovou adresou a yourdomain.com názvom domény nastaveným v DNS pre server ONLYOFFICE Docs.
Keď spustíte príkazy, zobrazí sa cesta k súboru protokolu, kde môžete skontrolovať priebeh generovania SSL a prípadné chyby budú tam zaznamenané.
Saving debug log to /var/log/letsencrypt/letsencrypt.logNa kontrolu obsahu súboru denníka použite príkaz cat:
sudo cat /var/log/letsencrypt/letsencrypt.logUkážka posledných niekoľkých riadkov výstupu zo súboru:
...
-----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-lePoužívanie samopodpísaných SSL certifikátov
Pre systémy, ktoré sa nachádzajú v súkromnej sieti, môžete vytvoriť vlastné certifikáty. Prípadne, ak spravujete DNS cez Cloudflare, pozrite si náš článok o tom, ako nakonfigurovať Let’s Encrypt s Cloudflare DNS.
Používatelia používajúci vlastnoručne podpísané certifikáty môžu upraviť obsah nasledujúceho súboru a prispôsobiť cestu k privátnemu kľúču a certifikátu domény:
sudo nano /etc/onlyoffice/documentserver/nginx/ds.confPozrite si nižšie obsah z našej konfigurácie v tomto článku s použitím 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;
}Aktualizujte ssl_certificate a ssl_certificate_key, aby zodpovedali vášmu prostrediu.
Pristupujte k dokumentom OnlyOffice na https://yourdomain
Zobrazí sa vám uvítacia stránka ONLYOFFICE Docs s ďalšími pokynmi, ako môžete povoliť ukážky dokumentov a integrovať ich do svojich aplikácií pomocou poskytnutého API.
Krok 5: Integrácia aplikácií tretích strán
Integrácia ONLYOFFICE s vašimi aplikáciami tretích strán, ako sú Pydio, Zimbra, WordPress, Odoo, SuiteCRM, Mattermost a pod., je plynulý proces. Všetky konektory si môžete pozrieť na nasledujúcom odkaze:
- Zoznam konektorov ONLYOFFICE


