A’ stèidheachadh NextCloud + ONLYOFFICE air an aon fhrithealaiche le Docker

Hi Habr! Bidh mi a’ toirt d’ aire eadar-theangachadh an artaigil "A’ stèidheachadh NextCloud agus ONLYOFFICE air aon fhrithealaiche le Docker".

Tha e duilich a bhith a’ dèanamh dì-meas air luach seòmraichean oifis air-loidhne leithid Google Docs agus stòradh neòil ann am beatha dhaoine a tha ag amas air teicneòlas. Tha teicneòlas air fàs cho farsaing is gu bheil eadhon Microsoft, a tha air a bhith os cionn margaidh nan tagraidhean oifis o chionn fhada, air fòcas a chuir air leasachadh tagradh lìn Office 365 agus toirt air luchd-cleachdaidh gluasad gu modal ballrachd airson na seirbheisean aca fhèin a chleachdadh. Tha sinn a 'toirt cuireadh dhaibhsan aig a bheil ùidh anns a' phròiseas a bhith a 'stàladh agus a' rèiteachadh an stòradh fhèin fo chat.

O chionn ùine air ais thug sinn sùil air fuasglaidhean stòraidh neòil agus seòmraichean oifis lìn le còd fosgailte a dh’ fhaodadh a bhith air an cleachdadh gu furasta airson an cleachdadh ann am meanbh-iomairt. Is e am prìomh adhbhar airson a h-uile sgrìobhainn a chumail air-loidhne obair-pàipeir a chumail aig an ìre as ìsle agus deagh chleachdaidhean gnìomhachais a chuir an gnìomh a dh’ aindeoin na tha de ghnothaichean ann. Is e taobh eile a’ bhuinn nach eil a bhith a’ faighinn màl air frithealaiche sgòthan gus an t-seirbheis seo a thoirt seachad cho tèarainte na bhith ga stòradh gu dìreach air togalach na h-iomairt, leis nach eil dòigh agad air ruigsinneachd corporra air an t-seirbheisiche no an trafaic agad a sgrùdadh. Mar sin, tha feum air crioptachadh deireadh-gu-deireadh agus bathar-bog le còd fosgailte cuideachd.

A’ toirt a-steach a h-uile fiosrachadh a bha ri fhaighinn mu fhuasglaidhean stòr fosgailte, lorg sinn dà phròiseact gnìomhach (le geallaidhean ann an stòr git airson na mìosan 12 a dh’ fhalbh) air an leasachadh airson stòradh neòil: NextCloud agus OwnCloud, agus an aon sreath oifis gnìomhach ONLYOFFICE. Tha timcheall air an aon rud aig an dà inneal stòraidh sgòthan, agus bha an co-dhùnadh NextCloud a thaghadh stèidhichte air fianais a bhith ann gum faodar a fhilleadh a-steach le ONLYOFFICE airson eadar-obrachadh cleachdaiche comhfhurtail leis a’ bhathar-bog. Ach, nuair a thòisich sinn a’ cleachdadh nan seirbheisean, thàinig am follais gun robh dìth fiosrachaidh mu bhith ag amalachadh nan seirbheisean gu h-àrd. Lorg sinn 3 bhideothan oideachaidh air mar as urrainn dhut amalachadh:

Cha do fhreagair gin de na trì bhideothan a ’cheist mu bhith a’ stàladh seirbheis sgrìobhainnean ONLYOFFICE air an aon fhrithealaiche corporra ri NextCloud le nginx co-roinnte. An àite sin, chleachd iad dòighean dealachaidh leithid a bhith a’ cleachdadh puirt air leth airson an api seirbheis sgrìobhainnean. B’ e roghainn eile a chaidh a mholadh frithealaiche air leth a chleachdadh airson Seirbheis Sgrìobhainnean, a’ rèiteachadh le làimh an eisimpleir nginx a chaidh a thogail a-steach don t-Seirbheis Sgrìobhainnean gus iuchair ruigsinneachd a chuir a-steach (iuchair ruigsinneachd ro-aithnichte a dhearbhas còir faighinn chun sgòth dàta) agus teisteanasan TLS. Bhathar den bheachd nach robh na dòighean-obrach gu h-àrd sàbhailte agus nach robh iad èifeachdach gu leòr, agus mar sin dh’ aonaich sinn NextCloud, ONLYOFFICE agus nginx cumanta, a bhios a’ sgaradh iarrtasan le ainmean fearainn, a’ cleachdadh docker-compose. Seo fiosrachadh ceum air cheum air mar a nì thu e.

Ceum 1: nginx container

Is e suidheachadh gu math sìmplidh a tha seo, ach feumaidh an ceum seo an obair as motha gus am frithealaiche progsaidh cùil a rèiteachadh. Chruthaich sinn an rèiteachadh docker-compose airson an nginx: ìomhaigh stàbaill.

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

Bidh seo a’ cruthachadh soitheach le puirt 80 agus 443 fosgailte don phoball, a’ mapadh an rèiteachaidh gu nginx/nginx-vhost.conf , agus a’ mìneachadh stòr airson teisteanasan air an gineadh mar theisteanasan fèin-shoidhnichte no a’ cleachdadh Let's encrypt's certbot in / nginx/certificates. Bu chòir pasganan a bhith san àite seo airson office.yourdomain.com agus cloud.yourdomain.com, le faidhlichean fullchain1.pem agus privkey1.pem anns gach fear airson an t-sreath teisteanais agus iuchair phrìobhaideach an fhrithealaiche, fa leth. Faodaidh tu barrachd a leughadh mu mar a ghineas tu teisteanas fèin-shoidhnichte an seo. www.akadia.com/services/ssh_test_certificate.html (tha ath-ainmeachadh .key agus .crt gu .pem ag obair gun a bhith ag atharrachadh structar faidhle airson nginx).

Às deidh sin, mhìnich sinn am faidhle vhost. Bidh sinn an toiseach a’ mìneachadh giùlan port 80 mar ath-sheòladh sìmplidh gu https, oir chan eil sinn airson trafaig http sam bith a cheadachadh

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

Chruthaich sinn an uairsin dà fhrithealaiche brìgheil air port 443 airson ar seirbheisean:

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;
    }
}

Ceum 2: seirbheis sgrìobhainnean

A-nis feumaidh sinn an soitheach seirbheis sgrìobhainnean a chuir ris an docker-compose.yml againn. Chan eil dad sònraichte ri rèiteachadh an seo.

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

Ach na dìochuimhnich an soitheach nginx a cheangal ris an t-seirbheis sgrìobhainnean:

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

Ceum 3: NextCloud

An toiseach, cuir seirbheisean ùra ris:

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 ceangal gu nginx:

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

A-nis tha an t-àm ann na soithichean a luchdachadh.

docker-compose up -d  

An ceann greiseag, tòisichidh nginx gad ath-stiùireadh gu ceann aghaidh NextCloud, is e sin an duilleag rèiteachaidh bunaiteach. Feumaidh tu an t-ainm-cleachdaidh agus am facal-faire airson a’ chiad neach-cleachdaidh rianachd agad a chuir a-steach agus na teisteanasan stòr-dàta a thug thu seachad ann an docker-compose.yml Aon uair ‘s gu bheil an rèiteachadh deiseil, bidh e comasach dhut logadh a-steach. Anns a ’chùis againn, thug am feitheamh faisg air mionaid agus dh’ fheumadh sinn ùrachadh a bharrachd air an duilleag logadh a-steach mus b ’urrainn dhuinn logadh a-steach don t-seirbheis sgòthan.

Uinneag roghainnean seirbheis NextCloudA’ stèidheachadh NextCloud + ONLYOFFICE air an aon fhrithealaiche le Docker

Ceum 4: A’ ceangal NextCloud agus ONLYOFFICE

Aig a’ cheum seo, feumaidh tu an aplacaid a stàladh airson NextCloud, a cheanglas gnìomh ONLYOFFICE. Feuch an tòisich sinn le pannal smachd an tagraidh anns an oisean gu h-àrd air an làimh dheis den chlàr. Lorg an aplacaid ONLYOFFICE (fo Office & text no a’ cleachdadh sgrùdadh), stàlaich is cuir an gnìomh e.

Às deidh sin theirig gu Settings tron ​​​​chlàr san oisean gu h-àrd air an làimh dheis agus bu chòir dhut an rud ONLYOFFICE a lorg sa chlàr air an taobh chlì. Gabh a-steach ann. Feumaidh tu na seòlaidhean a chlàradh mar a chithear gu h-ìosal.

Suidheachaidhean tagradh aonachaidhA’ stèidheachadh NextCloud + ONLYOFFICE air an aon fhrithealaiche le Docker

Tha a’ chiad sheòladh air a chleachdadh gus ceangal a dhèanamh ri cuid de fhaidhlichean js agus css gu dìreach bhon aplacaid a tha a’ ruith sa bhrobhsair (is e seo a dh’ fheumas sinn gus cothrom fhosgladh air seirbheis ONLYOFFICE tro nginx). Chan eilear a’ cleachdadh an iuchair dhìomhair oir tha earbsa againn ann an sreath aonaranachd an Docker nas motha na an iuchair dearbhaidh leantainneach. Tha an treas seòladh air a chleachdadh leis an NextCloud container gus ceangal gu dìreach ris an API ONLYOFFICE, agus bidh e a’ cleachdadh an t-ainm aoigheachd a-staigh bunaiteach bho Docker. Uill, tha an raon mu dheireadh air a chleachdadh gus an urrainn ONLYOFFICE iarrtasan a chuir air ais chun NextCloud API a ’cleachdadh seòladh IP taobh a-muigh no seòladh Docker a-staigh ma tha thu a’ cleachdadh lìonraidhean Docker, ach chan eil seo air a chleachdadh sa chùis againn. Dèan cinnteach gu bheil na roghainnean balla-teine ​​agad a’ ceadachadh an seòrsa eadar-obrachaidh seo.

Às deidh dhut sàbhaladh, nì NextCloud deuchainn air a’ cheangal agus, ma tha a h-uile dad ceart, seallaidh e dhut roghainnean co-cheangailte ris an aonachadh - mar eisimpleir, dè an seòrsa faidhle a dh’ fhaodar a dheasachadh leis an aonachadh seo. Dèan gnàthachadh mar a chì thu iomchaidh.

An ceum mu dheireadh: càite an lorg thu an deasaiche

Ma thèid thu air ais gu na pasganan stòraidh neòil agad agus cliog air an “+” gus faidhle ùr a chruthachadh, bidh roghainn ùr agad sgrìobhainn, cliath-dhuilleag no taisbeanadh a chruthachadh. Leis an cuideachadh, cruthaichidh tu agus bidh e comasach dhut na seòrsaichean faidhlichean sin a dheasachadh sa bhad a’ cleachdadh ONLYOFFICE.

Clàr cruthachadh faidhleA’ stèidheachadh NextCloud + ONLYOFFICE air an aon fhrithealaiche le Docker

Pàipear-taice 1

Gheibhear làn shusbaint docker-compose.yml an seo: https://pastebin.com/z1Ti1fTZ

Source: www.habr.com

Cuir beachd ann