Docker سان ساڳي سرور تي NextCloud + ONLYOFFICE سيٽنگ

اي حبر! مان توهان جي ڌيان ۾ مضمون جو ترجمو پيش ڪريان ٿو "ڊاڪر سان گڏ ھڪڙي سرور تي NextCloud ۽ ONLYOFFICE کي ترتيب ڏيڻ".

اهو مشڪل آهي ته آنلائن آفيس سوٽ جي قيمت کي گھٽ ڪرڻ جهڙوڪ گوگل ڊڪسس ۽ ڪلائوڊ اسٽوريج ٽيڪنالاجي تي مبني ماڻهن جي زندگين ۾. ٽيڪنالاجي ايتري وسيع ٿي چڪي آهي ته Microsoft، جيڪو ڊگهي عرصي تائين آفيس ايپليڪيشن مارڪيٽ تي تسلط ڪري چڪو آهي، تازو ئي Office 365 ويب ايپليڪيشن کي ترقي ڪرڻ تي ڌيان ڏنو آهي ۽ صارفين کي پنهنجون خدمتون استعمال ڪرڻ لاء سبسڪرپشن ماڊل تي سوئچ ڪرڻ لاء قائل ڪيو آهي. اسان انهن کي دعوت ڏيون ٿا جيڪي بلي جي تحت پنهنجي اسٽوريج کي انسٽال ڪرڻ ۽ ترتيب ڏيڻ جي عمل ۾ دلچسپي رکن ٿا.

ڪجهه عرصو اڳ اسان ڏٺو ته ڪلائوڊ اسٽوريج حل ۽ اوپن سورس ويب آفيس سوٽ جيڪي آساني سان استعمال ڪري سگهجن ٿيون مائڪرو-انٽرپرائز ۾ استعمال لاءِ. سڀني دستاويزن کي آن لائن رکڻ جو بنيادي مقصد ڪاغذن جي ڪم کي گهٽ ۾ گهٽ رکڻ ۽ ٽرانزيڪشن جي گهٽ مقدار جي باوجود سٺي ڪاروباري عملن کي لاڳو ڪرڻ آهي. سکين جو فلپ پاسو اهو آهي ته هي خدمت مهيا ڪرڻ لاءِ ڪلائوڊ سرور ڪرائي تي ڏيڻ ان کي سڌو سنئون انٽرپرائز جي احاطي تي محفوظ ڪرڻ کان گهٽ محفوظ آهي، ڇو ته توهان وٽ توهان جي سرور يا ٽرئفڪ تائين جسماني رسائي جي آڊيٽنگ جو ڪو وسيلو ناهي. تنهن ڪري، آخر کان آخر تائين انڪرپشن ۽ اوپن سورس سافٽ ويئر پڻ گهربل آهي.

اوپن سورس حلن جي باري ۾ سڀ موجود معلومات کي مدنظر رکندي، اسان ٻه فعال پراجيڪٽ ڏٺا (گٽ ريپوزٽري ۾ ڪمٽٽس سان گڏ گذريل 12 مهينن کان) ڪلائوڊ اسٽوريج لاءِ ٺاهيا ويا: NextCloud ۽ OwnCloud، ۽ واحد فعال ONLYOFFICE آفيس سوٽ. ٻئي ڪلائوڊ اسٽوريج اوزارن ۾ تقريبن ساڳي ڪارڪردگي آهي، ۽ NextCloud چونڊڻ جو فيصلو ثبوت جي وجود تي ٻڌل هو ته اهو سافٽ ويئر سان صارف جي آرام سان رابطي لاءِ ONLYOFFICE سان ضم ٿي سگهي ٿو. بهرحال، جڏهن اسان خدمتن کي ترتيب ڏيڻ شروع ڪيو، مٿين خدمتن کي ضم ڪرڻ بابت معلومات جي کوٽ ظاهر ٿي وئي. اسان 3 ٽيوٽوريل وڊيوز ڏٺا ته ڪيئن ضم ٿيڻ تي:

ٽنهي وڊيوز مان ڪنهن به هڪ ئي فزيڪل سرور تي ONLYOFFICE دستاويز سروس انسٽال ڪرڻ جي سوال جو جواب نه ڏنو جيئن NextCloud هڪ شيئر نينگڪس سان. ان جي بدران، اهي استعمال ڪيا ويا علحدگي جي ٽيڪنڪ جهڙوڪ دستاويز سروس ايپ لاء الڳ بندرگاهن کي استعمال ڪندي. ٻي تجويز هئي ڊاڪيومينٽ سروس لاءِ الڳ سرور کي ترتيب ڏيڻ، دستي طور تي ڊاڪيومينٽ سروس ۾ ٺاهيل nginx مثال کي ترتيب ڏيڻ لاءِ هڪ رسائي ڪي (هڪ اڳئين سڃاتل رسائي چيڪ جيڪو تصديق ڪري ٿو ڊيٽا ڪلائوڊ تائين رسائي جي حق جي تصديق ڪري ٿو) ۽ TLS سرٽيفڪيٽ. مٿين طريقن کي محفوظ نه سمجهيو ويو ۽ ڪافي اثرائتو نه، تنهن ڪري اسان ضم ڪيو NextCloud، ONLYOFFICE ۽ هڪ عام نينڪس جيڪو ڊومين نالن ذريعي درخواستن کي الڳ ڪري ٿو ڊڪر-ڪپوز استعمال ڪندي. هتي قدم قدم جي معلومات آهي ته اهو ڪيئن ڪجي.

قدم 1: نينڪس ڪنٽينر

اهو هڪ تمام سادو سيٽ اپ آهي، پر هن قدم کي ريورس پراکسي سرور کي ترتيب ڏيڻ لاء تمام گهڻي ڪم جي ضرورت آهي. اسان پهريون ڀيرو nginx: stable image لاءِ ڊاڪر-compose ترتيب ٺاهي.

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 ( .key ۽ .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: دستاويز جي خدمت

هاڻي اسان کي اسان جي docker-compose.yml ۾ دستاويز سروس ڪنٽينر شامل ڪرڻ جي ضرورت آهي. هتي ترتيب ڏيڻ لاء ڪجهه خاص ناهي.

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

پر nginx ڪنٽينر کي دستاويز جي خدمت سان ڳنڍڻ نه وساريو:

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  

ٿوري دير کان پوء، nginx توهان کي ريڊائريڪٽ ڪرڻ شروع ڪندو NextCloud سامهون واري آخر ۾، جيڪو ڊفالٽ ترتيب وارو صفحو آهي. توهان کي پنهنجي پهرين انتظامي استعمال ڪندڙ لاءِ يوزرنيم ۽ پاسورڊ داخل ڪرڻ جي ضرورت پوندي ۽ ڊيٽابيس جي سندون جيڪي توهان docker-compose.yml ۾ مهيا ڪيون آهن هڪ دفعو سيٽ اپ مڪمل ٿي ويندو، توهان لاگ ان ٿيڻ جي قابل هوندا. اسان جي حالت ۾، انتظار لڳ ڀڳ هڪ منٽ ورتو ۽ لاگ ان صفحي جي اضافي ريفريش جي ضرورت آهي ان کان اڳ جو اسان ڪلائوڊ سروس ۾ لاگ ان ڪري سگهون.

NextCloud سروس سيٽنگون ونڊوDocker سان ساڳي سرور تي NextCloud + ONLYOFFICE سيٽنگ

قدم 4: ڳنڍڻ NextCloud ۽ ONLYOFFICE

هن قدم تي، توهان کي انسٽال ڪرڻ جي ضرورت پوندي NextCloud لاءِ ايپليڪيشن، جيڪا ڳنڍي ٿي ONLYOFFICE ڪارڪردگي. اچو ته مينيو جي مٿين ساڄي ڪنڊ ۾ ايپليڪيشن ڪنٽرول پينل سان شروع ڪريون. ONLYOFFICE ايپ ڳولھيو (آفس ​​۽ ٽيڪسٽ يا سرچ استعمال ڪندي)، ان کي انسٽال ڪريو ۽ چالو ڪريو.

ان کان پوءِ مٿي ساڄي ڪنڊ ۾ مينيو ذريعي سيٽنگون ڏانهن وڃو ۽ توهان کي کاٻي مينيو ۾ ONLYOFFICE شيون ڳولڻ گهرجي. ان ۾ وڃو. توھان کي ھيٺ ڏنل ائڊريس رجسٽر ڪرڻ جي ضرورت پوندي.

انضمام ايپليڪيشن سيٽنگونDocker سان ساڳي سرور تي NextCloud + ONLYOFFICE سيٽنگ

پهريون پتو ڪجهه js ۽ css فائلن کي سڌو سنئون برائوزر ۾ هلندڙ ايپليڪيشن مان ڳنڍڻ لاءِ استعمال ڪيو ويندو آهي (هي اهو آهي جيڪو اسان کي نينڪس ذريعي ONLYOFFICE سروس تائين رسائي کولڻ جي ضرورت آهي). ڳجهي چيڪ استعمال نه ڪئي وئي آهي ڇو ته اسان ڊاکر جي اڪيلائي واري پرت تي مسلسل تصديق واري چيڪ کان وڌيڪ اعتماد رکون ٿا. ٽيون ايڊريس استعمال ڪيو ويندو آهي NextCloud ڪنٽينر ذريعي سڌو سنئون ڳنڍڻ لاءِ ONLYOFFICE API، ۽ اهو استعمال ڪري ٿو ڊفالٽ اندروني ميزبان جو نالو Docker کان. خير، آخري فيلڊ استعمال ڪيو ويو آهي ته جيئن ONLYOFFICE درخواستون واپس ڪري سگهي NextCloud API کي استعمال ڪندي هڪ خارجي IP پتي يا هڪ اندروني ڊڪر ايڊريس جيڪڏهن توهان Docker نيٽ ورڪ استعمال ڪري رهيا آهيو، پر اهو اسان جي صورت ۾ استعمال نه ڪيو ويو آهي. پڪ ڪريو ته توهان جي فائر وال سيٽنگون انهن قسمن جي ڳالهين جي اجازت ڏين ٿيون.

محفوظ ڪرڻ کان پوء، NextCloud ڪنيڪشن کي جانچيندو ۽، جيڪڏھن سڀ ڪجھ صحيح آھي، توھان کي ڏيکاريندو انضمام سان لاڳاپيل سيٽنگون - مثال طور، ڪھڙي قسم جي فائلن کي ھن انضمام سان ايڊٽ ڪري سگھجي ٿو. ترتيب ڏيو جيئن توهان مناسب ڏسندا.

آخري قدم: ڪٿي ايڊيٽر ڳولڻ لاء

جيڪڏهن توهان پنهنجي ڪلائوڊ اسٽوريج فولڊر ڏانهن واپس وڃو ۽ نئين فائل ٺاهڻ لاءِ ”+“ تي ڪلڪ ڪريو، ته پوءِ توهان وٽ دستاويز، اسپريڊ شيٽ يا پيشڪش ٺاهڻ لاءِ هڪ نئون آپشن هوندو. انهن جي مدد سان، توهان ٺاهيندا ۽ فوري طور تي انهن قسمن جي فائلن کي ONLYOFFICE استعمال ڪندي ترميم ڪري سگهندا.

فائل ٺاهڻ وارو مينيوDocker سان ساڳي سرور تي NextCloud + ONLYOFFICE سيٽنگ

اضافي 1

docker-compose.yml جو مڪمل مواد هتي ڳولي سگھجي ٿو: https://pastebin.com/z1Ti1fTZ

جو ذريعو: www.habr.com

تبصرو شامل ڪريو