- Početna
- Dokumenti
- Instalacija i konfiguracija
- Zajednica
- Verzija Dockera
- Instalacija ONLYOFFICE Docs za Docker na KylinOS
Instalacija ONLYOFFICE Docs za Docker na KylinOS
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 uključuje 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, moći ćete da:
- delite fajlove;
- upravljate pravima pristupa dokumentima;
- ugrađujete dokumente na vebsajt;
- pregledate i uređujete fajlove smeštene na Drive, Box, Dropbox, OneDrive, ownCloud povezane sa ONLYOFFICE.
Počevši od verzije 7.2, Docker slike ONLYOFFICE Docs su prepravljene za rad na Kylin Linux Advanced Server OS verziji V10. Ovaj vodič će vam pokazati kako da instalirate Docker verziju ONLYOFFICE Docs Community Edition na KylinOS.
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 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
/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" ] } - Ponovo pokrenite Docker servis:
sudo systemctl restart docker.service
Onemogućavanje SELinux-a
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 kako bi promene stupile na snagu. Uverite se da je SELinux onemogućen:
[root@test ~]# sestatus
SELinux status: disabled
Instalacija ONLYOFFICE Docs
Izvršite sledeću komandu za instalaciju 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
-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 za onemogućavanje sigurnosnih profila za kontejner. Više detalja možete pronaći ovde.
Možete koristiti i naš prilagođeni sigurnosni profil: kylin-seccomp7.json.
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --security-opt seccomp=unconfined --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 pronaći ovde).
Dodavanje izuzetka za firewall
Takođe je potrebno dodati izuzetak za servis firewalld.service:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
Kada se konfiguracija završi, 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 uređivače u vašu web aplikaciju koristeći dostavljeni API.
Čuvanje podataka van kontejnera
Svi podaci se čuvaju u posebno dizajniranim direktorijumima, data volumes, na sledećim lokacijama:
/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 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
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;
- da se ukloni ograničenje 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
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, osnovno je potrebno sledeće:
- 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 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 Sertifikati koristeći certbot.
Pokrenite ONLYOFFICE Docs Docker kontejner, specificirajući portove 80 i 443 i postavljajući sopstvene vrednosti za promenljive:
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
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-potpisani sertifikat od 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 validan 365 dana.
Jačanje sigurnosti servera
Ovaj deo vam pruža uputstva za jačanje sigurnosti 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 datoteke generisane iznad, potrebno je da instalirate datoteke onlyoffice.key, onlyoffice.crt i dhparam.pem na onlyoffice server. CSR datoteka nije potrebna, ali je obavezno sigurno sačuvajte (u slučaju da vam ikada ponovo zatreba).
Podrazumevana putanja koju onlyoffice aplikacija koristi za SSL sertifikate je /var/www/onlyoffice/Data/certs, međutim, to se može promeniti koristeći opcije 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 datoteke u njega, a kao meru sigurnosti ažuriraćete dozvole na datoteci onlyoffice.key da bude čitljiva 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 osiguranja naše aplikacije.
Dostupni parametri konfiguracije
docker run komande, možete sačuvati sve promenljive okruženja u običnoj tekstualnoj datoteci i proslediti je koristeći --env-file zastavicu:
sudo docker run ... --env-file /path/to/your.env onlyoffice/documentserver
U nastavku je kompletna lista parametara koji se mogu postaviti koristeći promenljive 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 prilikom pokretanja 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
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.
- NGINX_WORKER_PROCESSES: Definiše broj NGINX radnih procesa.
- NGINX_WORKER_CONNECTIONS: Postavlja maksimalan broj istovremenih konekcija 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 rukovalaca. Podrazumevana vrednost je
false. - USE_UNAUTHORIZED_STORAGE: Postavite na
trueako koristite samopotpisane sertifikate za vaš skladišni server, 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 da li je StatsD omogućen za ONLYOFFICE Docs. Podrazumevana vrednost je
false. - METRICS_HOST: Definiše StatsD host za slušanje. Podrazumevana vrednost je
localhost. - METRICS_PORT: Definiše StatsD port za slušanje. Podrazumevana vrednost je
8125. - METRICS_PREFIX: Definiše StatsD prefiks za metrike za pozadinske 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.