Težko je podcenjevati vrednost spletnih pisarniških paketov, kot sta Google Dokumenti in shramba v oblaku, v življenju tehnološko usmerjenih ljudi. Tehnologija je postala tako razširjena, da se je celo Microsoft, ki že dolgo obvladuje trg pisarniških aplikacij, v zadnjem času osredotočil na razvoj spletne aplikacije Office 365 in prepričeval uporabnike, da preidejo na naročniški model uporabe lastnih storitev. Vabimo tiste, ki jih zanima postopek namestitve in konfiguracije lastnega pomnilnika pod kat.
Pred časom smo si ogledali rešitve za shranjevanje v oblaku in odprtokodne spletne pisarniške pakete, ki bi jih bilo mogoče preprosto namestiti za uporabo v mikropodjetjih. Glavna motivacija za ohranjanje celotne dokumentacije na spletu je zmanjšanje papirologije na minimum in izvajanje dobrih poslovnih praks kljub majhnemu obsegu transakcij. Druga stran kovanca je, da je najem strežnika v oblaku za zagotavljanje te storitve manj varen kot njegovo shranjevanje neposredno v prostorih podjetja, saj nimate nobenih sredstev za nadzor fizičnega dostopa do vašega strežnika ali prometa. Zato sta potrebna tudi šifriranje od konca do konca in odprtokodna programska oprema.
Ob upoštevanju vseh razpoložljivih informacij o odprtokodnih rešitvah smo našli dva aktivna projekta (s komiti v repozitoriju git zadnjih 12 mesecev), razvita za shranjevanje v oblaku: NextCloud in OwnCloud ter edini aktiven pisarniški paket ONLYOFFICE. Obe orodji za shranjevanje v oblaku imata približno enako funkcionalnost in odločitev za izbiro NextCloud je temeljila na obstoju dokazov, da ga je mogoče integrirati z ONLYOFFICE za udobno interakcijo uporabnika s programsko opremo. Ko pa smo začeli uvajati storitve, je postalo očitno pomanjkanje informacij o integraciji zgornjih storitev. Našli smo 3 videoposnetke z navodili za integracijo:
Noben od treh videoposnetkov ni odgovoril na vprašanje o namestitvi dokumentne storitve ONLYOFFICE na isti fizični strežnik kot NextCloud z deljenim nginxom. Namesto tega so uporabili tehnike ločevanja, kot je uporaba ločenih vrat za API storitve dokumentov. Drugi predlog je bil uvesti ločen strežnik za Document Service, ročno konfigurirati instanco nginx, vgrajeno v Document Service, za namestitev ključa za dostop (vnaprej znan ključ za dostop, ki potrjuje pravico do dostopa do podatkovnega oblaka) in potrdil TLS. Zgornji pristopi so bili ocenjeni kot nevarni in premalo učinkoviti, zato smo integrirali NextCloud, ONLYOFFICE in skupni nginx, ki ločuje zahteve po imenih domen s pomočjo docker-compose. Tukaj so informacije po korakih, kako to storiti.
1. korak: vsebnik nginx
To je zelo preprosta nastavitev, vendar ta korak zahteva največ dela za konfiguracijo obratnega proxy strežnika. Najprej smo ustvarili konfiguracijo docker-compose za sliko nginx:stable.
To ustvari vsebnik z vrati 80 in 443, odprtimi za javnost, preslika konfiguracijo v nginx/nginx-vhost.conf in definira shrambo za potrdila, ustvarjena kot samopodpisana potrdila ali z uporabo certbota podjetja Let's encrypt v /nginx/certificates. Ta lokacija mora vsebovati mapi za office.yourdomain.com in cloud.yourdomain.com, z datotekama fullchain1.pem in privkey1.pem v vsaki za verigo potrdil oziroma zasebni ključ strežnika. Več o tem, kako ustvariti samopodpisano potrdilo, si lahko preberete tukaj. www.akadia.com/services/ssh_test_certificate.html (preimenovanje .key in .crt v .pem deluje brez pretvorbe datotečne strukture za nginx).
Po tem smo definirali datoteko vhost. Najprej definiramo vedenje vrat 80 kot preprosto preusmeritev na https, ker ne želimo dovoliti prometa http
Vendar ne pozabite povezati vsebnika nginx s storitvijo dokumentov:
services:
...
nginx:
...
depends_on:
- onlyoffice
3. korak: NextCloud
Najprej dodajte nove storitve:
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
in dodajte povezavo do nginx:
services:
...
nginx:
...
depends_on:
- app
Zdaj je čas za nalaganje zabojnikov.
docker-compose up -d
Čez nekaj časa vas bo nginx začel preusmerjati na sprednji del NextCloud, ki je privzeta konfiguracijska stran. Vnesti boste morali uporabniško ime in geslo za svojega prvega skrbniškega uporabnika ter poverilnice baze podatkov, ki ste jih navedli v docker-compose.yml Ko bo nastavitev končana, se boste lahko prijavili. V našem primeru je čakanje trajalo skoraj minuto in zahtevalo dodatno osvežitev prijavne strani, preden smo se lahko prijavili v storitev v oblaku.
NextCloud okno z nastavitvami storitve
4. korak: Povezovanje NextCloud in ONLYOFFICE
Na tem koraku boste morali namestiti aplikacijo za NextCloud, ki povezuje funkcionalnost ONLYOFFICE. Začnimo z nadzorno ploščo aplikacije v zgornjem desnem kotu menija. Poiščite aplikacijo ONLYOFFICE (pod Office & text ali z iskalnikom), jo namestite in aktivirajte.
Nato pojdite v Nastavitve prek menija v zgornjem desnem kotu in v levem meniju bi morali najti element ONLYOFFICE. Pojdi vanj. Registrirati boste morali naslove, kot je navedeno spodaj.
Nastavitve integracijske aplikacije
Prvi naslov se uporablja za povezavo do nekaterih datotek js in css neposredno iz aplikacije, ki se izvaja v brskalniku (to je tisto, kar potrebujemo, da odpremo dostop do storitve ONLYOFFICE prek nginx). Skrivni ključ se ne uporablja, ker bolj zaupamo izolacijskemu sloju Docker kot obstojnemu ključu za preverjanje pristnosti. Tretji naslov uporablja vsebnik NextCloud za neposredno povezavo z API-jem ONLYOFFICE in uporablja privzeto notranje ime gostitelja iz Dockerja. No, zadnje polje se uporablja, da lahko ONLYOFFICE pošlje zahteve nazaj v API NextCloud z uporabo zunanjega naslova IP ali notranjega naslova Docker, če uporabljate omrežja Docker, vendar se to v našem primeru ne uporablja. Prepričajte se, da nastavitve požarnega zidu dovoljujejo tovrstne interakcije.
Po shranjevanju bo NextCloud preizkusil povezavo in, če je vse pravilno, vam bo pokazal nastavitve, povezane z integracijo – na primer, katere vrste datotek je mogoče urejati s to integracijo. Prilagodite, kot se vam zdi primerno.
Zadnji korak: kje najti urejevalnik
Če se vrnete v svoje mape za shranjevanje v oblaku in kliknete »+«, da ustvarite novo datoteko, boste imeli novo možnost za ustvarjanje dokumenta, preglednice ali predstavitve. Z njihovo pomočjo boste ustvarili in takoj lahko urejali tovrstne datoteke z uporabo ONLYOFFICE.