Ni vigumu kudharau thamani ya vyumba vya ofisi mtandaoni kama vile Hati za Google na hifadhi ya wingu katika maisha ya watu wanaozingatia teknolojia. Teknolojia imeenea sana hivi kwamba hata Microsoft, ambayo kwa muda mrefu imekuwa ikitawala soko la maombi ya ofisi, hivi karibuni imejikita katika kutengeneza programu ya wavuti ya Office 365 na kuwashawishi watumiaji kubadili mtindo wa usajili kwa kutumia huduma zao wenyewe. Tunawaalika wale ambao wana nia ya mchakato wa kufunga na kusanidi hifadhi yao wenyewe chini ya paka.
Wakati fulani uliopita tuliangalia suluhu za uhifadhi wa wingu na vyumba vya ofisi vya tovuti huria ambavyo vinaweza kutumwa kwa urahisi kwa matumizi katika biashara ndogo ndogo. Kichocheo kikuu cha kuweka hati zote mtandaoni ni kuweka makaratasi kwa kiwango cha chini na kutekeleza mazoea mazuri ya biashara licha ya kiwango kidogo cha miamala. Upande mwingine wa sarafu ni kwamba kukodisha seva ya wingu kutoa huduma hii sio salama kuliko kuihifadhi moja kwa moja kwenye majengo ya biashara, kwani huna njia yoyote ya kukagua ufikiaji wa kimwili kwa seva yako au trafiki. Kwa hivyo, programu ya usimbaji-mwisho-hadi-mwisho na programu huria pia inahitajika.
Kwa kuzingatia maelezo yote yanayopatikana kuhusu suluhu za chanzo huria, tulipata miradi miwili inayotumika (iliyo na ahadi kwenye hazina ya git kwa muda wa miezi 12 iliyopita) iliyotengenezwa kwa hifadhi ya wingu: NextCloud na OwnCloud, na ofisi pekee inayotumika ya ONLYOFFICE. Zana zote mbili za uhifadhi wa wingu zina takriban utendakazi sawa, na uamuzi wa kuchagua NextCloud ulitokana na kuwepo kwa ushahidi kwamba inaweza kuunganishwa na ONLYOFFICE kwa mwingiliano mzuri wa mtumiaji na programu. Walakini, tulipoanza kupeleka huduma, ukosefu wa habari juu ya kuunganisha huduma zilizo hapo juu ulionekana. Tulipata video 3 za mafunzo juu ya jinsi ya kujumuisha:
Hakuna video kati ya hizo tatu iliyojibu swali la kusakinisha huduma ya hati ya ONLYOFFICE kwenye seva halisi kama NextCloud iliyo na nginx iliyoshirikiwa. Badala yake, walitumia mbinu za utenganisho kama vile kutumia bandari tofauti kwa api ya huduma ya hati. Pendekezo lingine lilikuwa kupeleka seva tofauti kwa Huduma ya Hati, kusanidi mwenyewe mfano wa nginx uliojengwa katika Huduma ya Hati ili kusakinisha ufunguo wa ufikiaji (ufunguo wa ufikiaji unaojulikana awali ambao unathibitisha haki ya kufikia wingu la data) na vyeti vya TLS. Mbinu zilizo hapo juu zilizingatiwa kuwa sio salama na hazifanyi kazi vya kutosha, kwa hivyo tuliunganisha NextCloud, ONLYOFFICE na nginx ya kawaida ambayo hutenganisha maombi kwa majina ya kikoa kwa kutumia docker-compose. Hapa kuna maelezo ya hatua kwa hatua juu ya jinsi ya kuifanya.
Hatua ya 1: chombo cha nginx
Huu ni usanidi rahisi sana, lakini hatua hii inahitaji kazi kubwa zaidi ili kusanidi seva mbadala ya nyuma. Kwanza tuliunda usanidi wa kutunga docker kwa nginx:picha thabiti.
Hii huunda kontena iliyo na milango 80 na 443 wazi kwa umma, inapanga usanidi kwa nginx/nginx-vhost.conf , na inafafanua hifadhi ya vyeti vinavyotolewa kama vyeti vya kujitia saini au kutumia Let's encrypt's certbot in /nginx/certificates. Mahali hapa panapaswa kuwa na folda za office.yourdomain.com na cloud.yourdomain.com, zenye faili kamilichain1.pem na privkey1.pem katika kila msururu wa cheti na ufunguo wa faragha wa seva, mtawalia. Unaweza kusoma zaidi kuhusu jinsi ya kutengeneza cheti cha kujiandikisha hapa. www.akadia.com/services/ssh_test_certificate.html (kubadilisha jina la .key na .crt kwa .pem hufanya kazi bila kubadilisha muundo wa faili kwa nginx).
Baada ya hayo, tulifafanua faili ya vhost. Kwanza tunafafanua tabia ya bandari 80 kama njia rahisi ya kuelekeza kwa https, kwa sababu hatutaki kuruhusu trafiki yoyote ya http
Lakini usisahau kuunganisha kontena ya nginx kwenye huduma ya hati:
services:
...
nginx:
...
depends_on:
- onlyoffice
Hatua ya 3: Wingu linalofuata
Kwanza, ongeza huduma mpya:
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
na ongeza kiunga kwa nginx:
services:
...
nginx:
...
depends_on:
- app
Sasa ni wakati wa kupakia vyombo.
docker-compose up -d
Baada ya muda, nginx itaanza kukuelekeza kwenye sehemu ya mbele ya NextCloud, ambayo ni ukurasa wa usanidi chaguo-msingi. Utahitaji kuingiza jina la mtumiaji na nenosiri la mtumiaji wako wa kwanza wa msimamizi na stakabadhi za hifadhidata ulizotoa katika docker-compose.yml Mara tu usanidi utakapokamilika, utaweza kuingia. Kwa upande wetu, kusubiri kulichukua karibu dakika moja na kuhitaji usasisho wa ziada wa ukurasa wa kuingia kabla ya kuingia kwenye huduma ya wingu.
Dirisha la mipangilio ya huduma ya NextCloud
Hatua ya 4: Kuunganisha NextCloud na ONLYOFFICE
Katika hatua hii, utahitaji kusakinisha programu ya NextCloud, ambayo inaunganisha utendaji wa ONLYOFFICE. Wacha tuanze na paneli ya kudhibiti programu kwenye kona ya juu ya kulia ya menyu. Pata programu ya ONLYOFFICE (chini ya Ofisi na maandishi au kwa kutumia utafutaji), isakinishe na uiwashe.
Baada ya hapo nenda kwa Mipangilio kupitia menyu kwenye kona ya juu kulia na unapaswa kupata kipengee cha ONLYOFFICE kwenye menyu ya kushoto. Ingia ndani yake. Utahitaji kusajili anwani kama ilivyoonyeshwa hapa chini.
Mipangilio ya programu ya ujumuishaji
Anwani ya kwanza inatumika kuunganisha kwa baadhi ya faili za js na css moja kwa moja kutoka kwa programu inayoendesha kwenye kivinjari (hili ndilo tunalohitaji kufungua ufikiaji wa huduma ya ONLYOFFICE kupitia nginx). Ufunguo wa siri hautumiki kwa sababu tunaamini safu ya kutengwa ya Docker zaidi ya ufunguo unaoendelea wa uthibitishaji. Anwani ya tatu inatumiwa na kontena ya NextCloud kuunganisha moja kwa moja kwenye API ya ONLYOFFICE, na hutumia jina la mpangishi wa ndani kutoka kwa Docker. Kweli, sehemu ya mwisho inatumiwa ili ONLYOFFICE iweze kutuma maombi kwa NextCloud API kwa kutumia anwani ya IP ya nje au anwani ya ndani ya Docker ikiwa unatumia mitandao ya Docker, lakini hii haitumiki kwa upande wetu. Hakikisha mipangilio yako ya ngome inaruhusu aina hizi za mwingiliano.
Baada ya kuokoa, NextCloud itajaribu uunganisho na, ikiwa kila kitu ni sahihi, itakuonyesha mipangilio inayohusiana na ushirikiano - kwa mfano, ni aina gani za faili zinaweza kuhaririwa na ushirikiano huu. Geuza kukufaa unavyoona inafaa.
Hatua ya mwisho: wapi kupata mhariri
Ukirudi kwenye folda zako za hifadhi ya wingu na ubofye "+" ili kuunda faili mpya, basi utakuwa na chaguo jipya la kuunda hati, lahajedwali au uwasilishaji. Kwa msaada wao, utaunda na mara moja utaweza kuhariri aina hizi za faili kwa kutumia ONLYOFFICE.