Përshëndetje, Habr! po ju paraqes përkthimin e artikullit .
ĂshtĂ« e vĂ«shtirĂ« tĂ« nĂ«nvlerĂ«sosh pĂ«rfitimin e paketave online tĂ« aplikacioneve zyrtare si Google Docs dhe ruajtjeve nĂ« cloud nĂ« jetĂ«n e njerĂ«zve teknikisht tĂ« orientuar (tech-oriented people). TeknologjitĂ« janĂ« pĂ«rhapur aq shumĂ« sa qĂ« madje edhe kompania Microsoft, e cila pĂ«r njĂ« kohĂ« tĂ« gjatĂ« ka dominuar tregun e aplikacioneve zyrtare, kohĂ«t e fundit ka fokusuar vĂ«mendjen nĂ« zhvillimin e aplikacionit web Office 365 dhe bindjen e pĂ«rdoruesve tĂ« kalojnĂ« nĂ« njĂ« model abonimi pĂ«r pĂ«rdorimin e shĂ«rbimeve tĂ« veta. TĂ« gjithĂ« ata qĂ« janĂ« tĂ« interesuar nĂ« procesin e instalimit dhe konfigurimit tĂ« ruajtjes sĂ« tyre personale janĂ« tĂ« ftuar tĂ« vazhdojnĂ«.
Dikur kemi njohur me zgjidhjet për ruajtje në cloud dhe paketat e aplikacioneve zyrtare me kod të hapur, të cilat mund të implementohen lehtësisht për përdorim në mikro-përpjesëtime. Motivimi kryesor për ruajtjen e të gjithë dokumentacionit online është minimizimi i volumit të punimeve me letra, dhe mbështetja e praktikave pozitive të biznesit, pavarësisht nga volumi i vogël i operacioneve. Ana tjetër e monedhës është se qiraja e një serveri në cloud për ofrimin e këtij shërbimi është më pak e sigurt se ruajtja direkt në vendin e kompanisë, pasi nuk keni asnjë mjet për të audituar aksesin fizik në serverin tuaj ose trafikun. Ndërkohë, kërkohet gjithashtu enkriptimi end-to-end dhe softueri me kod të hapur.
Duke marrë parasysh të gjithë informacionin e disponueshëm mbi zgjidhjet me kod të hapur, ne gjetëm dy projekte aktiv (me komite në depot git gjatë 12 muajve të fundit), të zhvilluara për ruajtje në cloud: NextCloud dhe OwnCloud, dhe paketën e vetme aktive të aplikacioneve zyrtare ONLYOFFICE. Funksionaliteti i të dyja mjeteve për ruajtje në cloud është rreth e rrotull i njëjtë, dhe vendimi për të zgjedhur NextCloud u bazua në ekzistencën e provave se mund të integrohet me ONLYOFFICE për një ndërveprim më të rehatshëm me softuerin. Megjithatë, kur filluam me konfigurimin e shërbimeve, mungesa e informacionit mbi integrimin e shërbimeve të përmendura më lart u bë evidente. Gjetëm 3 video trajnimi mbi se si të realizohet integrimi:
Asnjë nga tre videot nuk iu përgjigj pyetjeve për instalimin e shërbimit të dokumenteve ONLYOFFICE në të njëjtin server fizik si NextCloud me nginx të përbashkët. Në vend të kësaj, ata përdorën teknologji ndarjeje si përdorimi i porteve të ndara për shërbimin API të dokumenteve. Një variant tjetër i propozuar ishte vendosja e një serveri të veçantë për shërbimin e dokumenteve me konfigurimin manual të instancës nginx të integruar brenda shërbimit të dokumenteve për instalimin e çelësit të aksesit (një çelës aksesimi i njohur paraprakisht, i cili konfirmon të drejtat për akses në cloudin e dhënave) dhe certifikatave TLS. Qasjet e përmendura më sipër u njohën si jo të sigurta dhe jo të mjaftueshme efikase, prandaj ne bëmë integrimin e NextCloud, ONLYOFFICE dhe nginx të përbashkët, i cili ndan kërkesat sipas emrave të domain-it, duke përdorur docker-compose. Këtu është informacion hap pas hapi se si ta bëni këtë.
Hapi 1: konteneri nginx
Ky është një instalim shumë i thjeshtë, por ky hap kërkon më shumë punë për konfigurimin e serverit të anasjelljes. Fillimisht krijuam konfigurimin docker-compose për imazhin nginx:stable.
version: '2'
shërbimet:
nginx:
imazhi : nginx:stable
rifillim: gjithmonë
volume:
- ./nginx/nginx-vhost.conf:/etc/nginx/conf.d/default.conf:ro
- ./nginx/certificates:/mycerts
porte:
- 443:443
- 80:80
Kjo krijon njĂ« kontener me portet 80 dhe 443 tĂ« hapura pĂ«r qasje publike, bĂ«n hartimin e konfigurimit nĂ« nginx/nginx-vhost.conf dhe pĂ«rcakton ruajtjen pĂ«r certifikat e gjeneruara si certifikata tĂ« vetĂ«-nĂ«nshkruara ose duke pĂ«rdorur Certbot nga Letâs Encrypt nĂ« /nginx/certificates. NĂ« kĂ«tĂ« vend duhet tĂ« jenĂ« dosjet pĂ«r office.yourdomain.com dhe cloud.yourdomain.com me skedarĂ«t fullchain1.pem dhe privkey1.pem nĂ« secilĂ«n pĂ«r zinxhirin e certifikatave dhe çelĂ«sin privat tĂ« serverit pĂ«rkatĂ«sisht. Mund tĂ« lexoni mĂ« shumĂ« se si tĂ« gjeneroni njĂ« certifikatĂ« tĂ« vetĂ«-nĂ«nshkruar kĂ«tu. (ndryshimi i emrave tĂ« skedarĂ«ve .key dhe .crt nĂ« .pem funksionon pa konvertimin e strukturĂ«s sĂ« skedarit pĂ«r nginx).
Pas kësaj, ne përcaktuam skedarin vhost. Fillimisht përcaktojmë sjelljen e portit 80 si një përqasje të thjeshtë në https, pasi nuk duam të lejojmë asnjë trafik http.
server {
dëgjo 80;
lokacion / {
kthe 301
https://$host$request_uri;
}
}
Më pas krijuam dy servera virtualë në portin 443 për shërbimet tona:
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;
}
}
Hapi 2: shërbimi i dokumenteve
Tani na nevojitet të shtojmë kontejnerin e shërbimit të dokumenteve në docker-compose.yml tonë. Nuk ka shumë për të konfiguruar këtu.
shërbimet:
...
onlyoffice:
image: onlyoffice/documentserver
restart: always
Por mos harroni të lidhni kontejnerin nginx me shërbimin e dokumenteve:
shërbimet:
...
nginx:
...
depends_on:
- onlyoffice
Hapi 3: NextCloud
Së pari, shtojmë shërbime të reja:
shërbimet:
...
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- /data/nextcloud_db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=#vendosni ndonjë fjalëkalim këtu
- MYSQL_PASSWORD=#vendosni ndonjë fjalëkalim tjetër këtu
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
depends_on:
- db
- onlyoffice
restart: always
dhe shtojmë një lidhje me nginx:
shërbimet:
...
nginx:
...
depends_on:
- app
Tani është koha të ngarkoni kontejnerët.
docker-compose up -d
Pas pak çastesh, nginx do të fillojë t'ju drejtojë në ndërfaqen e jashtme të NextCloud, e cila si parazgjedhje është faqja e konfigurimit. Ju do t'ju nevojitet të shkruani emrin e përdoruesit dhe fjalëkalimin për përdoruesin tuaj të parë administrues dhe kredencialet e bazës së të dhënave që keni specifikuar në docker-compose.yml. Pas përfundimit të konfigurimit, do të mund të kyçeni. Në rastin tonë, pritja zgjati pothuajse një minutë dhe kërkoi një rifreskim të mëtejshëm të faqeve të hyrjes para se të arrijmë të hyjmë në shërbimin e cloud.
Dritarja e konfigurimit të shërbimit NextCloud
Hapi 4: lidhja mes NextCloud dhe ONLYOFFICE
NĂ« kĂ«tĂ« hap do t'ju nevojitet tĂ« instaloni aplikacionin pĂ«r NextCloud, i cili lidh funksionalitetin ONLYOFFICE. TĂ« fillojmĂ« me panelin e kontrollit tĂ« aplikacioneve nĂ« kĂ«ndin e sipĂ«rm tĂ« djathtĂ« tĂ« menusĂ«. Gjeni aplikacionin ONLYOFFICE (nĂ« seksionin âZyra dhe tekstâ ose duke pĂ«rdorur kĂ«rkimin), instaloni dhe aktivizoni atĂ«.
Pas kësaj, drejtohuni te Cilësimet përmes menusë në këndin e sipërm të djathtë, dhe duhet të gjeni elementin ONLYOFFICE në menunë e majtë. Hyni në të. Do t'ju duhet të shkruani adresat siç është përshkruar më poshtë.
Cilësimet e aplikacionit të integrimit
Adresa e parĂ« pĂ«rdoret pĂ«r t'u lidhur me disa skedarĂ« js dhe css drejtpĂ«rdrejt nga aplikacioni i hapur nĂ« shfletues (kjo Ă«shtĂ« arsyeja pse na nevojitet tĂ« hapim aksesin nĂ« shĂ«rbimin ONLYOFFICE pĂ«rmes nginx). ĂelĂ«si sekret nuk pĂ«rdoret, sepse ne i besojmĂ« shtresĂ«s sĂ« izolimit Docker mĂ« shumĂ« se njĂ« çelĂ«si tĂ« pĂ«rhershĂ«m tĂ« autentikimit. Adresa e tretĂ« pĂ«rdoret nga konteneri NextCloud pĂ«r lidhje direkte me ONLYOFFICE API, dhe ajo pĂ«rdor emrin e brendshĂ«m tĂ« hostit qĂ« Ă«shtĂ« default nga Docker. Dhe fusha e fundit pĂ«rdoret pĂ«r tĂ« lejuar ONLYOFFICE tĂ« bĂ«jĂ« kĂ«rkesa prapa nĂ« NextCloud API, duke pĂ«rdorur adresĂ«n IP tĂ« jashtme ose adresĂ«n e brendshme tĂ« Docker, nĂ«se pĂ«rdorni rrjetet Docker, por nĂ« rastin tonĂ«, kjo nuk pĂ«rdoret. Sigurohuni qĂ« cilĂ«simet e firewall-it tuaj lejojnĂ« kĂ«to lloje interaksionesh.
Pasi të ruani, NextCloud do të testojë lidhjen dhe, nëse gjithçka është e saktë, do t'ju tregojë cilësimet në lidhje me integrimin - për shembull, se cilat lloje skedarësh mund të redaktohen me këtë integrim. Konfiguroni si të nevojshme.
Hapi përfundimtar: ku të kërkoni redaktorin
NĂ«se ktheheni nĂ« dosjet e ruajtjes suaj nĂ« cloud dhe klikoni mbi â+â pĂ«r tĂ« krijuar njĂ« skedar tĂ« ri, do t'ju jetĂ« e disponueshme njĂ« mundĂ«si e re pĂ«r tĂ« krijuar njĂ« dokument, njĂ« tabelĂ« apo njĂ« prezantim. Me ndihmĂ«n e tyre do tĂ« krijoni dhe do tĂ« mund tĂ« redaktoni menjĂ«herĂ« kĂ«to lloje skedarĂ«sh duke pĂ«rdorur ONLYOFFICE.
Menuja e krijimit të skedarëve
Shtesa 1
Përmbajtja e plotë e docker-compose.yml mund të gjendet këtu:
Burimi: habr.com
