Hogyan telepítsük az ONLYOFFICE Docs alkalmazást Ubuntu 24.04-re
Az ONLYOFFICE Docs egy ingyenesen használható, mégis erőteljes, kollaboratív online irodai csomag, amely dokumentumnézegetőket és szerkesztőket tartalmaz szövegek, bemutatók, táblázatok, űrlapok és PDF-ek számára. Az ONLYOFFICE csomag teljes mértékben kompatibilis az Office Open XML formátumokkal: .docx, .xlsx, .pptx, és támogatja a dokumentumok valós idejű együttműködéses szerkesztését. Ebben a cikkben megmutatjuk, hogyan telepítheted és konfigurálhatod az ONLYOFFICE Docs-ot az Ubuntu 24.04 (Noble Numbat) rendszeren.
Az Ubuntu Asztali Kiadás Végső Kézikönyve
Mesterkedj az Ubuntuban profi módra – a gyönyörű asztali testreszabástól a hatékony terminál-automatizálásig. Tökéletes fejlesztőknek, rendszergazdáknak és haladó felhasználóknak, akik teljes irányítást szeretnének munkakörnyezetük fölött.
Az ONLYOFFICE Docs a következő összetevőket tartalmazza:
- szerver – Ez egy háttérszerver réteg, amely az ONLYOFFICE Docs összes komponensét irányítja.
- core – Lehetővé teszi a kommunikációt az irodai dokumentumformátumok (DOC, DOCX, ODT, RTF, TXT, PDF, HTML, EPUB, XPS, DjVu, XLS, XLSX, ODS, CSV, PPT, PPTX, ODP) között.
- sdkjs – JavaScript SDK API az összes beépített komponens kliensoldali interakciójához.
- web-alkalmazások – Ez az ONLYOFFICE Docs frontendje
- szótárak – Tartalmazzák a különböző nyelvek szótárait, amelyeket az ONLYOFFICE Docs helyesírás-ellenőrzéshez használ.
Íme a szerkesztők listája, amelyek az ONLYOFFICE Docs részeként érhetők el:
- ONLYOFFICE Dokumentumszerkesztő
- ONLYOFFICE Táblázatkezelő
- ONLYOFFICE Prezentációs Szerkesztő
- ONLYOFFICE űrlapkészítő
- ONLYOFFICE PDF szerkesztő, olvasó és konvertáló
Állítsa be a követelményeket
Ebben a cikkben a Community Edition változatát telepítjük az ONLYOFFICE Docs programnak egy helyi Ubuntu szerverre. A minimális szerver hardverkövetelmények a következők:
- CPU: Legalább kétmagos
2 GHz - RAM: Legalább
2 GB - Lemezterület: legalább
40 GBszabad hely - SWAP: Legalább
4 GB, vagy több RAM, ha nincs swap. - Operációs rendszer: 64 bites Ubuntu vagy Debian Linux rendszer
Ha megfelelsz a követelményeknek, itt az ideje, hogy a figyelmet a Dokumentumszerver beállítására fordítsd.
1. lépés: PostgreSQL adatbázis beállítása
Kezdje a beállítást azzal, hogy megbizonyosodik arról, hogy rendszere naprakész:
sudo apt update && sudo apt upgrade -yTelepíthetjük az operációs rendszerünk alapértelmezett tárolóiban elérhető PostgreSQL szerver verziót.
sudo apt install postgresqlMiután a csomag telepítve lett, a szolgáltatás automatikusan elindul, a következő teendő egy PostgreSQL adatbázis és felhasználó létrehozása:
sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH PASSWORD 'onlyoffice';"
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice OWNER onlyoffice;"2. lépés: RabbitMQ szerver telepítése
Az ONLYOFFICE a RabbitMQ-t használja üzenetküldő közvetítőként, hogy lehetővé tegye a kommunikációt a különböző szolgáltatások között az ONLYOFFICE csomagon belül. Telepítse a csomagot a következő parancs futtatásával:
sudo apt install rabbitmq-serverEllenőrizheti a szolgáltatás állapotát:
$ 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.3. lépés: Telepítse az ONLYOFFICE Docs alkalmazást
Most, hogy beállítottuk a környezetet, készen állunk arra, hogy telepítsük az ONLYOFFICE Docs-ot az Ubuntu rendszerünkre. Azonban az első lépésként importálnunk kell a csomag aláírásához használt GPG kulcsot.
curl -fsSL https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/onlyoffice.gpgMiután a GPG importálva lett, hozzáadhatjuk az ONLYOFFICE APT tárolót:
echo "deb https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.listFrissítse a csomagkezelő gyorsítótárát, és telepítse az ONLYOFFICE Docs alkalmazást.
sudo apt update
sudo apt install onlyoffice-documentserver ttf-mscorefonts-installerAmikor a rendszer kéri az adatbázis jelszavát, egyszerűen nyomja meg a <ENTER> billentyűt a folytatáshoz. Ezután fogadja el a licencszerződés feltételeit.
Ellenőrizze, hogy felmerültek-e hibák a telepítés során. Ha minden rendben megy, a ONLYOFFICE a böngészőjében a http://localhost vagy a http://szerverdomain_vagy_ip címen érhető el.
4. lépés: Biztosítsa az ONLYOFFICE Docs-ot SSL-lel
Beállíthatjuk az ONLYOFFICE Docs-ot HTTPS protokoll használatára, ami sokkal biztonságosabb, mint a HTTP. Alapértelmezés szerint HTTP-n fut.
A rendszerünkben használt szerver egy felhőalapú környezetben fut. Ez lehetővé teszi a Let’s Encrypt ingyenes SSL használatát.
A Let’s Encrypt SSL használata
A legegyszerűbb módja az HTTPS konfigurálásának az ONLYOFFICE Docs számára, ha a Let’s Encrypt SSL-tanúsítványokat használjuk a certbot segítségével. A certbot telepítéséhez használja a következő parancsot.
- Debian/Ubuntu:
sudo apt update && sudo apt install certbot
sudo apt install python3-certbot-nginx- RHEL-alapú rendszerek:
sudo dnf -y install epel-release
sudo dnf -y install certbot python3-certbot-nginxMiután telepítette a certbotot, futtassa az ONLYOFFICE szkriptjét, amely automatizálja az SSL-beállításokat.
sudo bash /usr/bin/documentserver-letsencrypt.sh [email yourdomain.comCserélje le a [email címet a saját valós e-mail címére, és a yourdomain.com címet a DNS-ben az ONLYOFFICE Docs szerverhez konfigurált domain névre.
Amikor futtatod a parancsokat, ki fogja írni egy naplófájl elérési útját, ahonnan ellenőrizheted az SSL létrehozásának folyamatát, és minden hiba ott lesz naplózva.
Saving debug log to /var/log/letsencrypt/letsencrypt.logA naplófájl tartalmának megtekintéséhez használja a cat parancsot:
sudo cat /var/log/letsencrypt/letsencrypt.logA fájl utolsó néhány sorának mintakimenete:
...
-----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Önaláírt SSL-tanúsítványok használata
Privát hálózatban lévő rendszerekhez létrehozhatsz önaláírt tanúsítványokat. Alternatívaként, ha a DNS-t a Cloudflare-en kezeled, nézd meg cikkünket arról, hogyan lehet a Let’s Encrypt-et konfigurálni a Cloudflare DNS-szel.
Azok a felhasználók, akik önaláírt tanúsítványt használnak, szerkeszthetik a következő fájlok tartalmát, és módosíthatják a kulcshoz és a domain-tanúsítványhoz vezető útvonalat:
sudo nano /etc/onlyoffice/documentserver/nginx/ds.confLásd az alábbi tartalmakat a beállításunkról ebben a cikkben a Let’s Encrypt használatával.
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;
}Frissítse az ssl_certificate és az ssl_certificate_key értékeit, hogy megfeleljenek a környezetének.
Csak az OnlyOffice dokumentumok érhetők el a https://yourdomain címen
Meg fogja kapni a ONLYOFFICE Docs üdvözlő oldalát további utasításokkal arra vonatkozóan, hogyan engedélyezheti a dokumentumpéldákat és integrálhatja az alkalmazásaiba a rendelkezésre álló API segítségével.
5. lépés: Harmadik fél alkalmazásainak integrálása
Zökkenőmentes a folyamat, ha az ONLYOFFICE-t harmadik fél alkalmazásaiddal, például Pydio, Zimbra, WordPress, Odoo, SuiteCRM, Mattermost stb. integrálod. Nézd meg az összes csatlakozót az alábbi linken:
- ONLYOFFICE csatlakozók listája


