Sunku nuvertinti internetinių biuro rinkinių, tokių kaip „Google“ dokumentai, ir saugykla debesyje, vertę į technologijas orientuotų žmonių gyvenime. Technologijos taip išplito, kad net „Microsoft“, ilgą laiką dominuojanti biuro programų rinkoje, pastaruoju metu daug dėmesio skyrė „Office 365“ žiniatinklio programos kūrimui ir vartotojų įtikinėjimui pereiti prie prenumeratos modelio, kad galėtų naudotis savo paslaugomis. Kviečiame tuos, kurie domisi savo saugyklos įrengimo ir konfigūravimo procesu po kat.
Prieš kurį laiką žiūrėjome į debesies saugyklos sprendimus ir atvirojo kodo žiniatinklio biuro rinkinius, kuriuos būtų galima lengvai pritaikyti naudoti labai mažoje įmonėje. Pagrindinė motyvacija laikyti visą dokumentaciją internete yra iki minimumo sumažinti popierizmą ir įgyvendinti gerą verslo praktiką, nepaisant mažos operacijų apimties. Kita medalio pusė yra ta, kad debesies serverio nuoma šiai paslaugai teikti yra mažiau saugu nei saugoti tiesiogiai įmonės patalpose, nes jūs neturite jokių fizinės prieigos prie serverio ar srauto audito priemonių. Todėl taip pat reikalingas galutinis šifravimas ir atvirojo kodo programinė įranga.
Atsižvelgdami į visą turimą informaciją apie atvirojo kodo sprendimus, radome du aktyvius projektus (su įsipareigojimais git saugykloje per pastaruosius 12 mėnesių), sukurtus debesies saugyklai: „NextCloud“ ir „OwnCloud“ bei vienintelį aktyvų ONLYOFFICE biuro paketą. Abu debesų saugyklos įrankiai turi maždaug tas pačias funkcijas, o sprendimas pasirinkti „NextCloud“ buvo pagrįstas turimais įrodymais, kad jį galima integruoti su ONLYOFFICE, kad naudotojas galėtų patogiai bendrauti su programine įranga. Tačiau pradėjus diegti paslaugas išryškėjo informacijos apie minėtų paslaugų integravimą trūkumas. Radome 3 mokomuosius vaizdo įrašus, kaip integruoti:
Nė vienas iš trijų vaizdo įrašų neatsakė į klausimą, kaip įdiegti ONLYOFFICE dokumentų paslaugą tame pačiame fiziniame serveryje, kaip ir NextCloud, naudojant bendrinamą nginx. Vietoj to jie naudojo atskyrimo metodus, pvz., naudojo atskirus prievadus dokumentų aptarnavimo API. Kitas pasiūlytas variantas buvo įdiegti atskirą serverį Document Service, rankiniu būdu sukonfigūruojant nginx egzempliorių, integruotą į dokumentų tarnybą, kad būtų įdiegtas prieigos raktas (iš anksto žinomas prieigos raktas, patvirtinantis teisę pasiekti duomenų debesį) ir TLS sertifikatai. Pirmiau minėti metodai buvo laikomi nesaugiais ir nepakankamai efektyviais, todėl integravome NextCloud, ONLYOFFICE ir bendrą nginx, kuris atskiria užklausas pagal domenų pavadinimus, naudodami docker-compose. Čia yra žingsnis po žingsnio informacija, kaip tai padaryti.
1 veiksmas: nginx konteineris
Tai labai paprasta sąranka, tačiau norint sukonfigūruoti atvirkštinį tarpinį serverį, šis veiksmas reikalauja daugiausiai darbo. Pirmiausia sukūrėme nginx: stabilaus vaizdo docker-compose konfigūraciją.
Taip sukuriamas konteineris su 80 ir 443 prievadais, atvirais viešai, konfigūracija susiejama su nginx/nginx-vhost.conf ir apibrėžiama sertifikatų saugykla, sugeneruota kaip savarankiškai pasirašyti sertifikatai arba naudojant Let's encrypt's certbot aplanke /nginx/certificates. Šioje vietoje turėtų būti aplankai, skirti office.yourdomain.com ir cloud.yourdomain.com, su atitinkamais sertifikatų grandinės ir serverio privačiojo rakto failais fullchain1.pem ir privkey1.pem. Daugiau apie tai, kaip sukurti savarankiškai pasirašytą sertifikatą, galite perskaityti čia. www.akadia.com/services/ssh_test_certificate.html (.key ir .crt pervadinimas į .pem veikia nekonvertuojant nginx failo struktūros).
Po to mes apibrėžėme vhost failą. Pirmiausia apibrėžiame 80 prievado veikimą kaip paprastą peradresavimą į https, nes nenorime leisti jokio http srauto
Tačiau nepamirškite susieti nginx konteinerį su dokumentų tarnyba:
services:
...
nginx:
...
depends_on:
- onlyoffice
3 veiksmas: „NextCloud“.
Pirmiausia pridėkite naujų paslaugų:
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
ir pridėkite nuorodą į nginx:
services:
...
nginx:
...
depends_on:
- app
Dabar laikas krauti konteinerius.
docker-compose up -d
Po kurio laiko „nginx“ pradės jus nukreipti į „NextCloud“ sąsają, kuri yra numatytasis konfigūracijos puslapis. Turėsite įvesti pirmojo administratoriaus vartotojo vardą ir slaptažodį bei duomenų bazės kredencialus, kuriuos pateikėte docker-compose.yml Kai sąranka bus baigta, galėsite prisijungti. Mūsų atveju laukimas užtruko beveik minutę ir reikėjo papildomai atnaujinti prisijungimo puslapį, kad galėtume prisijungti prie debesies paslaugos.
„NextCloud“ paslaugos nustatymų langas
4 veiksmas: prijunkite „NextCloud“ ir „ONLYOFFICE“.
Šiame žingsnyje turėsite įdiegti „NextCloud“ programą, kuri sujungia ONLYOFFICE funkciją. Pradėkime nuo programos valdymo skydelio viršutiniame dešiniajame meniu kampe. Raskite programą ONLYOFFICE (skiltyje „Office & text“ arba naudodami paiešką), įdiekite ir suaktyvinkite ją.
Po to eikite į Nustatymai per meniu viršutiniame dešiniajame kampe ir kairiajame meniu turėtumėte rasti elementą ONLYOFFICE. Eikite į jį. Turėsite užregistruoti adresus, kaip nurodyta toliau.
Integravimo programos nustatymai
Pirmasis adresas naudojamas susieti su kai kuriais js ir css failais tiesiai iš naršyklėje veikiančios programos (to mums reikia norint atidaryti prieigą prie ONLYOFFICE paslaugos per nginx). Slaptasis raktas nenaudojamas, nes mes labiau pasitikime Docker izoliacijos sluoksniu nei nuolatiniu autentifikavimo raktu. Trečiąjį adresą naudoja „NextCloud“ konteineris, kad galėtų tiesiogiai prisijungti prie ONLYOFFICE API, ir jis naudoja numatytąjį vidinį pagrindinio kompiuterio pavadinimą iš „Docker“. Na, paskutinis laukas naudojamas tam, kad ONLYOFFICE galėtų pateikti užklausas atgal į NextCloud API naudodamas išorinį IP adresą arba vidinį Docker adresą, jei naudojate Docker tinklus, tačiau mūsų atveju tai nenaudojama. Įsitikinkite, kad ugniasienės nustatymai leidžia tokias sąveikas.
Po išsaugojimo „NextCloud“ patikrins ryšį ir, jei viskas bus teisinga, parodys su integravimu susijusius nustatymus – pavyzdžiui, kokių tipų failus galima redaguoti naudojant šią integraciją. Tinkinkite taip, kaip jums atrodo tinkama.
Paskutinis žingsnis: kur rasti redaktorių
Jei grįšite į debesies saugyklos aplankus ir spustelėsite „+“, kad sukurtumėte naują failą, turėsite naują parinktį sukurti dokumentą, skaičiuoklę ar pristatymą. Jų pagalba sukursite ir iš karto galėsite redaguoti tokio tipo failus naudodami ONLYOFFICE.