Ovaj članak je preveden pomoću veštačke inteligencije

Instalacija ONLYOFFICE Docs za Docker na KylinOS

Uvod

Developer izdanje omogućava vam da instalirate ONLYOFFICE Docs na vaš lokalni server i integrišete online editore sa vašom web aplikacijom, ONLYOFFICE platformom za saradnju ili drugim popularnim sistemima.

ONLYOFFICE Docs je online kancelarijski paket koji sadrži preglednike i editore za tekstove, tabele i prezentacije, potpuno kompatibilne sa Office Open XML formatima: .docx, .xlsx, .pptx i omogućava kolaborativno uređivanje u realnom vremenu.

Funkcionalnosti

  • Editor dokumenata
  • Editor tabela
  • Editor prezentacija
  • Mobilni web preglednici
  • Mobilni web editori
  • Kolaborativno uređivanje
  • Podrška za hijeroglife
  • Podrška za sve popularne formate: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML

Pogledajte detaljnu listu funkcionalnosti dostupnih za ONLYOFFICE Docs Developer izdanje.

Korišćenjem unutar ONLYOFFICE Workspace, moći ćete da:

  • delite fajlove;
  • upravljate pravima pristupa dokumentima;
  • ugrađujete dokumente na web sajt;
  • pregledate i uređujete fajlove smeštene na Drive, Box, Dropbox, OneDrive, OwnCloud povezane sa ONLYOFFICE.

Počevši od verzije 7.2, ONLYOFFICE Docs Docker slike su prepravljene za rad na Kylin Linux Advanced Server OS verziji V10. Ovaj vodič će vam pokazati kako da instalirate ONLYOFFICE Docs Developer izdanje Docker verziju na KylinOS.

Sistemski zahtevi
  • CPU
    dvojezgarni 2 GHz ili bolji
  • RAM
    4 GB ili više
  • HDD
    najmanje 40 GB slobodnog prostora
  • SWAP
    najmanje 4 GB, ali zavisi od host OS-a. Više je bolje
  • OS
    amd64 Linux distribucija sa kernel verzijom 3.10 ili novijom
  • Docker: bilo koja verzija podržana od strane KylinOS

Instalacija ONLYOFFICE Docs

Docker podrazumevano koristi Google DNS servere. Ako vaš ONLYOFFICE Docs neće imati pristup internetu, preporučujemo da promenite podrazumevanu Docker DNS adresu na adresu vašeg lokalnog DNS servera. Da biste to uradili, idite do fajla /etc/default/docker i promenite IP adresu u sledećem redu na IP adresu DNS servera u vašoj lokalnoj mreži:
docker_OPTS="--dns 8.8.8.8"

Za operativne sisteme bazirane na RPM-u kao što je CentOS:

  1. Kreirajte konfiguracioni fajl /etc/docker/daemon.json sa sledećim sadržajem:
    { "dns" : [ "8.8.8.8" ] }
  2. Ponovo pokrenite Docker servis:
    
    sudo systemctl restart docker.service
Onemogućite SELinux

Potrebno je da onemogućite SELinux u konfiguracionom fajlu /etc/selinux/config.

Otvorite fajl /etc/selinux/config koristeći bilo koji tekst editor, zamenite string SELINUX=enforcing ili SELINUX=permissive sa SELINUX=disabled, i sačuvajte promene.

Ponovo pokrenite vaš server da bi promene stupile na snagu. Uverite se da je SELinux onemogućen:

[root@test ~]# sestatus
SELinux status:                 disabled
Instalirajte ONLYOFFICE Docs

Izvršite sledeću komandu da instalirate ONLYOFFICE Docs:

sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de
Važno Počevši od verzije 7.2, dodali smo nasumičnu generaciju JWT tajne. Ako JWT tajna nije specificirana sa promenljivom okruženja, to dovodi do njene ponovne generacije tokom svakog ponovnog pokretanja VM-ova ili fizičkog servera, što može izazvati probleme u integracijama. Da biste izbegli ovaj problem, navedite svoju vrednost u -e JWT_SECRET=my_jwt_secret.

Ako ne planirate da koristite JWT u vašoj instalaciji, koristite -e JWT_ENABLED=false.

Ključ --security-opt seccomp=unconfined je potreban da onemogući sigurnosne profile za kontejner. Više detalja možete pronaći ovde.

Možete koristiti i naš prilagođeni sigurnosni profil: kylin-seccomp7.json.

Podrazumevano, ONLYOFFICE Docs sluša dolazne konekcije koristeći port 80. Počevši od verzije 4.3, možete promeniti port za ONLYOFFICE Docs ako planirate da ga koristite umesto podrazumevanog. Ovo se lako može uraditi promenom mape porta tokom instalacije:
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --security-opt seccomp=unconfined --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de
Gde je <PORT_NUMBER> broj porta koji želite da ONLYOFFICE Docs koristi.

Ovo će instalirati ONLYOFFICE Docs i sve zavisnosti koje su mu potrebne (spisak onoga što skripta radi možete pronaći ovde).

Dodajte izuzetak za firewall

Takođe morate dodati izuzetak za servis firewalld.service:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

Kada je konfiguracija završena, možete uneti http://localhost u adresnu traku vašeg pretraživača da otvorite početnu stranicu ONLYOFFICE Docs, gde ćete pronaći dalja uputstva o tome kako omogućiti primere dokumenata ili integrisati online editore u vašu web aplikaciju koristeći dostupni API.

Skladištenje podataka van kontejnera

Svi podaci se skladište u posebno određenim direktorijumima, volumenima podataka, na sledećim lokacijama:

  • /var/log/onlyoffice za logove ONLYOFFICE Docs
  • /var/www/onlyoffice/Data za sertifikate
  • /var/lib/onlyoffice za keš fajlova
  • /var/lib/postgresql za bazu podataka
Preporučujemo Preporučujemo da skladištite podatke van Docker kontejnera na host mašini jer vam to omogućava da lako ažurirate ONLYOFFICE Docs kada nova verzija bude objavljena bez gubitka podataka.

Da biste dobili pristup svojim podacima koji se nalaze van kontejnera, potrebno je montirati volumene. To se može uraditi navođenjem opcije -v u komandi docker run.

sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --restart=always \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de
Imajte na umu da, u slučaju da pokušavate montirati foldere koji još nisu kreirani, ti folderi će biti kreirani, ali će pristup njima biti ograničen. Moraćete ručno promeniti njihova prava pristupa.

Obično nije potrebno čuvati podatke kontejnera jer rad kontejnera ne zavisi od njegovog stanja. Čuvanje podataka će biti korisno:

  • za lak pristup podacima kontejnera, kao što su logovi;
  • za uklanjanje ograničenja veličine podataka unutar kontejnera;
  • pri korišćenju servisa pokrenutih van kontejnera kao što su PostgreSQL, Redis, RabbitMQ.

Pokretanje ONLYOFFICE Docs koristeći HTTPS

sudo docker run -i -t -d -p 443:443 --security-opt seccomp=unconfined --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de

Pristup aplikaciji onlyoffice može biti osiguran korišćenjem SSL-a kako bi se sprečio neovlašćen pristup. Dok CA sertifikovani SSL sertifikat omogućava verifikaciju poverenja putem CA, samopotpisani sertifikati takođe mogu pružiti jednak nivo verifikacije poverenja sve dok svaki klijent preduzme dodatne korake da verifikuje identitet vaše veb stranice. Uputstva za postizanje ovoga su data u nastavku.

Da biste osigurali aplikaciju putem SSL-a, u osnovi su potrebne dve stvari:

  • Privatni ključ (.key)
  • SSL sertifikat (.crt)

Stoga treba da kreirate i instalirate sledeće fajlove:

/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt

Kada koristite CA sertifikovane sertifikate (npr. Let's Encrypt), ove fajlove vam obezbeđuje CA. Ako koristite samopotpisane sertifikate, morate sami generisati ove fajlove samostalno.

Prebacivanje ONLYOFFICE Docs na HTTPS koristeći certbot

Najlakši način da prebacite ONLYOFFICE Docs na HTTPS je da automatski dobijete Let's Encrypt SSL sertifikate koristeći certbot.

Pokrenite ONLYOFFICE Docs Docker kontejner, navodeći portove 80 i 443 i postavljajući svoje vrednosti za varijable:

sudo docker run -i -t -d -p 80:80 -p 443:443 --security-opt seccomp=unconfined --restart=always \
    -e LETS_ENCRYPT_DOMAIN=yourdomain.com -e LETS_ENCRYPT_MAIL=email@example.com -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de

Gde:

  • LETS_ENCRYPT_DOMAIN - naziv domena koji će se koristiti za sertifikat.
  • LETS_ENCRYPT_MAIL - email koji se koristi za registraciju i kontakt za oporavak.

CA-signed sertifikat sa letsencrypt.org će biti automatski generisan i instaliran na vaš server. Sada bi vaš ONLYOFFICE Docs trebao biti dostupan na adresi https://yourdomain.com.

Generisanje samopotpisanih sertifikata

Generisanje samopotpisanih SSL sertifikata uključuje jednostavnu proceduru u 3 koraka

KORAK 1: Kreirajte privatni ključ servera

openssl genrsa -out onlyoffice.key 2048

KORAK 2: Kreirajte zahtev za potpisivanje sertifikata (CSR)

openssl req -new -key onlyoffice.key -out onlyoffice.csr

KORAK 3: Potpišite sertifikat koristeći privatni ključ i CSR

openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt

Sada ste generisali SSL sertifikat koji je važeći 365 dana.

Jačanje sigurnosti servera

Ovaj odeljak vam pruža uputstva za jačanje sigurnosti vašeg servera.

Da biste to postigli, potrebno je generisati jače DHE parametre.

openssl dhparam -
  
out dhparam.pem 2048
Instalacija SSL sertifikata

Od četiri fajla generisana iznad, potrebno je instalirati fajlove onlyoffice.key, onlyoffice.crt i dhparam.pem na onlyoffice serveru. CSR fajl nije potreban, ali obavezno napravite sigurnosnu kopiju fajla (za slučaj da vam ikada ponovo zatreba).

Podrazumevana putanja koju onlyoffice aplikacija koristi za SSL sertifikate je /var/www/onlyoffice/Data/certs, međutim, ovo se može promeniti pomoću konfiguracionih opcija SSL_KEY_PATH, SSL_CERTIFICATE_PATH i SSL_DHPARAM_PATH.

Putanja /var/www/onlyoffice/Data/ je putanja skladišta podataka, što znači da morate kreirati folder nazvan certs unutar /app/onlyoffice/DocumentServer/data/ i kopirati fajlove u njega, a kao meru bezbednosti ažuriraćete dozvole na fajlu onlyoffice.key tako da bude čitljiv samo vlasniku.

mkdir -p /app/onlyoffice/DocumentServer/data/certs
cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/
cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/
chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key

I restartujte Docker kontejner:

sudo docker restart {{DOCUMENT_SERVER_ID}}

Sada ste samo jedan korak udaljeni od osiguranja naše aplikacije.

Dostupni parametri konfiguracije
Molimo vas da se obratite opcijama komande docker run za zastavicu --env-file, gde možete navesti sve potrebne promenljive okruženja u jednoj datoteci. Ovo će vas spasiti od pisanja potencijalno duge docker run komande.

U nastavku je kompletna lista parametara koji se mogu postaviti pomoću promenljivih okruženja.

  • ONLYOFFICE_HTTPS_HSTS_ENABLED: Napredna opcija konfiguracije za isključivanje HSTS konfiguracije. Primjenjivo samo kada se koristi SSL. Podrazumevana vrednost je true.
  • ONLYOFFICE_HTTPS_HSTS_MAXAGE: Napredna opcija konfiguracije za postavljanje maksimalnog trajanja HSTS u onlyoffice NGINX vHost konfiguraciji. Primjenjivo samo kada se koristi SSL. Podrazumevana vrednost je 31536000.
  • SSL_CERTIFICATE_PATH: Putanja do SSL sertifikata koji će se koristiti. Podrazumevana vrednost je /var/www/onlyoffice/Data/certs/tls.crt.
  • SSL_KEY_PATH: Putanja do privatnog ključa SSL sertifikata. Podrazumevana vrednost je /var/www/onlyoffice/Data/certs/tls.key.
  • SSL_DHPARAM_PATH: Putanja do Diffie-Hellman parametra. Podrazumevana vrednost je /var/www/onlyoffice/Data/certs/dhparam.pem.
  • SSL_VERIFY_CLIENT: Omogućava verifikaciju klijentskih sertifikata pomoću CA_CERTIFICATES_PATH file. Podrazumevana vrednost je false.
  • DB_TYPE: Tip baze podataka. Podržane vrednosti su postgres, mariadb ili mysql. Podrazumevana vrednost je postgres.
  • DB_HOST: IP adresa ili ime hosta gde se pokreće server baze podataka.
  • DB_PORT: Broj porta servera baze podataka.
  • DB_NAME: Ime baze podataka koja će biti kreirana pri pokretanju slike.
  • DB_USER: Novi korisnički naziv sa superuser dozvolama za nalog baze podataka.
  • DB_PWD: Lozinka postavljena za nalog baze podataka.
  • AMQP_URI: AMQP URI za povezivanje sa serverom za razmenu poruka.
  • AMQP_TYPE: Tip servera za razmenu poruka. Podržane vrednosti su rabbitmq ili activemq. Podrazumevana vrednost je rabbitmq.
  • REDIS_SERVER_HOST: IP adresa ili ime hosta gde se pokreće Redis server.
  • REDIS_SERVER_PORT: Broj porta Redis servera.
  • NGINX_WORKER_PROCESSES: Definiše broj NGINX radnih procesa.
  • NGINX_WORKER_CONNECTIONS: Postavlja maksimalan broj istovremenih veza koje NGINX radni proces može otvoriti.
  • SECURE_LINK_SECRET: Definiše tajnu za nginx config direktivu secure_link_md5. Podrazumevana vrednost je random string.
  • JWT_ENABLED: Specifikuje omogućavanje validacije JSON web tokena od strane ONLYOFFICE Docs. Podrazumevana vrednost je true.
  • JWT_SECRET: Definiše tajni ključ za validaciju JSON web tokena u zahtevu ka ONLYOFFICE Docs. Podrazumevana vrednost je nasumična vrednost.
  • JWT_HEADER: Definiše HTTP zaglavlje koje će se koristiti za slanje JSON web tokena. Podrazumevana vrednost je Authorization.
  • JWT_IN_BODY: Specifikuje omogućavanje validacije tokena u telu zahteva ka ONLYOFFICE Docs. Podrazumevana vrednost je false.
  • WOPI_ENABLED: Specifikuje omogućavanje wopi handlera. Podrazumevana vrednost je false.
  • USE_UNAUTHORIZED_STORAGE: Postavite na true ako koristite samopotpisane sertifikate za vaš server za skladištenje, npr. Nextcloud. Podrazumevana vrednost je false.
  • GENERATE_FONTS: Kada je true, regeneriše listu fontova i sličice fontova itd. pri svakom pokretanju. Podrazumevana vrednost je true.
  • METRICS_ENABLED: Specifikuje omogućavanje StatsD za ONLYOFFICE Docs. Podrazumevana vrednost je false.
  • METRICS_HOST: Definiše host za slušanje StatsD. Podrazumevana vrednost je localhost.
  • METRICS_PORT: Definiše port za slušanje StatsD. Podrazumevana vrednost je 8125.
  • METRICS_PREFIX: Definiše prefiks za StatsD metrike za backend servise. Podrazumevana vrednost je ds..
  • LETS_ENCRYPT_DOMAIN: Definiše domen za Let's Encrypt sertifikat.
  • LETS_ENCRYPT_MAIL: Definiše email adresu administratora domena za Let's Encrypt sertifikat.

Registracija vaše Developer Edition verzije

Ako ste kupili Developer Edition i dobili license.lic fajl, možete ga postaviti u vašu instalaciju da biste dobili punu verziju softvera.

Kada koristite docker kontejner, license.lic fajl može biti postavljen u bilo koji folder (npr. /app/onlyoffice/DocumentServer/data/license.lic), ali ćete morati da montirate ovaj folder prilikom pokretanja kontejnera:

sudo docker run -i -t -d -p 80:80 --security-opt seccomp=unconfined --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de

Nakon toga, vaša verzija Developer Edition će biti registrovana i sa svim funkcionalnostima.

Članak sa oznaka:
Pregledajte sve oznake