Seti NextCloud + ONLYOFFICE i luga o le server tutusa ma Docker

Ei Habr! Ou te faailoa atu ia te outou le faaliliuga o le tusiga "Faʻatulagaina le NextCloud ma ONLYOFFICE i luga o se 'auʻaunaga e tasi ma Docker".

E faigata ona manatu faatauvaa i le taua o suti ofisa i luga ole laiga e pei o Google Docs ma le teuina o ao i olaga o tagata fa'atekonolosi. Tekinolosi ua matua salalau e oʻo lava ia Microsoft, lea ua leva ona pulea le maketi o talosaga a le ofisa, talu ai nei na taulaʻi atu i le atinaʻeina o le Office 365 web application ma faʻamalosia tagata faʻaoga e sui i se faʻataʻitaʻiga faʻataʻitaʻiga mo le faʻaogaina o latou lava auaunaga. Matou te valaʻauina i latou e fiafia i le faagasologa o le faʻapipiʻiina ma le faʻatulagaina o latou lava teuina i lalo o pusi.

I se taimi ua tuana'i, sa matou va'ava'ai ai i fofo e teu ai ao ma su'ega a le ofisa i luga o le upega tafaʻilagi e faigofie ona faʻaogaina mo le faʻaogaina i totonu o se pisinisi laiti. O le fa'aosofiaga autu mo le teuina o fa'amaumauga uma i luga o le initaneti o le fa'aitiitiga o pepa ma fa'atino faiga fa'apisinisi lelei e ui i le maualalo o fefa'atauaiga. O le pito i tua o le tupe siliva o le lisiina o se cloud server e tuʻuina atu ai lenei auaunaga e itiiti le saogalemu nai lo le teuina saʻo i luga o le fale o le atinaʻe, talu ai e leai sau auala e suʻe ai le avanoa faaletino i lau 'auʻaunaga poʻo fefaʻatauaiga. O le mea lea, e manaʻomia foʻi faʻamatalaga faʻamaufaʻailoga pito i luga ma punaoa tatala.

I le amanaʻiaina o faʻamatalaga avanoa uma e uiga i faʻamatalaga tatala punaoa, na matou maua ai ni galuega faʻatino se lua (faʻatasi ai ma le tuʻuina atu i le git repository mo le 12 masina talu ai) na atiaʻe mo le teuina o ao: NextCloud ma OwnCloud, ma naʻo le ONLYOFFICE o loʻo galue malosi. O mea faigaluega uma e teu ai ao e tutusa uma galuega, ma o le filifiliga e filifili NextCloud na faʻavae i luga o le i ai o faʻamaoniga e mafai ona tuʻufaʻatasia ma le ONLYOFFICE mo se fegalegaleaiga faʻaoga lelei ma le polokalama. Ae ui i lea, ina ua amata ona matou faʻaogaina auaunaga, o le leai o se faʻamatalaga i le tuʻufaʻatasia o auaunaga o loʻo i luga na faʻaalia. Na matou mauaina 3 aʻoaʻoga vitio i le auala e tuʻufaʻatasia ai:

E leai se tasi o vitio e tolu na taliina le fesili o le faʻapipiʻiina o le ONLYOFFICE pepa tautua i luga o le faʻaumau faaletino tutusa e pei o NextCloud ma se nginx faʻasoa. Nai lo lena, na latou faʻaogaina auala vavae ese e pei o le faʻaogaina o vaʻa eseese mo le api auaunaga pepa. O le isi fautuaga o le faʻapipiʻiina lea o se isi server mo Document Service, faʻapipiʻi lima le nginx instance ua fausia i totonu o le Document Service e faʻapipiʻi ai se ki faʻaoga (o se ki faʻaoga muamua e faʻamaonia ai le aia tatau e maua ai le ao faʻamaumauga) ma TLS tusi faamaonia. O auala o loʻo i luga na manatu e le saogalemu ma e le lava le aoga, o lea na matou tuʻufaʻatasia ai NextCloud, ONLYOFFICE ma se nginx masani e vavaeeseina ai talosaga i igoa faʻaoga e faʻaaoga ai le docker-compose. O fa'amatalaga la'asaga lea i le auala e fai ai.

Laasaga 1: pusa nginx

O se seti faigofie tele, ae o lenei laasaga e manaʻomia ai le tele o galuega e faʻapipiʻi ai le sui sui sui. Na matou faia muamua le faʻatulagaina o le docker-compose mo le nginx: ata mautu.

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

Ole mea lea e faia ai se atigipusa ma ports 80 ma 443 tatala i tagata lautele, faʻafanua le faʻatulagaga i nginx/nginx-vhost.conf , ma faʻamatalaina se faleoloa mo tusi faamaonia na gaosia e avea ma tusi pasi saini a le tagata lava ia poʻo le faʻaogaina o le Let's encrypt's certbot i /nginx/certificates. O lenei nofoaga e tatau ona i ai faila mo office.yourdomain.com ma cloud.yourdomain.com, faʻatasi ai ma faila fullchain1.pem ma privkey1.pem i taʻitasi mo le filifili tusi faamaonia ma le ki faʻapitoa a le server, i le faasologa. E mafai ona e faitau atili e uiga i le auala e gaosia ai se tusi pasi saini e oe lava. www.akadia.com/services/ssh_test_certificate.html (suiga .key ma .crt i .pem galue e aunoa ma le faaliliuina o le fausaga faila mo nginx).

A maeʻa lena, matou faʻamalamalamaina le faila vhost. Matou te faʻamalamalamaina muamua le amio a le taulaga 80 o se toe faʻafeiloaʻi faigofie i https, aua matou te le manaʻo e faʻatagaina soʻo se http fefaʻatauaiga

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

Ona matou faia lea o ni 'au'aunaga mama se lua i luga o le taulaga 443 mo a matou auaunaga:

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

Laasaga 2: tautua pepa

Ole taimi nei e mana'omia le fa'aopoopoina o le atigipusa tautua pepa i la tatou docker-compose.yml. E leai se mea fa'apitoa e fa'atulaga iinei.

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

Ae aua nei galo e faʻafesoʻotaʻi le pusa nginx i le tautua pepa:

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

Laasaga 3: NextCloud

Muamua, fa'aopoopo auaunaga fou:

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

ma faʻaopopo se fesoʻotaʻiga i le nginx:

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

O lea ua oo i le taimi e uta ai pusa.

docker-compose up -d  

A maeʻa sina taimi, o le a amata ona toe faʻafeiloaʻi oe e le nginx i le NextCloud pito i luma, o le itulau faʻatulagaina faʻaletonu. E te manaʻomia le faʻaogaina o le igoa ole igoa ma le upega tafaʻilagi mo lau tagata faʻaoga muamua ma faʻamaumauga faʻamaumauga na e tuʻuina atu i le docker-compose.yml A maeʻa le seti, o le a mafai ona e saini. I la matou tulaga, o le faʻatali na toeitiiti atoa le minute ma manaʻomia se toe faʻafouina o le itulau saini ae leʻi mafai ona matou ulufale i totonu o le auaunaga ao.

NextCloud fa'amalama fa'atulagaina auaunagaSeti NextCloud + ONLYOFFICE i luga o le server tutusa ma Docker

Laasaga 4: Fesoʻotaʻi NextCloud ma ONLYOFFICE

I lenei laʻasaga, e te manaʻomia le faʻapipiʻiina o le talosaga mo NextCloud, lea e fesoʻotaʻi ai le ONLYOFFICE galuega. Tatou amata i le vaega e pulea ai talosaga i le tulimanu pito i luga taumatau o le lisi. Su'e le ONLYOFFICE app (i lalo o le Ofisa & tusitusiga po'o le fa'aoga su'esu'e), fa'apipi'i ma fa'agaoioia.

A maeʻa lena ulu ile Faʻatonu e ala i le lisi ile tulimanu pito i luga taumatau ma e tatau ona e mauaina le mea ONLYOFFICE ile lisi agavale. Alu i totonu. E mana'omia lou resitalaina o tuatusi e pei ona fa'ailoa atu i lalo.

Fa'atonuga tu'ufa'atasigaSeti NextCloud + ONLYOFFICE i luga o le server tutusa ma Docker

O le tuatusi muamua e faʻaaogaina e fesoʻotaʻi ai i nisi o faila js ma css saʻo mai le talosaga o loʻo taʻavale i totonu o le masini (o le mea lea tatou te manaʻomia e tatala ai le avanoa i le ONLYOFFICE auaunaga e ala i le nginx). O le ki faalilolilo e le faʻaaogaina ona matou te faʻalagolago i le Docker isolation layer nai lo le faʻamaumau faʻamaonia ki. O le tuatusi lona tolu o loʻo faʻaaogaina e le NextCloud container e faʻafesoʻotaʻi saʻo i le ONLYOFFICE API, ma faʻaaogaina le igoa ole igoa ole igoa ole Docker. Ia, o le fanua mulimuli e faʻaaogaina ina ia mafai ai e ONLYOFFICE ona toe faia ni talosaga i le NextCloud API e faʻaaoga ai se tuatusi IP fafo poʻo se tuatusi Docker i totonu pe afai o loʻo e faʻaogaina fesoʻotaʻiga Docker, ae e le faʻaaogaina i la matou mataupu. Ia mautinoa e fa'ataga e au fa'amalama afi ia ituaiga feso'ota'iga.

A maeʻa ona faʻasaoina, o le a suʻeina e NextCloud le fesoʻotaʻiga ma, afai e saʻo mea uma, o le a faʻaali atu ia te oe tulaga e fesoʻotaʻi ma le tuʻufaʻatasia - mo se faʻataʻitaʻiga, o a ituaiga faila e mafai ona faʻasaʻo e lenei tuʻufaʻatasiga. Fa'apitoa e te mana'o e fetaui.

Le laasaga mulimuli: o fea e maua ai le faatonu

Afai e te toe foʻi i lau laupepa teu oloa ma kiliki i luga o le "+" e fatu ai se faila fou, ona e maua lea o se filifiliga fou e fai ai se pepa, laupepa poʻo se faʻaaliga. Faatasi ai ma la latou fesoasoani, o le ae fatuina ma vave mafai ona faʻasaʻo nei ituaiga faila e faʻaaoga ai le ONLYOFFICE.

Fa'atonu failaSeti NextCloud + ONLYOFFICE i luga o le server tutusa ma Docker

Fa'aopoopo 1

Ole mea atoa ole docker-compose.yml e mafai ona maua iinei: https://pastebin.com/z1Ti1fTZ

puna: www.habr.com

Faaopoopo i ai se faamatalaga