Kumisikidza NextCloud + ONLYOFFICE pane imwechete server neDocker

Hei Habr! Ndinokupa kutarisisa kwako kududzirwa kwechinyorwa chacho "Kumisikidza NextCloud uye ONLYOFFICE pane imwechete sevha neDocker".

Zvakaoma kurerutsa kukosha kwepamhepo hofisi masutu seGoogle Docs uye kuchengetwa kwegore muhupenyu hwevanhu vane tekinoroji. Tekinoroji yatekeshera zvekuti kunyangwe Microsoft, iyo yagara ichitonga musika wekushandisa muhofisi, ichangobva kutarisa kugadzira Office 365 web application uye kunyengetedza vashandisi kuti vachinje kune yekunyorera modhi yekushandisa kwavo masevhisi. Isu tinokoka avo vanofarira maitiro ekuisa uye kugadzirisa yavo yekuchengetera pasi pekati.

Imwe nguva yapfuura takatarisa cloud storage solutions uye yakavhurika sosi webhu hofisi masutu ayo anogona kuiswa nyore kuti ashandiswe mune diki-bhizinesi. Chikuru chinokurudzira chekuchengeta zvese zvinyorwa pamhepo kuchengetedza mapepa kune mashoma uye kuita zvakanaka bhizinesi maitiro kunyangwe yakaderera huwandu hwekutengesa. Rimwe divi remari nderekuti kuhaya sevha yegore kuti ipe sevhisi iyi haina kuchengetedzeka pane kuichengeta yakananga panzvimbo yebhizinesi, sezvo iwe usina chero nzira yekuongorora kuwana kwemuviri kune server yako kana traffic. Naizvozvo, kupera-kusvika-kumagumo encryption uye yakavhurika sosi software inodiwa zvakare.

Tichifunga nezvese ruzivo rwuripo nezve yakavhurika sosi mhinduro, takawana maviri anoshanda mapurojekiti (ane kuzvipira mugit repository kwemwedzi gumi nemiviri yapfuura) akagadzirirwa kuchengetedza gore: NextCloud uye OwnCloud, uye iyo chete inoshanda ONLYOFFICE hofisi suite. Maturusi ese ari maviri ekuchengetera gore ane mashandiro akafanana, uye sarudzo yekusarudza NextCloud yaive yakavakirwa pakuvapo kwehumbowo hwekuti inogona kusanganiswa neONLYOFFICE yekugarisana mushandisi nesoftware. Nekudaro, patakatanga kuendesa masevhisi, kushomeka kweruzivo rwekubatanidza masevhisi ari pamusoro apa kwakava pachena. Takawana mavhidhiyo edzidziso matatu ekubatanidza:

Hapana pamavhidhiyo matatu akapindura mubvunzo wekuisa iyo ONLYOFFICE gwaro sevhisi pane imwecheteyo sevha yemuviri seNextCloud ine yakagovaniswa nginx. Pane kudaro, vakashandisa nzira dzekuparadzanisa dzakadai sekushandisa zviteshi zvakasiyana zvegwaro sevhisi api. Imwe pfungwa yaive yekuendesa sevha yakaparadzana yeRugwaro Sevhisi, kugadzirisa nemaoko iyo nginx muenzaniso yakavakirwa muRugwaro Sevhisi kuisa kiyi yekupinda (kiyi yekupinda inozivikanwa inosimbisa kodzero yekuwana data gore) uye TLS zvitupa. Idzi nzira dziri pamusoro dzaionekwa dzisina kuchengetedzeka uye dzisiri kushanda zvakakwana, saka isu takabatanidza NextCloud, ONLYOFFICE uye yakajairika nginx inoparadzanisa zvikumbiro nemazita emadomasi uchishandisa docker-compose. Heino nhanho nhanho ruzivo rwekuita sei.

Nhanho 1: nginx mudziyo

Uku kuseta kwakapusa, asi danho iri rinoda basa rakawanda kugadzirisa reverse proxy server. Isu takatanga kugadzira iyo docker-compose kumisikidzwa yeiyo nginx: yakagadzikana mufananidzo.

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

Izvi zvinogadzira mudziyo une ports 80 uye 443 yakavhurika kune veruzhinji, mepu iyo gadziriso kune nginx/nginx-vhost.conf , uye inotsanangura chitoro chezvitupa zvinogadzirwa sezvitupa zvakasaina kana kushandisa Let's encrypt's certbot mu /nginx/certificates. Nzvimbo iyi inofanirwa kunge iine mafolder eoffice.yourdomain.com uye cloud.yourdomain.com, ane fullchain1.pem uye privkey1.pem mafaera mune imwe neimwe yecheni yechitupa uye server kiyi yakavanzika, zvichiteerana. Iwe unogona kuverenga zvakawanda nezve maitiro ekugadzira-wega-kusaina chitupa pano. www.akadia.com/services/ssh_test_certificate.html (renaming .key uye .crt ku .pem inoshanda pasina kushandura chimiro chefaira che nginx).

Mushure meizvozvo, isu takatsanangura iyo vhost faira. Isu tinotanga tatsanangura maitiro echiteshi 80 senge nyore redirect kune https, nekuti hatidi kubvumidza chero http traffic

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

Isu takazogadzira maviri chaiwo maseva pachiteshi 443 emasevhisi edu:

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

Danho 2: gwaro sevhisi

Ikozvino isu tinoda kuwedzera iyo gwaro sevhisi mudziyo kune yedu docker-compose.yml. Hapana chakakosha kugadzirisa pano.

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

Asi usakanganwe kubatanidza iyo nginx mudziyo kune iyo gwaro sevhisi:

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

Nhanho 3: NextCloud

Kutanga, wedzera masevhisi matsva:

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

uye wedzera chinongedzo kune nginx:

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

Iye zvino yave nguva yekuisa midziyo.

docker-compose up -d  

Mushure mechinguva, nginx ichatanga kukuendesa kuNextCloud kumberi kwekupedzisira, inova iyo yekumisikidza peji peji. Iwe unozofanirwa kuisa zita rekushandisa uye password kune yako yekutanga admin mushandisi uye dhatabhesi zvitupa zvawakapa mu docker-compose.yml Kana kuseta kwapera, unokwanisa kupinda. Kwatiri, kumirira kwakatora ingangoita miniti uye kwaida kumwe kuzorodza kwepeji rekupinda tisati tapinda mubasa regore.

NextCloud sevhisi zvigadziriso hwindoKumisikidza NextCloud + ONLYOFFICE pane imwechete server neDocker

Nhanho 4: Kubatanidza NextCloud uye ONLYOFFICE

Pane iyi nhanho, iwe uchafanirwa kuisa application yeNextCloud, iyo inobatanidza iyo ONLYOFFICE mashandiro. Ngatitangei neiyo application control panel mukona yepamusoro yekurudyi yemenu. Tsvaga iyo ONLYOFFICE app (pasi peHofisi & mameseji kana kushandisa kutsvaga), isa uye iite kuti iite.

Mushure meiyo musoro kuSettings kuburikidza nemenyu iri kumusoro kurudyi kona uye iwe unofanirwa kuwana iyo ONLYOFFICE chinhu mune yekuruboshwe menyu. Pinda mariri. Unozofanirwa kunyoresa kero sezvaratidzwa pazasi.

Kubatanidza zvirongwa zvekushandisaKumisikidza NextCloud + ONLYOFFICE pane imwechete server neDocker

Kero yekutanga inoshandiswa kubatanidza kune mamwe majs uye css mafaera zvakananga kubva pachishandiso chiri kushanda mubrowser (izvi ndizvo zvatinoda kuvhura kupinda kune ONLYOFFICE sevhisi kuburikidza nenginx). Kiyi yakavanzika haishandiswe nekuti isu tinovimba iyo Docker yekuzviparadzanisa layer kupfuura iyo inoenderera yekusimbisa kiyi. Kero yechitatu inoshandiswa neNextCloud mudziyo kubatanidza zvakananga kune ONLYOFFICE API, uye inoshandisa iyo yakasarudzika yemukati zita remukati kubva kuDocker. Zvakanaka, iyo yekupedzisira ndima inoshandiswa kuitira kuti ONLYOFFICE iite zvikumbiro kuNextCloud API uchishandisa yekunze IP kero kana yemukati Docker kero kana uri kushandisa Docker network, asi izvi hazvishandiswe kwatiri. Ita shuwa kuti zvigadziriso zvako zvefirewall zvinobvumidza marudzi aya ekudyidzana.

Mushure mekuchengetedza, NextCloud ichaedza kubatana uye, kana zvese zvakanaka, ichakuratidza marongero ane chekuita nekubatanidzwa - semuenzaniso, ndeapi marudzi emafaira anogona kugadziriswa nekubatanidzwa uku. Gadzirisa sezvaunoona zvakakodzera.

Danho rekupedzisira: kwekuwana mupepeti

Kana ukadzokera kumaforodha ako ekuchengetedza gore uye wodzvanya pakanzi β€œ+” kuti ugadzire faira idzva, ipapo unenge uine sarudzo itsva yekugadzira gwaro, spreadsheet kana mharidzo. Nerubatsiro rwavo, iwe uchagadzira uye nekukasira wokwanisa kugadzirisa aya marudzi emafaira uchishandisa ONLYOFFICE.

Menyu yekugadzira mafairaKumisikidza NextCloud + ONLYOFFICE pane imwechete server neDocker

Kuwedzera 1

Izvo zvizere zvemukati docker-compose.yml zvinogona kuwanikwa pano: https://pastebin.com/z1Ti1fTZ

Source: www.habr.com

Voeg