Teško je podcijeniti vrijednost online uredskih paketa kao što su Google dokumenti i pohrana u oblaku u životima ljudi orijentiranih na tehnologiju. Tehnologija je postala toliko raširena da se čak i Microsoft, koji je dugo dominirao tržištem uredskih aplikacija, nedavno fokusirao na razvoj Office 365 web aplikacije i uvjeravanje korisnika da pređu na pretplatnički model za korištenje vlastitih usluga. Pozivamo one koji su zainteresirani za proces instaliranja i konfiguracije vlastitog skladišta pod kat.
Prije nekog vremena pogledali smo rješenja za pohranu u oblaku i open source web uredske pakete koji bi se lako mogli primijeniti za korištenje u mikro poduzećima. Glavna motivacija za držanje cjelokupne dokumentacije na mreži je da se papirologija svede na minimum i implementira dobru poslovnu praksu uprkos malom obimu transakcija. Druga strana medalje je da je iznajmljivanje servera u oblaku za pružanje ove usluge manje bezbedno od skladištenja direktno u prostorijama preduzeća, budući da nemate nikakav način revizije fizičkog pristupa vašem serveru ili saobraćaju. Stoga su također potrebni end-to-end enkripcija i softver otvorenog koda.
Uzimajući u obzir sve dostupne informacije o rješenjima otvorenog koda, pronašli smo dva aktivna projekta (sa urezivanja u git repozitoriju u posljednjih 12 mjeseci) razvijena za pohranu u oblaku: NextCloud i OwnCloud, i jedini aktivni ONLYOFFICE uredski paket. Oba alata za skladištenje u oblaku imaju otprilike istu funkcionalnost, a odluka da se izabere NextCloud zasnovana je na postojanju dokaza da se može integrirati sa ONLYOFFICE za ugodnu interakciju korisnika sa softverom. Međutim, kada smo počeli sa implementacijom servisa, postao je očigledan nedostatak informacija o integraciji navedenih servisa. Pronašli smo 3 tutorijala o tome kako se integrirati:
Nijedan od tri videa nije odgovorio na pitanje o instalaciji usluge dokumenata ONLYOFFICE na istom fizičkom serveru kao NextCloud sa zajedničkim nginxom. Umjesto toga, koristili su tehnike razdvajanja kao što je korištenje odvojenih portova za API servisa dokumenata. Drugi prijedlog je bio da se postavi poseban server za Document Service, ručno konfigurirajući nginx instancu ugrađenu u Document Service da instalira pristupni ključ (unaprijed poznati pristupni ključ koji potvrđuje pravo pristupa oblaku podataka) i TLS certifikate. Gornji pristupi su smatrani nebezbednim i nedovoljno efikasnim, pa smo integrisali NextCloud, ONLYOFFICE i uobičajeni nginx koji razdvaja zahteve po imenima domena koristeći docker-compose. Evo informacija korak po korak o tome kako to učiniti.
Korak 1: nginx kontejner
Ovo je vrlo jednostavno podešavanje, ali ovaj korak zahtijeva najviše posla na konfiguraciji obrnutog proxy servera. Prvo smo kreirali konfiguraciju docker-compose za sliku nginx:stable.
Ovo kreira kontejner sa portovima 80 i 443 otvorenim za javnost, mapira konfiguraciju u nginx/nginx-vhost.conf i definiše skladište za sertifikate generisane kao samopotpisani sertifikati ili koristeći Let's encrypt's certbot u /nginx/certificates. Ova lokacija treba da sadrži fascikle za office.yourdomain.com i cloud.yourdomain.com, sa fullchain1.pem i privkey1.pem datotekama u svakoj za lanac sertifikata i privatni ključ servera, respektivno. Više o tome kako generirati samopotpisani certifikat možete pročitati ovdje. www.akadia.com/services/ssh_test_certificate.html (preimenovanje .key i .crt u .pem radi bez konverzije strukture datoteke za nginx).
Nakon toga, definirali smo datoteku vhost. Prvo definiramo ponašanje porta 80 kao jednostavno preusmjeravanje na https, jer ne želimo dozvoliti nikakav http saobraćaj
Ali ne zaboravite da povežete nginx kontejner sa uslugom dokumenata:
services:
...
nginx:
...
depends_on:
- onlyoffice
Korak 3: NextCloud
Prvo dodajte nove usluge:
services:
...
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- /data/nextcloud_db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=#put some password here
- MYSQL_PASSWORD=#put some other password here
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
depends_on:
- db
- onlyoffice
restart: always
i dodajte link na nginx:
services:
...
nginx:
...
depends_on:
- app
Sada je vrijeme za punjenje kontejnera.
docker-compose up -d
Nakon nekog vremena, nginx će vas početi preusmjeravati na NextCloud front end, koji je zadana stranica za konfiguraciju. Moraćete da unesete korisničko ime i lozinku za svog prvog administratora i akreditive baze podataka koje ste dali u docker-compose.yml Kada se podešavanje završi, moći ćete da se prijavite. U našem slučaju, čekanje je trajalo skoro minut i zahtijevalo je dodatno osvježavanje stranice za prijavu prije nego što smo se mogli prijaviti na uslugu u oblaku.
Prozor postavki usluge NextCloud
Korak 4: Povezivanje NextCloud i ONLYOFFICE
U ovom koraku morat ćete instalirati aplikaciju za NextCloud, koja povezuje ONLYOFFICE funkcionalnost. Počnimo sa kontrolnom pločom aplikacije u gornjem desnom uglu menija. Pronađite aplikaciju ONLYOFFICE (pod Office & text ili koristeći pretragu), instalirajte je i aktivirajte.
Nakon toga idite na Postavke preko menija u gornjem desnom uglu i trebali biste pronaći ONLYOFFICE stavku u lijevom meniju. Idi u to. Morat ćete registrirati adrese kao što je navedeno u nastavku.
Postavke aplikacije integracije
Prva adresa se koristi za povezivanje sa nekim js i css datotekama direktno iz aplikacije koja radi u pretraživaču (ovo je ono što nam je potrebno da otvorimo pristup servisu ONLYOFFICE preko nginxa). Tajni ključ se ne koristi jer više vjerujemo Docker izolacijskom sloju nego trajnom ključu za autentifikaciju. Treću adresu koristi NextCloud kontejner za direktno povezivanje sa ONLYOFFICE API-jem i koristi podrazumevano interno ime hosta iz Dockera. Pa, zadnje polje se koristi tako da ONLYOFFICE može uputiti zahtjeve natrag na NextCloud API koristeći eksternu IP adresu ili internu Docker adresu ako koristite Docker mreže, ali to se ne koristi u našem slučaju. Uvjerite se da postavke zaštitnog zida dozvoljavaju ove vrste interakcija.
Nakon spremanja, NextCloud će testirati vezu i, ako je sve ispravno, pokazaće vam postavke vezane za integraciju - na primjer, koje vrste datoteka se mogu uređivati ovom integracijom. Prilagodite kako vam odgovara.
Poslednji korak: gde pronaći urednika
Ako se vratite u svoje mape za pohranu u oblaku i kliknete na “+” da kreirate novu datoteku, tada ćete imati novu opciju za kreiranje dokumenta, proračunske tablice ili prezentacije. Uz njihovu pomoć, kreirat ćete i odmah moći uređivati ove vrste datoteka koristeći ONLYOFFICE.