د Docker سره په ورته سرور کې د NextCloud + ONLYOFFICE تنظیم کول

اې حبره! زه ستاسو پام ته د مقالې ژباړه وړاندې کوم "د ډاکر سره په یو واحد سرور کې د NextCloud او ONLYOFFICE تنظیم کول".

د تخنیکي پلوه خلکو په ژوند کې د ګوګل ډاکس او کلاوډ ذخیره په څیر د آنلاین دفتر سوټونو ارزښت کمول ګران دي. ټیکنالوژي دومره پراخه شوې چې حتی مایکروسافټ ، چې د اوږدې مودې لپاره د دفتر غوښتنلیک بازار باندې تسلط لري ، پدې وروستیو کې د Office 365 ویب غوښتنلیک رامینځته کولو باندې تمرکز کړی او کاروونکي هڅوي چې د خپلو خدماتو کارولو لپاره د ګډون ماډل ته لاړ شي. موږ هغو کسانو ته بلنه ورکوو چې د بلی لاندې د خپل ذخیره نصب او تنظیم کولو پروسې سره علاقه لري.

یو څه وخت دمخه موږ د کلاوډ ذخیره کولو حلونو او د خلاصې سرچینې ویب دفتر سوټونو ته وکتل چې په اسانۍ سره په مایکرو تصدۍ کې د کارولو لپاره ځای په ځای کیدی شي. د ټولو اسنادو آنلاین ساتلو اصلي انګیزه دا ده چې د کاغذ کار لږترلږه ساتل او د راکړې ورکړې د کم مقدار سره سره د سوداګرۍ ښه عمل پلي کول دي. د سکې بل اړخ دا دی چې د دې خدمت چمتو کولو لپاره د کلاوډ سرور کرایه کول په مستقیم ډول د تصدۍ په احاطه کې د ذخیره کولو په پرتله لږ خوندي دي ، ځکه چې تاسو خپل سرور یا ترافیک ته د فزیکي لاسرسي پلټنې هیڅ وسیله نلرئ. له همدې امله، له پای څخه تر پایه کوډ کول او د خلاصې سرچینې سافټویر هم اړین دي.

د خلاصې سرچینې حلونو په اړه ټول موجود معلومات په پام کې نیولو سره ، موږ دوه فعالې پروژې وموندلې (د تیرو 12 میاشتو لپاره د git ذخیره کې ژمنې سره) د کلاوډ ذخیره کولو لپاره رامینځته شوي: NextCloud او OwnCloud، او یوازینی فعال ONLYOFFICE دفتر سویټ. د دواړو کلاوډ ذخیره کولو وسیلو فعالیت نږدې ورته دی ، او د NextCloud غوره کولو پریکړه د شواهدو شتون پراساس وه چې دا د سافټویر سره د کارونکي آرامۍ متقابل عمل لپاره ONLYOFFICE سره مدغم کیدی شي. په هرصورت، کله چې موږ د خدماتو پلي کول پیل کړل، د پورتنیو خدماتو ادغام په اړه د معلوماتو نشتوالی څرګند شو. موږ د ادغام څرنګوالي په اړه 3 درسي ویډیوګانې وموندل:

له دریو ویډیوګانو څخه هیڅ یو د شریک شوي نګینکس سره NextCloud په ورته فزیکي سرور کې د ONLYOFFICE سند خدمت نصبولو پوښتنې ته ځواب نه دی ورکړی. پرځای یې، دوی د جلا کولو تخنیکونه کارولي لکه د سند خدمت API لپاره د جلا بندرونو کارول. بل وړاندیز شوی اختیار دا و چې د سند خدمت لپاره جلا سرور ځای په ځای کړي ، په لاسي ډول د لاسرسي کیلي نصبولو لپاره د لاسوند خدمت کې جوړ شوی نګینکس مثال تنظیم کړئ (د مخکیني پیژندل شوي لاسرسي کیلي چې د ډیټا کلاوډ ته د لاسرسي حق تاییدوي) او TLS سندونه. پورتنۍ کړنلارې خوندي نه ګڼل شوي او کافي اغیزمن ندي، نو موږ د NextCloud، ONLYOFFICE او یو عام نګینکس مدغم کړو چې د ډاکر - کمپوز په کارولو سره د ډومین نومونو لخوا غوښتنې جلا کوي. دلته د دې کولو څرنګوالي په اړه ګام په ګام معلومات دي.

1 ګام: د nginx کانتینر

دا یو خورا ساده ترتیب دی، مګر دا مرحله د ریورس پراکسي سرور تنظیم کولو لپاره خورا کار ته اړتیا لري. موږ لومړی د نګینکس: مستحکم عکس لپاره د ډاکر - کمپوز ترتیب رامینځته کړ.

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

دا د 80 او 443 بندرونو سره یو کانټینر رامینځته کوي چې د خلکو لپاره خلاص وي ، د nginx/nginx-vhost.conf لپاره ترتیب نقشه کوي ، او د ځان لاسلیک شوي سندونو په توګه رامینځته شوي سندونو لپاره پلورنځي تعریفوي یا په /nginx/certificates کې د سرټبوټ کوډ کړئ. دا ځای باید د office.yourdomain.com او cloud.yourdomain.com لپاره فولډر ولري، په ترتیب سره د سند سلسلې او سرور شخصي کیلي لپاره په هر یو کې د fullchain1.pem او privkey1.pem فایلونو سره. تاسو کولی شئ دلته د ځان لاسلیک شوي سند رامینځته کولو څرنګوالي په اړه نور ولولئ. www.akadia.com/services/ssh_test_certificate.html (. کیلي او .crt ته .pem نوم بدلول د nginx لپاره د فایل جوړښت بدلولو پرته کار کوي).

له هغې وروسته، موږ د vhost فایل تعریف کړ. موږ لومړی د پورټ 80 چلند د https ته د ساده لارښود په توګه تعریف کوو، ځکه موږ نه غواړو کوم http ترافیک ته اجازه ورکړو

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

موږ بیا د خپلو خدماتو لپاره په 443 بندر کې دوه مجازی سرورونه جوړ کړل:

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

2 ګام: د اسنادو خدمت

اوس موږ اړتیا لرو چې د سند خدمت کانټینر زموږ په ډاکر-compose.yml کې اضافه کړو. دلته د تنظیم کولو لپاره کوم ځانګړی شتون نلري.

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

مګر مه هیروئ چې د نګینکس کانټینر د سند خدمت سره وصل کړئ:

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

3 ګام: NextCloud

لومړی، نوي خدمتونه اضافه کړئ:

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

او nginx ته لینک اضافه کړئ:

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

اوس د کانټینرونو بارولو وخت دی.

docker-compose up -d  

یو څه وروسته، نګینکس به تاسو د NextCloud مخکینۍ پای ته لیږل پیل کړي، کوم چې د ډیفالټ ترتیب پاڼه ده. تاسو به اړتیا ولرئ د خپل لومړي اډمین کارونکي لپاره کارن-نوم او پټنوم دننه کړئ او د ډیټابیس سندونه چې تاسو په docker-compose.yml کې چمتو کړي یوځل چې تنظیم بشپړ شي ، تاسو به وکولی شئ ننوتئ. زموږ په قضیه کې، انتظار نږدې یوه دقیقه ونیوله او مخکې لدې چې موږ د کلاوډ خدمت ته ننوتلو د ننوتلو پا pageې اضافي ریفریش ته اړتیا درلوده.

د NextCloud خدماتو ترتیباتو کړکۍد Docker سره په ورته سرور کې د NextCloud + ONLYOFFICE تنظیم کول

4 ګام: د NextCloud او ONLYOFFICE سره وصل کول

پدې مرحله کې ، تاسو اړتیا لرئ د NextCloud غوښتنلیک نصب کړئ ، کوم چې د ONLYOFFICE فعالیت سره وصل کوي. راځئ چې د مینو په پورتنۍ ښیې کونج کې د غوښتنلیک کنټرول پینل سره پیل وکړو. د ONLYOFFICE غوښتنلیک ومومئ (د دفتر او متن برخه کې یا د لټون په کارولو سره)، نصب او فعال کړئ.

له دې وروسته په پورتنۍ ښیې کونج کې د مینو له لارې تنظیماتو ته لاړشئ او تاسو باید په ښي مینو کې یوازې د دفتر توکي ومومئ. ته لاړ شه. تاسو به اړتیا ولرئ چې لاندې پتې ثبت کړئ.

د ادغام غوښتنلیک تنظیماتد Docker سره په ورته سرور کې د NextCloud + ONLYOFFICE تنظیم کول

لومړی پته د ځینې js او css فایلونو سره په مستقیم ډول په براوزر کې د چلولو غوښتنلیک څخه لینک کولو لپاره کارول کیږي (دا هغه څه دي چې موږ اړتیا لرو د نګینکس له لارې ONLYOFFICE خدمت ته لاسرسی خلاص کړو). پټ کیلي نه کارول کیږي ځکه چې موږ د دوامداره تصدیق کیلي څخه ډیر د ډاکر انزوا پرت باور لرو. دریم پته د NextCloud کانټینر لخوا کارول کیږي ترڅو مستقیم د ONLYOFFICE API سره وصل شي، او دا د ډاکر څخه ډیفالټ داخلي کوربه نوم کاروي. ښه ، وروستی ساحه کارول کیږي ترڅو یوازې د بهرني IP پتې یا داخلي ډاکر پتې په کارولو سره ONLYOFFICE بیرته NextCloud API ته غوښتنې وکړي که تاسو د ډاکر شبکې کاروئ ، مګر دا زموږ په قضیه کې نه کارول کیږي. ډاډ ترلاسه کړئ چې ستاسو د فایروال ترتیبات دا ډول تعاملاتو ته اجازه ورکوي.

د خوندي کولو وروسته ، NextCloud به پیوستون ازموي او که هرڅه سم وي ، تاسو به تاسو ته د ادغام پورې اړوند تنظیمات وښیې - د مثال په توګه ، د دې ادغام لخوا کوم ډول فایلونه ایډیټ کیدی شي. تنظیم کړئ لکه څنګه چې تاسو مناسب ګورئ.

وروستی ګام: چیرته چې مدیر ومومئ

که تاسو بیرته خپل کلاوډ ذخیره فولډر ته لاړشئ او د نوي فایل رامینځته کولو لپاره په "+" کلیک وکړئ ، نو تاسو به د سند ، سپریډ شیټ یا پریزنټشن جوړولو لپاره نوی اختیار ولرئ. د دوی په مرسته، تاسو به د ONLYOFFICE په کارولو سره دا ډول فایلونه جوړ کړئ او سمدلاسه به وکوالی شئ.

د فایل جوړولو مینود Docker سره په ورته سرور کې د NextCloud + ONLYOFFICE تنظیم کول

ضمیمه 1

د docker-compose.yml بشپړ مینځپانګه دلته موندل کیدی شي: https://pastebin.com/z1Ti1fTZ

سرچینه: www.habr.com

Add a comment