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

Instalacija ONLYOFFICE Docs za Docker na lokalnom serveru

Uvod

Developer Edition vam omogućava da instalirate ONLYOFFICE Docs na vaš lokalni server i integrišete online editore sa vašom web aplikacijom.

ONLYOFFICE Docs je online kancelarijski paket koji sadrži preglednike i editore za tekstove, tabele i prezentacije, potpuno kompatibilan 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 Edition.

Ovaj vodič će vam pokazati kako da instalirate ONLYOFFICE Docs Developer Edition Docker verziju na vaš uređaj.

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 operativnog sistema domaćina. Više je bolje
  • OS
    amd64 Linux distribucija sa kernel verzijom 3.10 ili novijom
  • Dodatni zahtevi
    • Docker: bilo koja verzija podržana od strane Docker tima

Instalacija ONLYOFFICE Docs

Potrebna vam je najnovija verzija Dockera. Ako je nemate, pogledajte sekciju o instalaciji na Docker sajtu kako biste saznali kako da je nabavite.
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. Restartujte Docker servis:
    
    sudo systemctl restart docker.service

Nakon što instalirate Docker, pokrenite ga i izvršite sledeću komandu:

sudo docker run -i -t -d -p 80:80 --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 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.

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 porta tokom instalacije:
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --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 (lista onoga što skripta radi može se pronaći ovde).

Važno Slika nije kompatibilna sa Kubernetes instalacijom. Za više informacija o dobijanju ONLYOFFICE Docs na Kubernetes, molimo vas da pogledate sledeći vodič.

Skladištenje podataka van kontejnera

Svi podaci se skladište u posebno određenim direktorijumima, data volumes, na sledećoj lokaciji:

  • /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 Toplo preporučujemo da skladištite podatke van Docker kontejnera na host mašini jer vam to omogućava lako ažuriranje ONLYOFFICE Docs kada se nova verzija objavi, bez gubitka podataka.

Da biste pristupili vašim podacima koji se nalaze van kontejnera, potrebno je da montirate volumene. To se može uraditi specificiranjem opcije -v u docker run komandi.

sudo docker run -i -t -d -p 80:80 --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
Napomena: ako pokušavate da montirate foldere koji još nisu kreirani, ti folderi će biti kreirani, ali će pristup njima biti ograničen. Morate ručno promeniti prava pristupa.

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

  • za lak pristup podacima kontejnera, kao što su logovi;
  • za uklanjanje ograničenja na veličinu 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 --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šćeni pristup. Dok CA sertifikovani SSL sertifikat omogućava proveru poverenja putem CA, samopotpisani sertifikati takođe mogu pružiti jednak nivo provere 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, osnovno je potrebno imati dve stvari:

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

Stoga je potrebno kreirati i instalirati 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, potrebno je da generišete ove fajlove sami.

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

sudo docker run -i -t -d -p 80:80 -p 443:443 --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 - ime domena koje ć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 deo vam pruža uputstva kako da ojačate sigurnost vašeg servera.

Da biste to postigli, potrebno je da generišete jače DHE parametre.

openssl dhparam -out dhparam.pem 2048
Instalacija SSL sertifikata

Od četiri generisana fajla, potrebno je instalirati onlyoffice.key, onlyoffice.crt i dhparam.pem fajlove na onlyoffice server. CSR fajl nije potreban, ali se pobrinite da ga bezbedno sačuvate (u slučaju da vam ikada ponovo zatreba).

Podrazumevana putanja na kojoj je onlyoffice aplikacija konfigurisana da traži SSL sertifikate je /var/www/onlyoffice/Data/certs, ali se to može promeniti korišćenjem opcija konfiguracije 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 sigurnosti ažuriraćete dozvole na fajlu onlyoffice.key da bude čitljiv samo od strane vlasnika.

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

I ponovo pokrenite Docker kontejner:

sudo docker restart {{DOCUMENT_SERVER_ID}}

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

Dostupni parametri konfiguracije
Molimo vas da pogledate opcije 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 komande docker run.

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 HSTS max-age 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 koristeći 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: Novo korisničko ime sa superuser dozvolama za nalog baze podataka.
  • DB_PWD: Lozinka postavljena za nalog baze podataka.
  • AMQP_URI: AMQP URI za povezivanje sa serverom poruka.
  • AMQP_TYPE: Tip servera 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.
  • REDIS_SERVER_PASS: Lozinka za Redis server. Lozinka nije postavljena po podrazumevanju.
  • NGINX_WORKER_PROCESSES: Definiše broj NGINX radnih procesa.
  • NGINX_WORKER_CONNECTIONS: Postavlja maksimalan broj istovremenih konekcija koje može otvoriti NGINX radni proces.
  • 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.
  • ALLOW_META_IP_ADDRESS: Definiše da li je dozvoljeno povezivanje meta IP adrese ili ne. Podrazumevana vrednost je false.
  • ALLOW_PRIVATE_IP_ADDRESS: Definiše da li je dozvoljeno povezivanje privatne IP adrese ili ne. 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.

ONLYOFFICE Docs IPv6 podešavanje

Radi i podržano je samo za Linux hostove

Docker trenutno ne obezbeđuje IPv6 adrese kontejnerima po podrazumevanju. Ova funkcija je trenutno eksperimentalna.

Da biste postavili interakciju putem IPv6, potrebno je omogućiti podršku za ovu funkciju u vašem Dockeru. Za to vam je potrebno:

  • kreirajte datoteku /etc/docker/daemon.json sa sledećim sadržajem:
    {
    "ipv6": true,
    "fixed-cidr-v6": "2001:db8:abc1::/64"
    }
  • ponovo pokrenite docker sledećom komandom: systemctl restart docker

Nakon toga, svi pokrenuti kontejneri dobijaju IPv6 adresu i imaju inet6 interfejs.

Možete proveriti vašu podrazumevanu bridge mrežu i videti polje EnableIPv6=true. Takođe će biti dodat novi IPv6 subnet.

Za više informacija, posetite zvaničnu Docker stranicu sa uputstvima

Registracija vaše Developer Edition verzije

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

Kada koristite docker kontejner, datoteku license.lic možete postaviti u bilo koji folder (npr. /app/onlyoffice/DocumentServer/data/license.lic), ali ćete morati montirati ovaj folder kada se kontejner pokrene:

sudo docker run -i -t -d -p 80:80 --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