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

Instalacija ONLYOFFICE Docs za Docker na lokalnom serveru

Uvod

Community Edition vam omogućava da instalirate ONLYOFFICE Docs na vaš lokalni server i integrišete online uređivače sa ONLYOFFICE platformom za saradnju ili drugim popularnim sistemima.

ONLYOFFICE Docs je online kancelarijski paket koji sadrži preglednike i uređivače 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

  • Uređivač dokumenata
  • Uređivač tabela
  • Uređivač prezentacija
  • Preglednici za mobilne uređaje
  • 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 Community Edition.

Korišćenjem unutar ONLYOFFICE Workspace, bićete u mogućnosti da:

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

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

Sistemski zahtevi
  • CPU: dual core 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 za instalaciju na Docker sajtu da 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 na fajl /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 zasnovane 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

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
Važno Počevši od verzije 7.2, dodali smo nasumično generisanje JWT tajne. Ako JWT tajna nije navedena pomoću promenljive okruženja, to dovodi do njenog ponovnog generisanja tokom svakog ponovnog pokretanja VM-ova ili fizičkog servera, pa mogu nastati problemi 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.

Koristite ovu komandu ako želite da instalirate ONLYOFFICE Docs odvojeno. Za instalaciju ONLYOFFICE Docs integrisanog sa ONLYOFFICE Workspace i ONLYOFFICE Mail, pogledajte odgovarajuće instrukcije ispod.

Podrazumevano, ONLYOFFICE Docs sluša dolazne veze 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
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 naći ovde).

Provera instalacije

Kada je kontejner pokrenut, otvorite http://localhost (ili IP adresu vašeg servera) u pretraživaču. Trebalo bi da se pojavi početna stranica ONLYOFFICE Docs, potvrđujući da je instalacija uspešna.

Ako se početna stranica ne pojavi, proverite logove kontejnera za greške:

sudo docker logs <CONTAINER_ID>

Česti problemi:

  • Port 80 je već u upotrebi od strane druge aplikacije. Zaustavite aplikaciju koja pravi konflikt ili koristite drugi port sa -p <PORT_NUMBER>:80.
  • Kontejner se stalno restartuje. Proverite logove za greške u vezi sa bazom podataka ili nedovoljnom memorijom.
  • "Veza odbijena" u pretraživaču. Sačekajte 1–2 minuta — prvo pokretanje traje duže jer se baza podataka inicijalizuje.

Skladištenje podataka van kontejnera

Svi podaci se skladište u posebno dizajniranim direktorijumima, volumenima podataka, 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 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 dobili pristup vašim podacima koji se nalaze van kontejnera, potrebno je da montirate volumene. To se može uraditi navođenjem 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
Napominjemo da, u slučaju da pokušavate da montirate foldere koji još nisu kreirani, ti folderi će biti kreirani, ali će pristup njima biti ograničen. Moraćete ručno da promenite njihova prava pristupa.

Obično nije potrebno skladištiti 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;
  • kada koristite servise pokrenute 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

Pristup ONLYOFFICE aplikaciji 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šeg sajta. Uputstva za postizanje ovoga su data ispod.

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

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

Stoga je potrebno 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, 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

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.

Certifikat potpisan od strane letsencrypt.org CA ć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 važi 365 dana.

Jačanje sigurnosti servera

Ovaj odeljak 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 ga obavezno sigurnosno kopirajte (za slučaj da vam zatreba ponovo).

Podrazumevana putanja na kojoj je onlyoffice aplikacija konfigurisana da traži SSL sertifikate je /var/www/onlyoffice/Data/certs, međutim, ovo se može promeniti pomoću opcija konfiguracije SSL_KEY_PATH, SSL_CERTIFICATE_PATH i SSL_DHPARAM_PATH.

Putanja /var/www/onlyoffice/Data/ je putanja za skladištenje 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 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 osiguravanja 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.

Ispod 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. Podrazumevano 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. Podrazumevano je 31536000.
  • SSL_CERTIFICATE_PATH: Putanja do SSL sertifikata koji se koristi. Podrazumevano je /var/www/onlyoffice/Data/certs/tls.crt.
  • SSL_KEY_PATH: Putanja do privatnog ključa SSL sertifikata. Podrazumevano je /var/www/onlyoffice/Data/certs/tls.key.
  • SSL_DHPARAM_PATH: Putanja do Diffie-Hellman parametra. Podrazumevano je /var/www/onlyoffice/Data/certs/dhparam.pem.
  • SSL_VERIFY_CLIENT: Omogućava verifikaciju klijentskih sertifikata koristeći CA_CERTIFICATES_PATH file. Podrazumevano je false.
  • DB_TYPE: Tip baze podataka. Podržane vrednosti su postgres, mariadb ili mysql. Podrazumevano je postgres.
  • DB_HOST: IP adresa ili ime hosta na kojem radi 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 posrednikom poruka.
  • AMQP_TYPE: Tip posrednika poruka. Podržane vrednosti su rabbitmq ili activemq. Podrazumevano je rabbitmq.
  • REDIS_SERVER_HOST: IP adresa ili ime hosta na kojem radi 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 konekcija koje može otvoriti NGINX radni proces.
  • SECURE_LINK_SECRET: Definiše tajnu za nginx config direktivu secure_link_md5. Podrazumevano je random string.
  • JWT_ENABLED: Specifikuje omogućavanje validacije JSON web tokena od strane ONLYOFFICE Docs. Podrazumevano je true.
  • JWT_SECRET: Definiše tajni ključ za validaciju JSON web tokena u zahtevu ka ONLYOFFICE Docs. Podrazumevano je slučajna vrednost.
  • JWT_HEADER: Definiše HTTP zaglavlje koje će se koristiti za slanje JSON web tokena. Podrazumevano je Authorization.
  • JWT_IN_BODY: Specifikuje omogućavanje validacije tokena u telu zahteva ka ONLYOFFICE Docs. Podrazumevano je false.
  • WOPI_ENABLED: Specifikuje omogućavanje wopi rukovalaca. Podrazumevano je false.
  • USE_UNAUTHORIZED_STORAGE: Postavite na true ako koristite samopotpisane sertifikate za vaš server za skladištenje, npr. Nextcloud. Podrazumevano je false.
  • GENERATE_FONTS: Kada je true, regeneriše listu fontova i sličice fontova itd. pri svakom pokretanju. Podrazumevano je true.
  • METRICS_ENABLED: Specifikuje da li je StatsD omogućen za ONLYOFFICE Docs. Podrazumevano je false.
  • METRICS_HOST: Definiše StatsD host za slušanje. Podrazumevano je localhost.
  • METRICS_PORT: Definiše StatsD port za slušanje. Podrazumevano je 8125.
  • METRICS_PREFIX: Definiše StatsD prefiks metrika za backend servise. Podrazumevano je ds..
  • LETS_ENCRYPT_DOMAIN: Definiše domen za Let's Encrypt sertifikat.
  • LETS_ENCRYPT_MAIL: Definiše adresu e-pošte administratora domena za Let's Encrypt sertifikat.

Instalacija ONLYOFFICE Docs integrisana sa ONLYOFFICE Workspace i ONLYOFFICE Mail

ONLYOFFICE Docs je deo ONLYOFFICE Workspace koji takođe obuhvata ONLYOFFICE Community Server, ONLYOFFICE Control Panel i ONLYOFFICE Mail. Ukoliko želite da instalirate sve njih i integrišete ih međusobno, pročitajte ove instrukcije.

Alternativni načini za instalaciju ONLYOFFICE Docs

Alternativno, možete koristiti automatski skript za instalaciju kako biste instalirali ceo Workspace odjednom. Da bi mail server ispravno radio, potrebno je da navedete njegovo ime hosta yourdomain.com.

KORAK 1: Preuzmite datoteku skripta za instalaciju

Izvršite sledeću komandu:

curl -O https://download.onlyoffice.com/install/workspace-install.sh

KORAK 2: Instalirajte Workspace

Pokrenite sledeću komandu da to uradite:

bash workspace-install.sh -md yourdomain.com

Ili možete koristiti docker-compose za instalaciju ONLYOFFICE Docs. Pogledajte instrukcije ovde kako to uraditi.

Postavljanje ONLYOFFICE Docs za ipv6

Radi i podržano je samo za Linux hostove

Docker trenutno ne obezbeđuje ipv6 adrese kontejnerima po defaultu. Ova funkcija je trenutno eksperimentalna.

Da biste postavili interakciju putem ipv6, potrebno je da omogućite 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"
    }
  • restartujte docker sa 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.

Članak sa oznaka:
Pregledajte sve oznake