Përshëndetje, Habr! po ju paraqes përkthimin e një artikulli .
ĂshtĂ« e vĂ«shtirĂ« tĂ« nĂ«nvlerĂ«sosh dobinĂ« e paketave tĂ« oficeve online si Google Docs dhe ruajtjeve nĂ« re nĂ« jetĂ«n e njerĂ«zve tĂ« orientuar nga teknologjia. TeknologjitĂ« u pĂ«rhapĂ«n nĂ« njĂ« masĂ« kaq tĂ« gjerĂ«, saqĂ« edhe kompania Microsoft, e cila ka dominuar pĂ«r njĂ« kohĂ« tĂ« gjatĂ« nĂ« tregun e aplikacioneve tĂ« oficeve, sĂ« fundmi Ă«shtĂ« pĂ«rqendruar nĂ« zhvillimin e aplikacionit web Office 365 dhe nĂ« bindjen e pĂ«rdoruesve pĂ«r tĂ« kaluar nĂ« njĂ« model abonimi pĂ«r shĂ«rbimet e saj. Ata qĂ« janĂ« tĂ« interesuar pĂ«r procesin e instalimit dhe konfigurimit tĂ« ruajtjes sĂ« tyre i ftojmĂ« tĂ« lexojnĂ« mĂ« poshtĂ«.
Disa kohë më parë, ne u njohëm me zgjidhjet për ruajtjen në re dhe paketat e aplikacioneve web me burim të hapur, të cilat mund të implementohen mjaft lehtë për t'u përdorur në mikro-ndërmarrje. Motivimi kryesor për të ruajtur të gjithë dokumentacionin në internet është minimizimi i sasisë së dokumenteve të printuara dhe implementimi i praktikave pozitive të biznesit, pavarësisht nga vëllimi i vogël i operacioneve. Ana tjetër e medaljes është se qiraja e një serveri në re për ofrimin e këtij shërbimi është më pak e sigurt se ruajtja e drejtpërdrejtë në territorin e ndërmarrjes, pasi nuk keni asnjë mjet për auditimin e aksesit fizik në serverin tuaj ose trafik. Si rezultat, gjithashtu kërkohet enkriptimi end-to-end dhe software me burim të hapur.
Duke parasysh të gjitha informacionet e disponueshme mbi zgjidhjet me burim të hapur, ne gjetëm dy projekte funksionale (me commit në depozitë git në 12 muajt e fundit), të zhvilluara për ruajtjen në cloud: NextCloud dhe OwnCloud, dhe paketa e vetme aktive të aplikacioneve zyrtare ONLYOFFICE. Të dy mjetet për ruajtjen në cloud kanë një funksionalitet të ngjashëm, dhe vendimi për të zgjedhur NextCloud ishte i bazuar në prova se mund të integrohet me ONLYOFFICE për një ndërveprim më të rehatshëm të përdoruesit me softuerin. Megjithatë, kur filluam implementimin e shërbimeve, mungesa e informacionit për integrimin e shërbimeve të përmendura bëhet e qartë. Ne gjetëm 3 video trajnuese mbi se si të realizohet integrimi:
Asnjëra nga tre videot nuk dha përgjigje 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 e dokumenteve API. Një opsion 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 në shërbimin e dokumenteve për instalimin e çelësit të aksesit (një çelës aksesit i njohur paraprakisht, duke vërtetuar të drejtën për akses në cloud) dhe certifikatave TLS. Qasjet e përshkruara më sipër u dhanë si të pasigurta dhe jo mjaft efektive, prandaj ne realizuam integrimin e NextCloud, ONLYOFFICE dhe nginx të përbashkët, i cili ndan kërkesat sipas emrave të domain-it, përmes docker-compose. Këtu është informacioni hap pas hapi se si të bëhet kjo.
Hapi 1: kontenier nginx
Kjo është një instalim shumë e thjeshtë, por ky hap kërkon punën më të madhe për konfigurimin e serverit të anasjelljes. Fillimisht, ne krijuam konfigurimin docker-compose për imazh nginx:stable.
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
Kjo krijon njĂ« kontejner me portet 80 dhe 443 tĂ« hapura pĂ«r akses publik, bĂ«n mapimin e konfiguracionit nĂ« nginx/nginx-vhost.conf dhe pĂ«rcakton njĂ« lokacion pĂ«r certifikatat, tĂ« 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Ă« secilin pĂ«r zinxhirin e certifikatave dhe çelĂ«sin privat tĂ« serverit pĂ«rkatĂ«s. Mund tĂ« lexoni mĂ« shumĂ« se si tĂ« gjeneroni njĂ« certifikatĂ« tĂ« vetĂ«-nĂ«nshkruar kĂ«tu. (riemĂ«rtimi i .key dhe .crt nĂ« .pem funksionon pa konvertimin e strukturĂ«s sĂ« skedarit pĂ«r nginx).
Pas kësaj ne e përcaktuam skedarin vhost. Fillimisht, ne përcaktojmë sjelljen e portit 80 si një riedhje të thjeshtë në https, sepse nuk duam të lejojmë ndonjë trafik http.
server {
listen 80;
location / {
return 301
https://$host$request_uri;
}
}
Pastaj ne krijuam dy serverë 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 duhet të shtojmë kontejnerin e shërbimit të dokumenteve në docker-compose.yml tonë. Nuk ka shumë për të konfiguruar këtu.
services:
...
onlyoffice:
image: onlyoffice/documentserver
restart: always
Por mos harroni të lidhni kontejnerin nginx me shërbimin e dokumenteve:
services:
...
nginx:
...
depends_on:
- onlyoffice
Hapi 3: NextCloud
Fillimisht shtojmë shërbime të reja:
shërbimet:
...
db:
imazhi: mariadb
komanda: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
rinovimi: gjithmonë
volumet:
- /data/nextcloud_db:/var/lib/mysql
mjedisi:
- MYSQL_ROOT_PASSWORD=#vendosni një fjalëkalim këtu
- MYSQL_PASSWORD=#vendosni një fjalëkalim tjetër këtu
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
imazhi: nextcloud
varet nga:
- db
- onlyoffice
rinovimi: gjithmonë
dhe shtojmë një lidhje në nginx:
shërbimet:
...
nginx:
...
varet nga:
- app
Tani është koha të ngarkohet konteinerët.
docker-compose up -d
Pas pak kohësh, nginx do të fillojë t'ju redirektojë në ndërfaqen e jashtme të NextCloud, e cila në mënyrë të paracaktuar është faqja e konfigurimit. Ju do të duhet të futni emrin e përdoruesit dhe fjalëkalimin për përdoruesin tuaj të parë administrativ si dhe kredencialet e bazës së të dhënave që keni përcaktuar në docker-compose.yml. Pas përfundimit të konfigurimit, do të jeni në gjendje të hyni. Në rastin tonë, pritja zgjati gati një minutë dhe kërkoi një rifreskim të mëtejshëm të faqes së hyrjes, përpara se të mund të hynim në shërbimin e reve.
Dritarja e cilësimeve të shërbimit NextCloud
Hapi 4: lidhja e NextCloud me ONLYOFFICE
NĂ« kĂ«tĂ« hap do t'ju nevojitet tĂ« instaloni aplikacionin pĂ«r NextCloud, i cili lidh funksionalitetin e ONLYOFFICE. Le tĂ« fillojmĂ« me panelin e menaxhimit tĂ« aplikacioneve nĂ« kĂ«ndin e sipĂ«rm tĂ« djathtĂ« tĂ« menusĂ«. Gjeni aplikacionin ONLYOFFICE (nĂ« Seksionin âZyrĂ« dhe tekstâ (Office & text) ose duke pĂ«rdorur kĂ«rkimin), instalo dhe aktivizo atĂ«.
Pas kësaj, drejtohuni tek Cilësimet (Settings) 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 nevojitet të shkruani adresat, siç është e treguar më poshtë.
Cilësimet e aplikacionit të integrimit
Adresa e parĂ« pĂ«rdoret pĂ«r tĂ« lidhur disa skedarĂ« js dhe css drejtpĂ«rdrejt nga aplikacioni i nisur nĂ« shfletues (kjo Ă«shtĂ« arsyeja pse na nevojitet tĂ« hapim qasje nĂ« shĂ«rbimin ONLYOFFICE pĂ«rmes nginx). ĂelĂ«si sekret nuk pĂ«rdoret, sepse besojmĂ« mĂ« shumĂ« nĂ« shtresĂ«n e izolimit Docker sesa nĂ« njĂ« çelĂ«s autentifikimi tĂ« pĂ«rhershĂ«m. Adresa e tretĂ« pĂ«rdoret nga konteneri NextCloud pĂ«r lidhje tĂ« drejtpĂ«rdrejta me API-nĂ« e ONLYOFFICE, dhe ajo pĂ«rdor emrin e hostit tĂ« brendshĂ«m siç Ă«shtĂ« parashikuar nga Docker. Dhe fusha e fundit pĂ«rdoret pĂ«r tĂ« lejuar qĂ« ONLYOFFICE tĂ« bĂ«jĂ« kĂ«rkesa prapa nĂ« API-nĂ« e NextCloud, duke pĂ«rdorur adresĂ«n IP tĂ« jashtme ose adresĂ«n e brendshme Docker, nĂ«se po pĂ«rdorni rrjete Docker, por nĂ« rastin tonĂ« nuk pĂ«rdoret. Sigurohuni qĂ« konfigurimet e firewall-it tuaj lejojnĂ« kĂ«to lloje interaksionesh.
Pas ruajtjes, NextCloud do tĂ« testojĂ« lidhjen dhe, nĂ«se gjithçka Ă«shtĂ« e saktĂ«, do t'ju tregojĂ« konfigurimet e lidhura me integrimin â pĂ«r shembull, cilat lloje skedarĂ«sh mund tĂ« modifikohen me kĂ«tĂ« integrim. Konfiguroni ashtu siç e konsideroni tĂ« nevojshĂ«m.
Hapi përfundimtar: ku të kërkoni redaktorin
NĂ«se ktheheni nĂ« dosjet e ruajtjes suaj nĂ« re dhe klikoni nĂ« â+â pĂ«r tĂ« krijuar njĂ« skedĂ« tĂ« re, do t'ju jetĂ« nĂ« dispozicion njĂ« opsion i ri pĂ«r tĂ« krijuar dokumente, tabela ose prezantime. Me ndihmĂ«n e tyre do tĂ« krijoni dhe menjĂ«herĂ« do tĂ« mund tĂ« redaktoni kĂ«to lloje skedash, duke pĂ«rdorur ONLYOFFICE.
Menyja e krijimit të skedarëve
Shtesë 1
Përmbajtja e plotë e docker-compose.yml mund të gjendet këtu:
Burimi: habr.com
