Socrú NextCloud + ONLYOFFICE ar an bhfreastalaí céanna le Docker

Hey Habr! Cuirim i láthair d'aistriúchán ar an alt "Ag socrú NextCloud agus ONLYOFFICE ar fhreastalaí amháin le Docker".

Tá sé deacair gannmheas a dhéanamh ar luach seomraí oifige ar líne ar nós Google Docs agus stóráil scamall i saol daoine atá dírithe ar an teicneolaíocht. Tá an teicneolaíocht chomh forleathan sin gur dhírigh fiú Microsoft, a bhí i gceannas ar mhargadh na bhfeidhmchlár oifige le fada, ar fheidhmchlár gréasáin Office 365 a fhorbairt agus a chur ina luí ar úsáideoirí athrú chuig samhail síntiúis chun a gcuid seirbhísí féin a úsáid. Tugaimid cuireadh dóibh siúd a bhfuil suim acu sa phróiseas a shuiteáil agus a chumrú a gcuid stórála féin faoi cat.

Tamall ó shin d'fhéachamar ar réitigh stórála néil agus seomraí oifige gréasáin foinse oscailte a d'fhéadfaí a imscaradh go héasca le húsáid i micrifhiontar. Is é an príomhspreagadh chun gach doiciméad a choinneáil ar líne ná páipéarachas a choinneáil chomh híseal agus is féidir agus dea-chleachtais ghnó a chur i bhfeidhm in ainneoin líon íseal na n-idirbheart. Is é an taobh eile den bhoinn ná nach bhfuil sé chomh slán sin freastalaí scamall a fháil ar cíos chun an tseirbhís seo a sholáthar ná é a stóráil go díreach in áitribh an fhiontair, ós rud é nach bhfuil aon mhodh agat iniúchadh a dhéanamh ar rochtain fhisiciúil ar do fhreastalaí nó ar thrácht. Dá bhrí sin, tá gá le criptiú ceann go ceann agus bogearraí foinse oscailte freisin.

Agus an fhaisnéis go léir atá ar fáil faoi réitigh foinse oscailte á gcur san áireamh, fuaireamar dhá thionscadal gníomhacha (le gealltanais sa stór git le 12 mhí anuas) a forbraíodh le haghaidh stórála scamall: NextCloud agus OwnCloud, agus an t-aon sraith oifige gníomhach ONLYOFFICE. Tá thart ar an bhfeidhmiúlacht chéanna ag an dá uirlis stórála scamall, agus bhí an cinneadh chun NextCloud a roghnú bunaithe ar fhianaise a bheith ann gur féidir é a chomhtháthú le ONLYOFFICE le haghaidh idirghníomhú compordach úsáideora leis na bogearraí. Nuair a thosaigh muid ag úsáid na seirbhísí, áfach, ba léir go raibh easpa eolais ar chomhtháthú na seirbhísí thuas. Fuaireamar 3 fhíseán teagaisc ar conas comhtháthú a dhéanamh:

Níor fhreagair aon cheann de na trí fhíseán an cheist maidir le seirbhís doiciméad ONLYOFFICE a shuiteáil ar an bhfreastalaí fisiceach céanna le NextCloud le nginx roinnte. Ina áit sin, bhain siad úsáid as teicnící deighilte mar úsáid a bhaint as calafoirt ar leith don api seirbhíse doiciméad. Moladh eile a bhí ann ná freastalaí ar leith a imscaradh le haghaidh Seirbhíse Doiciméad, a chumrú de láimh ar an gcás nginx a tógadh isteach sa tSeirbhís Doiciméid chun eochair rochtana a shuiteáil (eochair rochtana réamhaitheanta a dheimhníonn an ceart chun rochtain a fháil ar an scamall sonraí) agus deimhnithe TLS. Measadh nach raibh na cineálacha cur chuige thuas sábháilte agus nach raibh siad éifeachtach go leor, agus mar sin chomhthíomar NextCloud, ONLYOFFICE agus nginx coitianta a scarann ​​​​iarratais de réir ainmneacha fearainn ag baint úsáide as docker-compose. Seo eolas céim ar chéim ar conas é a dhéanamh.

Céim 1: nginx coimeádán

Is socrú an-simplí é seo, ach éilíonn an chéim seo an obair is mó chun an seachfhreastalaí droim ar ais a chumrú. Chruthaigh muid an chumraíocht docker-compose don íomhá nginx: cobhsaí ar dtús.

version: '2'
services:
  nginx:
    image : nginx:stable
    restart: always
    volumes:
      - ./nginx/nginx-vhost.conf:/etc/nginx/conf.d/default.conf:ro
      - ./nginx/certificates:/mycerts 
    ports:
      - 443:443
      - 80:80

Cruthaíonn sé seo coimeádán le calafoirt 80 agus 443 ar oscailt don phobal, mapálann sé an chumraíocht chuig nginx/nginx-vhost.conf , agus sainmhíníonn sé stór le haghaidh deimhnithe a ghintear mar dheimhnithe féin-shínithe nó ag baint úsáide as certbot Let's encrypt in / nginx/certificates. Ba cheart go mbeadh fillteáin le haghaidh office.yourdomain.com agus cloud.yourdomain.com sa suíomh seo, le comhaid fullchain1.pem agus privkey1.pem i ngach ceann le haghaidh slabhra an deimhnithe agus eochair phríobháideach an fhreastalaí, faoi seach. Is féidir leat tuilleadh a léamh faoi conas deimhniú féin-shínithe a ghiniúint anseo. www.akadia.com/services/ssh_test_certificate.html (oibríonn athainmniú .key agus .crt go .pem gan an struchtúr comhaid a thiontú do nginx).

Tar éis sin, shainmhínigh muid an comhad vhost. Sainmhínímid ar dtús iompar port 80 mar atreorú simplí chuig https, mar gheall ar nílimid ag iarraidh aon trácht http a cheadú

server {
    listen 80;
    location / {
        return 301
            https://$host$request_uri;
    }
}

Chruthaíomar dhá fhreastalaí fhíorúla ansin ar phort 443 dár seirbhísí:

server {
    listen 443 ssl;
    server_name cloud.yourdomain.com ;
    root /var/www/html;

    ssl_certificate     /mycerts/cloud.yourdomain.com/fullchain1.pem;
    ssl_certificate_key /mycerts/cloud.yourdomain.com/privkey1.pem;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_pass http://app:80;
    }
}
server {
    listen 443 ssl;
    server_name office.yourdomain.com;
    root /var/www/html;

    ssl_certificate     /mycerts/office.yourdomain.com/fullchain1.pem;
    ssl_certificate_key /mycerts/office.yourdomain.com/privkey1.pem;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_pass http://onlyoffice:80;
    }
}

Céim 2: seirbhís doiciméad

Anois ní mór dúinn an coimeádán seirbhíse doiciméad a chur lenár docker-compose.yml. Níl aon rud speisialta le cumrú anseo.

services:
...
  onlyoffice:
    image: onlyoffice/documentserver
    restart: always

Ach ná déan dearmad an coimeádán nginx a nascadh leis an tseirbhís doiciméad:

services:
...
  nginx:
    ...
    depends_on:
      - onlyoffice

Céim 3: NextCloud

Ar dtús, cuir seirbhísí nua leis:

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

agus cuir nasc chuig nginx:

services:
...
  nginx:
    ...
    depends_on:
      - app 

Anois tá sé in am na coimeádáin a luchtú.

docker-compose up -d  

Tar éis tamaill, tosóidh nginx tú a atreorú chuig an deireadh tosaigh NextCloud, arb é an leathanach cumraíochta réamhshocraithe. Beidh ort ainm úsáideora agus pasfhocal do chéad úsáideoir riaracháin a chur isteach agus na dintiúir bunachar sonraí a chuir tú ar fáil in docker-compose.yml Nuair a bheidh an socrú críochnaithe, beidh tú in ann logáil isteach. Inár gcás, thóg an fanacht beagnach nóiméad agus bhí gá le hathnuachan breise ar an leathanach logála isteach sula bhféadfaimis logáil isteach sa tseirbhís scamall.

Fuinneog socruithe seirbhíse NextCloudSocrú NextCloud + ONLYOFFICE ar an bhfreastalaí céanna le Docker

Céim 4: Ceangal NextCloud agus ONLYOFFICE

Ag an gcéim seo, beidh ort an t-iarratas ar NextCloud a shuiteáil, a nascann feidhmiúlacht ONLYOFFICE. Tosaímid leis an bpainéal rialaithe feidhmchláir sa chúinne uachtarach ar dheis den roghchlár. Faigh an aip ONLYOFFICE (faoi Office & text nó trí úsáid a bhaint as cuardach), suiteáil agus gníomhachtaigh í.

Tar éis sin ceann chuig Socruithe tríd an roghchlár sa chúinne uachtarach ar dheis agus ba chóir duit a fháil ar an mír ONLYOFFICE sa roghchlár ar chlé. Téigh isteach ann. Beidh ort na seoltaí a chlárú mar a léirítear thíos.

Socruithe feidhmchláir chomhtháthaitheSocrú NextCloud + ONLYOFFICE ar an bhfreastalaí céanna le Docker

Úsáidtear an chéad seoladh chun nasc a dhéanamh le roinnt comhaid js agus css go díreach ón bhfeidhmchlár atá ag rith sa bhrabhsálaí (is é seo a theastaíonn uainn chun rochtain a oscailt ar sheirbhís ONLYOFFICE trí nginx). Ní úsáidtear an eochair rúnda toisc go bhfuil muinín againn as ciseal leithlisithe an Docker níos mó ná an eochair fhíordheimhnithe leanúnach. Úsáideann an coimeádán NextCloud an tríú seoladh chun nascadh go díreach leis an API ONLYOFFICE, agus úsáideann sé an t-óstainm inmheánach réamhshocraithe ó Docker. Bhuel, úsáidtear an réimse deireanach ionas gur féidir le ONLYOFFICE iarratais a dhéanamh ar ais chuig an NextCloud API ag baint úsáide as seoladh IP seachtrach nó seoladh Docker inmheánach má tá líonraí Docker á úsáid agat, ach ní úsáidtear é seo inár gcás. Cinntigh go gceadaíonn do shocruithe balla dóiteáin na cineálacha seo idirghníomhaíochtaí.

Tar éis a shábháil, déanfaidh NextCloud an nasc a thástáil agus, má tá gach rud ceart, taispeánfaidh sé duit socruithe a bhaineann leis an gcomhtháthú - mar shampla, cad iad na cineálacha comhaid is féidir a chur in eagar leis an gcomhtháthú seo. Saincheap mar is cuí leat.

An chéim dheireanach: cá háit a bhfaighidh tú an t-eagarthóir

Má théann tú ar ais chuig do fhillteáin stórála néil agus cliceáil ar an "+" chun comhad nua a chruthú, beidh rogha nua agat doiciméad, scarbhileog nó cur i láthair a chruthú. Le cabhair uathu, cruthóidh tú agus beidh tú in ann na cineálacha comhaid seo a chur in eagar láithreach ag baint úsáide as ONLYOFFICE.

Roghchlár cruthú comhaidSocrú NextCloud + ONLYOFFICE ar an bhfreastalaí céanna le Docker

Forlíonadh 1

Is féidir ábhar iomlán docker-compose.yml a fháil anseo: https://pastebin.com/z1Ti1fTZ

Foinse: will.com

Add a comment