டோக்கருடன் ஒரே சர்வரில் NextCloud + ONLYOFFICE ஐ அமைக்கிறது

ஹே ஹப்ர்! கட்டுரையின் மொழிபெயர்ப்பை உங்கள் கவனத்திற்கு முன்வைக்கிறேன் "Docker உடன் ஒரே சர்வரில் NextCloud மற்றும் ONLYOFFICE ஐ அமைத்தல்".

தொழில்நுட்பம் சார்ந்த நபர்களின் வாழ்க்கையில் Google டாக்ஸ் மற்றும் கிளவுட் ஸ்டோரேஜ் போன்ற ஆன்லைன் அலுவலக தொகுப்புகளின் மதிப்பை குறைத்து மதிப்பிடுவது கடினம். தொழில்நுட்பம் மிகவும் பரவலாகிவிட்டது, நீண்ட காலமாக அலுவலக பயன்பாடுகள் சந்தையில் ஆதிக்கம் செலுத்தும் மைக்ரோசாப்ட் கூட, சமீபத்தில் Office 365 இணைய பயன்பாட்டை உருவாக்குவதிலும் பயனர்களை தங்கள் சொந்த சேவைகளைப் பயன்படுத்துவதற்கான சந்தா மாதிரிக்கு மாறுவதற்கும் கவனம் செலுத்துகிறது. பூனையின் கீழ் தங்கள் சொந்த சேமிப்பகத்தை நிறுவி உள்ளமைக்கும் செயல்முறையில் ஆர்வமுள்ளவர்களை நாங்கள் அழைக்கிறோம்.

சில காலத்திற்கு முன்பு கிளவுட் ஸ்டோரேஜ் தீர்வுகள் மற்றும் மைக்ரோ நிறுவனத்தில் பயன்படுத்த எளிதாக பயன்படுத்தக்கூடிய திறந்த மூல வலை அலுவலக தொகுப்புகளைப் பார்த்தோம். அனைத்து ஆவணங்களையும் ஆன்லைனில் வைத்திருப்பதற்கான முக்கிய உந்துதல், குறைந்த அளவிலான பரிவர்த்தனைகள் இருந்தபோதிலும், ஆவணங்களை குறைந்தபட்சமாக வைத்திருப்பது மற்றும் நல்ல வணிக நடைமுறைகளை செயல்படுத்துவது ஆகும். நாணயத்தின் மறுபக்கம் என்னவென்றால், இந்தச் சேவையை வழங்குவதற்கு கிளவுட் சர்வரை வாடகைக்கு எடுப்பது, அதை நேரடியாக நிறுவன வளாகத்தில் சேமிப்பதை விட குறைவான பாதுகாப்பானது, ஏனெனில் உங்கள் சர்வர் அல்லது ட்ராஃபிக்கை தணிக்கை செய்வதற்கான எந்த வழியும் உங்களிடம் இல்லை. எனவே, எண்ட்-டு-எண்ட் என்க்ரிப்ஷன் மற்றும் ஓப்பன் சோர்ஸ் மென்பொருளும் தேவை.

ஓப்பன் சோர்ஸ் தீர்வுகள் பற்றிய அனைத்து தகவல்களையும் கணக்கில் எடுத்துக்கொண்டு, கிளவுட் ஸ்டோரேஜிற்காக உருவாக்கப்பட்ட இரண்டு செயலில் உள்ள திட்டங்களை (கடந்த 12 மாதங்களாக ஜிட் களஞ்சியத்தில் உள்ள கமிட்களுடன்) கண்டறிந்தோம்: NextCloud மற்றும் OwnCloud மற்றும் ஒரே செயலில் உள்ள ONLYOFFICE அலுவலக தொகுப்பு. இரண்டு கிளவுட் ஸ்டோரேஜ் கருவிகளும் ஏறக்குறைய ஒரே மாதிரியான செயல்பாட்டைக் கொண்டுள்ளன, மேலும் மென்பொருளுடன் வசதியான பயனர் தொடர்புக்காக ONLYOFFICE உடன் ஒருங்கிணைக்க முடியும் என்பதற்கான ஆதாரங்களின் இருப்பின் அடிப்படையில் NextCloud ஐத் தேர்ந்தெடுப்பதற்கான முடிவு எடுக்கப்பட்டது. எவ்வாறாயினும், நாங்கள் சேவைகளைப் பயன்படுத்தத் தொடங்கியபோது, ​​மேலே உள்ள சேவைகளை ஒருங்கிணைத்தல் பற்றிய தகவல்களின் பற்றாக்குறை வெளிப்படையானது. எப்படி ஒருங்கிணைப்பது என்பது குறித்த 3 டுடோரியல் வீடியோக்களை நாங்கள் கண்டோம்:

பகிரப்பட்ட nginx உடன் NextCloud போன்ற இயற்பியல் சேவையகத்தில் ONLYOFFICE ஆவண சேவையை நிறுவுவதற்கான கேள்விக்கு மூன்று வீடியோக்களில் எதுவும் பதிலளிக்கவில்லை. அதற்கு பதிலாக, அவர்கள் ஆவண சேவை api க்கு தனி போர்ட்களைப் பயன்படுத்துவது போன்ற பிரிப்பு நுட்பங்களைப் பயன்படுத்தினர். மற்றொரு ஆலோசனையானது, ஆவணச் சேவைக்கான தனிச் சேவையகத்தைப் பயன்படுத்துவதாகும், அணுகல் விசையை (தரவு கிளவுட்டை அணுகுவதற்கான உரிமையை உறுதிப்படுத்தும் முன்பே அறியப்பட்ட அணுகல் விசை) மற்றும் TLS சான்றிதழ்களை நிறுவ ஆவணச் சேவையில் கட்டமைக்கப்பட்ட nginx நிகழ்வை கைமுறையாக உள்ளமைக்க வேண்டும். மேலே உள்ள அணுகுமுறைகள் பாதுகாப்பாக இல்லை மற்றும் போதுமான பலனளிக்கவில்லை என்று கருதப்பட்டது, எனவே நாங்கள் NextCloud, ONLYOFFICE மற்றும் docker-compose ஐப் பயன்படுத்தி டொமைன் பெயர்கள் மூலம் கோரிக்கைகளைப் பிரிக்கும் பொதுவான nginx ஆகியவற்றை ஒருங்கிணைத்தோம். அதை எப்படி செய்வது என்பது பற்றிய படிப்படியான தகவல் இங்கே.

படி 1: nginx கொள்கலன்

இது மிகவும் எளிமையான அமைப்பாகும், ஆனால் இந்த படிநிலைக்கு தலைகீழ் ப்ராக்ஸி சேவையகத்தை உள்ளமைக்க அதிக வேலை தேவைப்படுகிறது. முதலில் nginx:stable படத்திற்கான docker-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 (nginx க்கான கோப்பு கட்டமைப்பை மாற்றாமல் .key மற்றும் .crt க்கு .pem என மறுபெயரிடுதல்).

அதன் பிறகு, 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 உங்களை நெக்ஸ்ட் கிளவுட் முன் முனைக்கு திருப்பிவிடத் தொடங்கும், இது இயல்புநிலை உள்ளமைவுப் பக்கமாகும். உங்கள் முதல் நிர்வாக பயனருக்கான பயனர்பெயர் மற்றும் கடவுச்சொல் மற்றும் docker-compose.yml இல் நீங்கள் வழங்கிய தரவுத்தள நற்சான்றிதழ்களை நீங்கள் உள்ளிட வேண்டும், அமைப்பு முடிந்ததும், நீங்கள் உள்நுழைய முடியும். எங்கள் விஷயத்தில், காத்திருப்பு கிட்டத்தட்ட ஒரு நிமிடம் எடுத்தது மற்றும் நாங்கள் கிளவுட் சேவையில் உள்நுழைவதற்கு முன் உள்நுழைவுப் பக்கத்தின் கூடுதல் புதுப்பிப்பு தேவைப்பட்டது.

NextCloud சேவை அமைப்புகள் சாளரம்டோக்கருடன் ஒரே சர்வரில் NextCloud + ONLYOFFICE ஐ அமைக்கிறது

படி 4: NextCloud மற்றும் ONLYOFFICE ஐ இணைக்கிறது

இந்த கட்டத்தில், நீங்கள் NextCloudக்கான பயன்பாட்டை நிறுவ வேண்டும், இது ONLYOFFICE செயல்பாட்டை இணைக்கிறது. மெனுவின் மேல் வலது மூலையில் உள்ள பயன்பாட்டுக் கட்டுப்பாட்டுப் பலகத்துடன் தொடங்குவோம். ONLYOFFICE பயன்பாட்டைக் கண்டறியவும் (அலுவலகம் & உரையின் கீழ் அல்லது தேடலைப் பயன்படுத்தி), அதை நிறுவி செயல்படுத்தவும்.

அதன் பிறகு மேல் வலது மூலையில் உள்ள மெனு வழியாக அமைப்புகளுக்குச் செல்லவும், இடது மெனுவில் ONLYOFFICE உருப்படியைக் கண்டறியவும். அதற்குள் செல்லுங்கள். கீழே குறிப்பிடப்பட்டுள்ள முகவரிகளை நீங்கள் பதிவு செய்ய வேண்டும்.

ஒருங்கிணைப்பு பயன்பாட்டு அமைப்புகள்டோக்கருடன் ஒரே சர்வரில் NextCloud + ONLYOFFICE ஐ அமைக்கிறது

உலாவியில் இயங்கும் பயன்பாட்டிலிருந்து நேரடியாக சில js மற்றும் css கோப்புகளை இணைக்க முதல் முகவரி பயன்படுத்தப்படுகிறது (இதுதான் nginx மூலம் ONLYOFFICE சேவைக்கான அணுகலைத் திறக்க வேண்டும்). தொடர் அங்கீகரிப்பு விசையை விட டோக்கர் ஐசோலேஷன் லேயரை அதிகம் நம்புவதால், ரகசிய விசை பயன்படுத்தப்படவில்லை. ONLYOFFICE API உடன் நேரடியாக இணைக்க நெக்ஸ்ட்க்ளவுட் கண்டெய்னரால் மூன்றாவது முகவரி பயன்படுத்தப்படுகிறது, மேலும் இது டோக்கரிலிருந்து இயல்புநிலை உள் ஹோஸ்ட்பெயரைப் பயன்படுத்துகிறது. நீங்கள் டோக்கர் நெட்வொர்க்குகளைப் பயன்படுத்தினால், வெளிப்புற ஐபி முகவரி அல்லது உள் டோக்கர் முகவரியைப் பயன்படுத்தி நெக்ஸ்ட் கிளவுட் ஏபிஐக்கு மீண்டும் கோரிக்கைகளை மட்டும் ONLYOFFICE செய்ய முடியும், ஆனால் இது எங்கள் விஷயத்தில் பயன்படுத்தப்படாது. உங்கள் ஃபயர்வால் அமைப்புகள் இந்த வகையான தொடர்புகளை அனுமதிக்கின்றன என்பதை உறுதிப்படுத்தவும்.

சேமித்த பிறகு, நெக்ஸ்ட் கிளவுட் இணைப்பைச் சோதித்து, எல்லாம் சரியாக இருந்தால், ஒருங்கிணைப்பு தொடர்பான அமைப்புகளைக் காண்பிக்கும் - எடுத்துக்காட்டாக, இந்த ஒருங்கிணைப்பின் மூலம் எந்த வகையான கோப்புகளைத் திருத்தலாம். நீங்கள் பொருத்தமாக இருப்பதைத் தனிப்பயனாக்குங்கள்.

இறுதி படி: எடிட்டரை எங்கே கண்டுபிடிப்பது

உங்கள் கிளவுட் ஸ்டோரேஜ் கோப்புறைகளுக்குச் சென்று புதிய கோப்பை உருவாக்க “+” என்பதைக் கிளிக் செய்தால், ஆவணம், விரிதாள் அல்லது விளக்கக்காட்சியை உருவாக்க உங்களுக்கு புதிய விருப்பம் இருக்கும். அவர்களின் உதவியுடன், நீங்கள் ONLYOFFICE ஐப் பயன்படுத்தி இந்த வகையான கோப்புகளை உருவாக்கி உடனடியாக திருத்த முடியும்.

கோப்பு உருவாக்கும் மெனுடோக்கருடன் ஒரே சர்வரில் NextCloud + ONLYOFFICE ஐ அமைக்கிறது

துணை 1

docker-compose.yml இன் முழு உள்ளடக்கத்தையும் இங்கே காணலாம்: https://pastebin.com/z1Ti1fTZ

ஆதாரம்: www.habr.com

கருத்தைச் சேர்