Sawubona Habr! Ngethula ekunakeni kwakho ukuhunyushwa kwalesi sihloko
Kunzima ukubukela phansi ukubaluleka kwama-office office aku-inthanethi afana ne-Google Amadokhumenti nesitoreji samafu ezimpilweni zabantu abagxile kwezobuchwepheshe. Ubuchwepheshe sebusakazeke kakhulu kangangokuthi ngisho neMicrosoft, osekunesikhathi eside ibusa imakethe yezicelo zamahhovisi, isanda kugxila ekuthuthukiseni uhlelo lwewebhu lwe-Office 365 kanye nokunxenxa abasebenzisi ukuthi bashintshele kumodeli yokubhalisa ukuze basebenzise izinsiza zabo. Simema labo abathanda inqubo yokufaka nokulungisa isitoreji sabo ngaphansi kwekati.
Esikhathini esidlule sibheke izixazululo zesitoreji samafu kanye namasudi ehhovisi lewebhu lomthombo ovulekile angasatshalaliswa kalula ukuze asetshenziswe ebhizinisini elincane. Isisusa esikhulu sokugcina wonke amadokhumenti ku-inthanethi ukugcina amaphepha amancane futhi usebenzise imikhuba emihle yebhizinisi naphezu komthamo ophansi wokuthengiselana. Uhlangothi olungaphenduki lohlamvu lwemali ukuthi ukuqasha iseva yefu ukuze inikeze le sevisi kuvikeleke kancane kunokuyigcina ngokuqondile emagcekeni ebhizinisi, njengoba ungenayo indlela yokuhlola ukufinyelela ngokomzimba kuseva yakho noma ithrafikhi. Ngakho-ke, ukubethela ngasekugcineni kanye nesofthiwe yomthombo ovulekile nayo iyadingeka.
Ngokucabangela lonke ulwazi olutholakalayo mayelana nezixazululo zemithombo evulekile, sithole amaphrojekthi amabili asebenzayo (anezibophezelo endaweni ye-git yezinyanga ezingu-12 ezedlule) enzelwe isitoreji samafu: I-NextCloud ne-OwnCloud, kanye nehhovisi elisebenzayo le-ONLYOFFICE kuphela. Womabili amathuluzi okugcina amafu anokusebenza cishe okufanayo, futhi isinqumo sokukhetha i-NextCloud sasisekelwe ebukhoneni bobufakazi bokuthi ingahlanganiswa ne-ONLYOFFICE ukuze kube nokusebenzisana okunethezekile komsebenzisi nesofthiwe. Kodwa-ke, lapho siqala ukuthumela izinsizakalo, ukuntuleka kolwazi ekuhlanganiseni lezi zinsizakalo ezingenhla kwabonakala. Sithole amavidiyo wokufundisa angu-3 okuthi ungahlanganisa kanjani:
www.youtube.com/watch?v=GAd-x_sP6ng www.youtube.com/watch?v=ceOld6P16wI www.youtube.com/watch?v=DvTXyl-OOZA
Awekho kulawa mavidiyo amathathu aphendule umbuzo wokufaka isevisi yedokhumenti ye-ONLYOFFICE kuseva ebonakalayo efana ne-NextCloud nge-nginx eyabiwe. Esikhundleni salokho, basebenzise amasu okuhlukanisa afana nokusebenzisa izimbobo ezihlukene zesevisi yedokhumenti api. Enye inketho ephakanyisiwe bekuwukuphaka iseva ehlukile Yesevisi Yedokhumenti, ukulungisa mathupha isibonelo se-nginx esakhelwe ku-Document Service ukuze kufakwe ukhiye wokufinyelela (ukhiye wokufinyelela owaziwa ngaphambilini oqinisekisa ilungelo lokufinyelela ifu ledatha) nezitifiketi ze-TLS. Lezi zindlela ezingenhla bezibhekwa njengeziphephile futhi zingasebenzi ngokwanele, ngakho-ke sihlanganise i-NextCloud, ONLYOFFICE kanye ne-nginx evamile, ehlukanisa izicelo ngamagama wesizinda, sisebenzisa i-docker-compose. Nansi imininingwane yesinyathelo ngesinyathelo sendlela yokwenza.
Isinyathelo 1: isitsha se-nginx
Lokhu ukusetha okulula, kodwa lesi sinyathelo sidinga umsebenzi omningi ukulungisa iseva elibamba ehlanekezelwe. Siqale sakha ukucushwa kwe-docker-compose ye-nginx:isithombe esizinzile.
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
Lokhu kudala isiqukathi esinezimbobo ezingu-80 nezingu-443 ezivulekele umphakathi, kwenze imephu yokucushwa kokuthi nginx/nginx-vhost.conf , futhi kuchaze isitolo sezitifiketi ezikhiqizwa njengezitifiketi ezizisayinele noma kusetshenziswa i-Let's encrypt's certbot ku/nginx/certificates. Le ndawo kufanele ibe namafolda e-office.yourdomain.com kanye ne-cloud.yourdomain.com, anamafayela e-fullchain1.pem nawe-privkey1.pem kuchungechunge lwesitifiketi nokhiye oyimfihlo weseva, ngokulandelana. Ungafunda kabanzi mayelana nokuthi usenza kanjani isitifiketi esizisayinele lapha.
Ngemva kwalokho, sichaze ifayela le-vhost. Okokuqala sichaza ukuziphatha kwe-port 80 njengendlela elula yokuqondisa kabusha ku-https, ngoba asifuni ukuvumela noma iyiphi ithrafikhi ye-http
server {
listen 80;
location / {
return 301
https://$host$request_uri;
}
}
Sibe sesidala amaseva amabili abonakalayo ku-port 443 ngezinsizakalo zethu:
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;
}
}
Isinyathelo sesi-2: isevisi yedokhumenti
Manje sidinga ukwengeza isitsha sesevisi yedokhumenti ku-docker-compose.yml yethu. Akukho okukhethekile ongakumisa lapha.
services:
...
onlyoffice:
image: onlyoffice/documentserver
restart: always
Kodwa ungakhohlwa ukuxhuma isitsha se-nginx kusevisi yedokhumenti:
services:
...
nginx:
...
depends_on:
- onlyoffice
Isinyathelo sesi-3: NextCloud
Okokuqala, engeza amasevisi amasha:
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
bese wengeza isixhumanisi ku-nginx:
services:
...
nginx:
...
depends_on:
- app
Manje sekuyisikhathi sokulayisha izitsha.
docker-compose up -d
Ngemuva kwesikhashana, i-nginx izoqala ukukuqondisa kabusha ekugcineni kwe-NextCloud, okuyikhasi lokumisa elizenzakalelayo. Uzodinga ukufaka igama lomsebenzisi nephasiwedi yomsebenzisi wakho wokuqala wokuphatha kanye nemininingwane yedatha egciniwe oyinikeze ku-docker-compose.yml Uma ukusetha sekuqedile, uzokwazi ukungena ngemvume. Esimweni sethu, ukulinda kuthathe cishe iminithi futhi kudinga ukuvuselelwa okwengeziwe kwekhasi lokungena ngaphambi kokuthi singene kusevisi yefu.
Iwindi lezilungiselelo zesevisi ye-NextCloud
Isinyathelo sesi-4: Ukuxhuma i-NextCloud ne-ONLYOFFICE
Kulesi sinyathelo, uzodinga ukufaka isicelo se-NextCloud, esixhuma ukusebenza kwe-ONLYOFFICE. Ake siqale ngephaneli yokulawula yohlelo lokusebenza ekhoneni eliphezulu kwesokudla semenyu. Thola uhlelo lokusebenza lwe-ONLYOFFICE (ngaphansi kwe-Office & umbhalo noma usebenzisa ukusesha), lufake futhi ulusebenze.
Ngemva kwalokho bhekisa ku-Izilungiselelo usebenzisa imenyu ekhoneni eliphezulu kwesokudla futhi kufanele uthole into ethi ONLYOFFICE kumenyu engakwesokunxele. Ngena kuyo. Uzodinga ukubhalisa amakheli njengoba kukhonjisiwe ngezansi.
Izilungiselelo zohlelo lokusebenza lokuhlanganisa
Ikheli lokuqala lisetshenziselwa ukuxhuma kwamanye amafayela e-js nawe-css ngokuqondile kuhlelo lokusebenza olusebenza esipheqululini (yilokhu esikudingayo ukuze sivule ukufinyelela kusevisi ye-ONLYOFFICE nge-nginx). Ukhiye oyimfihlo awusetshenziswa ngoba sithemba isendlalelo sokuhlukaniswa se-Docker ngaphezu kokhiye wokuqinisekisa oqhubekayo. Ikheli lesithathu lisetshenziswa isiqukathi se-NextCloud ukuxhuma ngqo ku-ONLYOFFICE API, futhi lisebenzisa igama lomethuleli langaphakathi elizenzakalelayo elisuka ku-Docker. Yebo, inkambu yokugcina isetshenziswa ukuze I-ONLYOFFICE ikwazi ukwenza izicelo ibuyele ku-NextCloud API isebenzisa ikheli le-IP langaphandle noma ikheli langaphakathi le-Docker uma usebenzisa amanethiwekhi e-Docker, kodwa lokhu akusetshenziswa kithi. Qiniseka ukuthi izilungiselelo zakho zohlelo lokuvikela zivumela lezi zinhlobo zokusebenzisana.
Ngemva kokulondoloza, i-NextCloud izohlola uxhumano futhi, uma konke kulungile, izokubonisa izilungiselelo ezihlobene nokuhlanganiswa - isibonelo, yiziphi izinhlobo zamafayela ezingahlelwa yilokhu kuhlanganiswa. Yenza ngokwezifiso njengoba ubona kufanelekile.
Isinyathelo sokugcina: ungamthola kuphi umhleli
Uma ubuyela emuva kumafolda akho esitoreji samafu bese uchofoza u-β+β ukuze udale ifayela elisha, uzoba nenketho entsha yokwakha idokhumenti, isipredishithi noma isethulo. Ngosizo lwabo, uzodala futhi ngokushesha ukwazi ukuhlela lezi zinhlobo zamafayela usebenzisa i-ONLYOFFICE.
Imenyu yokudala ifayela
Isengezo sango-1
Okuqukethwe okugcwele kwe-docker-compose.yml kungatholakala lapha:
Source: www.habr.com