- Početna
- Dokumenti
- Instalacija i konfiguracija
- Programer
- Verzija Dockera
- Instalacija ONLYOFFICE Docs za Docker na lokalnom serveru
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
-
CPUdvojezgarni 2 GHz ili bolji
-
RAM4 GB ili više
-
HDDnajmanje 40 GB slobodnog prostora
-
SWAPnajmanje 4 GB, ali zavisi od operativnog sistema domaćina. Više je bolje
-
OSamd64 Linux distribucija sa kernel verzijom 3.10 ili novijom
-
Dodatni zahtevi
- Docker: bilo koja verzija podržana od strane Docker tima
Instalacija ONLYOFFICE Docs
/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:
-
Kreirajte konfiguracioni fajl
/etc/docker/daemon.jsonsa sledećim sadržajem:{ "dns" : [ "8.8.8.8" ] } -
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
-e JWT_SECRET=my_jwt_secret.
Ako ne planirate da koristite JWT u vašoj instalaciji, koristite -e JWT_ENABLED=false.
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).
Skladištenje podataka van kontejnera
Svi podaci se skladište u posebno određenim direktorijumima, data volumes, na sledećoj lokaciji:
/var/log/onlyofficeza logove ONLYOFFICE Docs/var/www/onlyoffice/Dataza sertifikate/var/lib/onlyofficeza keš fajlova/var/lib/postgresqlza bazu 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
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
--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 jefalse. - DB_TYPE: Tip baze podataka. Podržane vrednosti su
postgres,mariadbilimysql. Podrazumevana vrednost jepostgres. - 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
rabbitmqiliactivemq. Podrazumevana vrednost jerabbitmq. - 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
trueako koristite samopotpisane sertifikate za vaš server za skladištenje, npr. Nextcloud. Podrazumevana vrednost jefalse. - GENERATE_FONTS: Kada je
true, regeneriše listu fontova i sličice fontova itd. pri svakom pokretanju. Podrazumevana vrednost jetrue. - 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
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.jsonsa 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.