Pag-set up sa NextCloud + ONLYOFFICE sa parehas nga server nga adunay Docker

Hoy Habr! Gipresentar ko sa imong pagtagad ang hubad sa artikulo "Pag-set up sa NextCloud ug ONLYOFFICE sa usa ka server nga adunay Docker".

Lisud nga pakamenoson ang bili sa mga online office suites sama sa Google Docs ug cloud storage sa kinabuhi sa tech-oriented nga mga tawo. Ang teknolohiya nahimong kaylap kaayo nga bisan ang Microsoft, nga dugay nang nagdominar sa merkado sa mga aplikasyon sa opisina, bag-o lang nagtutok sa pagpalambo sa Office 365 web application ug pagdani sa mga tiggamit sa pagbalhin ngadto sa modelo sa suskrisyon alang sa paggamit sa ilang kaugalingong mga serbisyo. Gidapit namo kadtong interesado sa proseso sa pag-instalar ug pag-configure sa ilang kaugalingong storage ubos sa iring.

Kaniadto nagtan-aw kami sa mga solusyon sa pagtipig sa panganod ug mga open source nga suite sa opisina sa web nga dali nga ma-deploy aron magamit sa usa ka micro-enterprise. Ang nag-unang kadasig sa pagtipig sa tanan nga dokumentasyon online mao ang pagpabilin sa mga papeles sa labing gamay ug pagpatuman sa maayong mga gawi sa negosyo bisan pa sa gamay nga gidaghanon sa mga transaksyon. Ang pikas bahin sa sensilyo mao nga ang pag-abang sa usa ka cloud server aron mahatagan kini nga serbisyo dili kaayo luwas kaysa sa pagtipig niini direkta sa lugar sa negosyo, tungod kay wala ka bisan unsang paagi sa pag-audit sa pisikal nga pag-access sa imong server o trapiko. Busa, gikinahanglan usab ang end-to-end encryption ug open source software.

Gikonsiderar ang tanan nga magamit nga kasayuran bahin sa mga solusyon sa bukas nga gigikanan, nakit-an namon ang duha nga aktibo nga mga proyekto (nga adunay mga commit sa git repository sa miaging 12 ka bulan) nga gihimo alang sa pagtipig sa panganod: NextCloud ug OwnCloud, ug ang bugtong aktibo nga ONLYOFFICE office suite. Ang duha nga mga gamit sa pagtipig sa panganod adunay halos parehas nga gamit, ug ang desisyon sa pagpili sa NextCloud gibase sa paglungtad sa ebidensya nga mahimo kini i-integrate sa ONLYOFFICE alang sa usa ka komportable nga interaksyon sa tiggamit sa software. Bisan pa, sa dihang nagsugod kami sa pag-deploy sa mga serbisyo, ang kakulang sa kasayuran sa paghiusa sa mga serbisyo sa ibabaw nahimong dayag. Nakit-an namon ang 3 nga mga video sa tutorial kung giunsa ang pag-integrate:

Walay usa sa tulo ka mga video ang mitubag sa pangutana sa pag-instalar sa ONLYOFFICE nga serbisyo sa dokumento sa parehas nga pisikal nga server sama sa NextCloud nga adunay gipaambit nga nginx. Hinuon, gigamit nila ang mga pamaagi sa pagbulag sama sa paggamit sa lainlaing mga pantalan alang sa serbisyo sa dokumento nga api. Ang laing sugyot mao ang pag-deploy og bulag nga server para sa Document Service, nga mano-mano ang pag-configure sa nginx nga instance nga gitukod sa Document Service aron mag-install og access key (usa ka pre-known access key nga nagpamatuod sa katungod sa pag-access sa data cloud) ug TLS certificates. Ang mga pamaagi sa ibabaw gikonsiderar nga dili luwas ug dili igo nga epektibo, mao nga gisagol namon ang NextCloud, ONLYOFFICE ug usa ka sagad nga nginx nga nagbulag sa mga hangyo pinaagi sa mga ngalan sa domain gamit ang docker-compose. Ania ang lakang sa lakang nga kasayuran kung giunsa kini buhaton.

Lakang 1: nginx container

Kini usa ka yano kaayo nga pag-setup, apan kini nga lakang nanginahanglan labing daghang trabaho aron ma-configure ang reverse proxy server. Una namong gibuhat ang docker-compose configuration alang sa nginx: stable nga imahe.

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

Naghimo kini og sudlanan nga adunay mga pantalan nga 80 ug 443 nga bukas sa publiko, mapa ang configuration sa nginx/nginx-vhost.conf , ug naghubit sa usa ka tindahan alang sa mga sertipiko nga namugna isip self-signed nga mga sertipiko o paggamit sa Let's encrypt's certbot sa /nginx/certificates. Kini nga lokasyon kinahanglan adunay mga folder alang sa office.yourdomain.com ug cloud.yourdomain.com, nga adunay fullchain1.pem ug privkey1.pem nga mga file sa matag usa alang sa kadena sa sertipiko ug pribadong yawe sa server, matag usa. Mahimo nimong mabasa ang dugang bahin sa kung giunsa paghimo ang usa ka sertipiko nga gipirmahan sa kaugalingon dinhi. www.akadia.com/services/ssh_test_certificate.html (pag-usab sa ngalan sa .key ug .crt sa .pem molihok nga dili mabag-o ang istruktura sa file para sa nginx).

Human niana, among gihubit ang vhost file. Una namon gihubit ang pamatasan sa port 80 ingon usa ka yano nga pag-redirect sa https, tungod kay dili namo gusto nga tugutan ang bisan unsang http nga trapiko

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

Naghimo kami og duha ka virtual server sa port 443 alang sa among mga serbisyo:

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

Lakang 2: serbisyo sa dokumento

Karon kinahanglan namong idugang ang sudlanan sa serbisyo sa dokumento sa among docker-compose.yml. Walay espesyal nga i-configure dinhi.

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

Apan ayaw kalimot sa pag-link sa nginx nga sudlanan sa serbisyo sa dokumento:

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

Lakang 3: NextCloud

Una, pagdugang bag-ong mga serbisyo:

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

ug pagdugang usa ka link sa nginx:

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

Karon na ang panahon sa pagkarga sa mga sudlanan.

docker-compose up -d  

Pagkataudtaod, ang nginx magsugod sa pag-redirect kanimo sa NextCloud front end, nga mao ang default nga panid sa pagsumpo. Kinahanglan nimong isulod ang username ug password para sa imong unang admin user ug ang mga kredensyal sa database nga imong gihatag sa docker-compose.yml Kung kompleto na ang setup, maka-login ka. Sa among kaso, ang paghulat hapit usa ka minuto ug nanginahanglan usa ka dugang nga pag-refresh sa panid sa pag-login sa wala pa kami maka-log in sa serbisyo sa panganod.

Ang bintana sa mga setting sa serbisyo sa NextCloudPag-set up sa NextCloud + ONLYOFFICE sa parehas nga server nga adunay Docker

Lakang 4: Pagkonektar sa NextCloud ug ONLYOFFICE

Niini nga lakang, kinahanglan nimo nga i-install ang aplikasyon para sa NextCloud, nga nagkonektar sa ONLYOFFICE nga pagpaandar. Magsugod kita sa control panel sa aplikasyon sa taas nga tuo nga suok sa menu. Pangitaa ang ONLYOFFICE app (ubos sa Office & text o gamit ang search), i-install ug i-activate kini.

Pagkahuman adto sa Settings pinaagi sa menu sa taas nga tuo nga suok ug kinahanglan nimo nga makit-an ang ONLYOFFICE item sa wala nga menu. Lakaw ngadto niini. Kinahanglan nimo nga irehistro ang mga adres sama sa gipakita sa ubos.

Mga setting sa aplikasyon sa panagsamaPag-set up sa NextCloud + ONLYOFFICE sa parehas nga server nga adunay Docker

Ang una nga adres gigamit sa pag-link sa pipila ka mga js ug css nga mga file direkta gikan sa aplikasyon nga nagdagan sa browser (kini ang kinahanglan namon aron maablihan ang pag-access sa serbisyo nga ONLYOFFICE pinaagi sa nginx). Ang sekreto nga yawe wala gigamit tungod kay kami nagsalig sa Docker isolation layer labaw pa sa padayon nga authentication key. Ang ikatulo nga adres gigamit sa NextCloud nga sudlanan aron direktang magkonektar sa ONLYOFFICE API, ug kini naggamit sa default internal hostname gikan sa Docker. Aw, ang katapusan nga uma gigamit aron ang ONLYOFFICE makahimo og mga hangyo balik sa NextCloud API gamit ang usa ka eksternal nga IP address o usa ka internal nga Docker address kung ikaw naggamit sa mga network sa Docker, apan wala kini gigamit sa among kaso. Siguroha nga ang imong firewall setting motugot niini nga mga matang sa interaksyon.

Pagkahuman sa pagtipig, sulayan sa NextCloud ang koneksyon ug, kung husto ang tanan, ipakita kanimo ang mga setting nga may kalabotan sa panagsama - pananglitan, kung unsang mga klase sa mga file ang mahimong i-edit sa kini nga panagsama. Ipasibo sumala sa imong nakita nga angay.

Ang katapusang lakang: asa pangitaon ang editor

Kung mobalik ka sa imong mga folder sa pagtipig sa panganod ug pag-klik sa "+" aron makahimo usa ka bag-ong file, unya adunay ka bag-ong kapilian sa paghimo usa ka dokumento, spreadsheet o presentasyon. Uban sa ilang tabang, makahimo ka ug makahimo dayon sa pag-edit niini nga mga matang sa mga file gamit ang ONLYOFFICE.

Menu sa paghimo sa filePag-set up sa NextCloud + ONLYOFFICE sa parehas nga server nga adunay Docker

Dugang 1

Ang tibuok nga sulod sa docker-compose.yml makita dinhi: https://pastebin.com/z1Ti1fTZ

Source: www.habr.com

Idugang sa usa ka comment