Salama, Habr! Atolotro ho anareo ny fandikana ilay lahatsoratra .
Sarotra ny manao tsinontsinona ny tombotsoan'ny birao an-tserasera toy ny Google Docs sy ny fitahirizana rahona eo amin'ny fiainan'ny olona miompana amin'ny teknolojia. Niparitaka be ny teknolojia ka na i Microsoft, izay efa ela no nibahana ny tsenan'ny fampiharana birao, dia nifantoka tamin'ny fampivoarana ny fampiharana tranonkala Office 365 sy ny fandresen-dahatra ny mpampiasa mba hifindra amin'ny modely famandrihana amin'ny fampiasana ny serivisy manokana. Manasa ireo izay liana amin'ny dingan'ny fametrahana sy ny fanamboarana ny fitehirizana azy manokana eo ambanin'ny saka.
Fotoana vitsy lasa izay, nanjary nahazatra anay ny vahaolana fitahirizana rahona sy ny fonosana fampiharana tranonkala amin'ny birao misokatra izay azo ampiharina mora ampiasaina amin'ny orinasa madinika. Ny antony lehibe indrindra amin'ny fitahirizana ny antontan-taratasy rehetra amin'ny Internet dia ny fampihenana ny habetsaky ny antontan-taratasy ho faran'izay kely indrindra, ary ny fampiharana ny fomba fiasa tsara, na dia eo aza ny habetsaky ny varotra. Ny lafiny mifanohitra amin'ny vola madinika dia ny fanofana mpizara rahona mba hanomezana an'io serivisy io dia tsy azo antoka kokoa noho ny fitehirizana azy mivantana eo amin'ny tranon'ny orinasa, satria tsy manana fitaovana hanamarinana ny fidirana ara-batana amin'ny mpizara na fifamoivoizana ianao. Noho izany, ilaina ihany koa ny encryption end-to-end sy rindrambaiko open source.
Raha jerena ny fampahalalana rehetra misy momba ny vahaolana misokatra, dia nahita tetikasa mavitrika roa izahay (miaraka amin'ny commits ao amin'ny git repository tato anatin'ny 12 volana lasa) novolavolaina ho an'ny fitahirizana rahona: NextCloud sy OwnCloud, ary ny hany birao mavitrika ONLYOFFICE. Ny fitaovana fitahirizana rahona roa dia manana fiasa mitovy, ary ny fanapahan-kevitra hisafidy ny NextCloud dia nifototra tamin'ny porofo fa azo ampidirina amin'ny ONLYOFFICE izy io mba hifandraisan'ny mpampiasa amin'ny rindrambaiko. Na izany aza, rehefa nanomboka nampiasa ny serivisy izahay, dia hita ny tsy fahampian'ny fampahalalana momba ny fampidirana ireo tolotra etsy ambony. Nahita horonantsary fanofanana 3 momba ny fomba fampidirana izahay:
Tsy nisy tamin'ireo horonantsary telo namaly ny fanontaniana fametrahana ny serivisy antontan-taratasy ONLYOFFICE amin'ny mpizara ara-batana mitovy amin'ny NextCloud miaraka amin'ny nginx iombonana. Fa kosa, nampiasa teknolojia fisarahana izy ireo toy ny fampiasana seranan-tsambo mitokana ho an'ny API serivisy antontan-taratasy. Safidy iray hafa natolotra dia ny fametrahana mpizara mitokana ho an'ny serivisy antontan-taratasy miaraka amin'ny fanamafisana manual ny ohatra nginx natsangana tao amin'ny serivisy antontan-taratasy mba hametrahana fanalahidin'ny fidirana (fanalahidin'ny fidirana efa fantatra izay manamafy ny zo hidirana amin'ny rahona data) sy ny fanamarinana TLS . Ireo fomba fiasa etsy ambony ireo dia heverina ho tsy azo antoka ary tsy mahomby, noho izany dia nampidirinay ny NextCloud, ONLYOFFICE ary ny nginx mahazatra, izay manasaraka ny fangatahana amin'ny anaran'ny sehatra, mampiasa docker-compose. Ity misy fampahafantarana tsikelikely momba ny fomba hanaovana izany.
Dingana 1: container nginx
Fametrahana tena tsotra ity, fa ity dingana ity dia mitaky asa be indrindra amin'ny fanamboarana ny mpizara proxy mivadika. Voalohany, namorona config docker-compose ho an'ny nginx: sary stable izahay.
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
Mamorona fitoeran-javatra misy seranana 80 sy 443 misokatra ho an'ny besinimaro izany, mametraka sari-tany ho an'ny nginx/nginx-vhost.conf ary mamaritra toeram-pivarotana ho an'ny taratasy fanamarinana novokarina ho mari-pankasitrahana nosoniavin'ny tena na mampiasa ny Certbot Let's encryption ao amin'ny /nginx/certificates. Ity toerana ity dia tokony ahitana lahatahiry ho an'ny office.yourdomain.com sy cloud.yourdomain.com miaraka amin'ny rakitra fullchain1.pem sy privkey1.pem ao amin'ny tsirairay ho an'ny rojo fanamarinana sy fanalahidin'ny server. Azonao atao ny mamaky bebe kokoa momba ny fomba hamoronana taratasy fanamarinana nosoniavin'ny tena eto (manova anarana .key sy .crt ho .pem dia miasa nefa tsy manova ny firafitry ny rakitra ho an'ny nginx).
Avy eo dia namaritra ny rakitra vhost izahay. Voalohany dia mamaritra ny fitondran-tenan'ny port 80 ho toy ny redirect tsotra mankany https, satria tsy te hamela fifamoivoizana http izahay
server {
listen 80;
location / {
return 301
https://$host$request_uri;
}
}
Avy eo dia namorona mpizara virtoaly roa izahay amin'ny seranan-tsambo 443 ho an'ny serivisy:
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;
}
}
Dingana 2: serivisy antontan-taratasy
Amin'izao fotoana izao dia mila manampy ny container service document amin'ny docker-compose.yml izahay. Tsy misy zavatra betsaka azo amboarina eto.
services:
...
onlyoffice:
image: onlyoffice/documentserver
restart: always
Fa aza adino ny mampifandray ny container nginx amin'ny serivisy antontan-taratasy:
services:
...
nginx:
...
depends_on:
- onlyoffice
Dingana 3: NextCloud
Voalohany dia manampy serivisy vaovao izahay:
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
ary ampio rohy mankany nginx:
services:
...
nginx:
...
depends_on:
- app
Fotoana izao hampidirana ireo kaontenera.
docker-compose up -d
Rehefa afaka kelikely, ny nginx dia hanomboka hamindra anao any amin'ny NextCloud frontend, izay pejy fanamafisana amin'ny alàlan'ny default. Mila miditra ny solon'anarana sy ny tenimiafina ho an'ny mpampiasa admin voalohany ianao ary ny fahazoan-dàlana nomenao ao amin'ny docker-compose.yml Rehefa vita ny fanamboarana dia afaka miditra ianao. Aminay, efa ho iray minitra ny fiandrasana ary nitaky fanavaozana fanampiny ny pejy fidirana alohan'ny hidiranay amin'ny serivisy rahona.
NextCloud fikandrana fanovana serivisy
Dingana 4: Ampifandraiso ny NextCloud sy ONLYOFFICE
Amin'ity dingana ity dia mila mametraka fampiharana ho an'ny NextCloud ianao, izay mampifandray ny fiasa ONLYOFFICE. Andeha isika hanomboka amin'ny tontonana fanaraha-maso fampiharana eo amin'ny zoro ambony havanana amin'ny menio. Tadiavo ny fampiharana ONLYOFFICE (ao amin'ny fizarana "Office & text" na amin'ny fampiasana fikarohana), apetraho ary ampiharo izany.
Aorian'izany, mankanesa any amin'ny Settings amin'ny alàlan'ny menio eo amin'ny zoro havanana ambony ary tokony hahita ny singa ONLYOFFICE ianao ao amin'ny menio havia. Ampidiro izany. Mila miditra ny adiresy araka ny voalaza etsy ambany ianao.
Fikirana fampiharana fampidirana
Ny adiresy voalohany dia ampiasaina hampifandraisana amin'ny rakitra js sy css sasany mivantana avy amin'ny fampiharana mandeha amin'ny navigateur (io no ilaintsika hanokatra ny fidirana amin'ny serivisy ONLYOFFICE amin'ny alàlan'ny nginx). Ny fanalahidy miafina dia tsy ampiasaina satria matoky ny sosona fitokana-monina Docker mihoatra noho ny fanalahidin'ny fanamarinana maharitra. Ny adiresy fahatelo dia ampiasain'ny container NextCloud hifandraisana mivantana amin'ny ONLYOFFICE API, ary mampiasa ny anaran'ny mpampiantrano default avy amin'ny Docker. Eny, ny sehatra farany dia ampiasaina mba hahafahan'ny ONLYOFFICE manao fangatahana hiverina amin'ny NextCloud API amin'ny fampiasana adiresy IP ivelany na adiresy Docker anatiny raha mampiasa tambajotra Docker ianao, fa amin'ity tranga ity dia tsy ampiasaina izany. Ataovy azo antoka fa mamela ireo karazana fifaneraserana ireo ny kiranao firewall.
Raha vantany vao voavonjy, ny NextCloud dia hizaha toetra ny fifandraisana ary, raha marina ny zava-drehetra, dia asehoy anao ny toe-javatra mifandraika amin'ny fampidirana - ohatra, ny karazana rakitra azo ovaina amin'ity fampidirana ity. Amboary araka izay hitanao fa mety.
Ny dingana farany: aiza no hitadiavana ny tonian-dahatsoratra
Raha miverina any amin'ny lahatahiry fitahirizana rahona ianao ary tsindrio ny "+" hamorona rakitra vaovao, dia homena safidy vaovao ianao hamoronana antontan-taratasy, takelaka, na famelabelarana. Miaraka amin'ny fanampian'izy ireo dia hamorona sy ho afaka hanova avy hatrany ireo karazana rakitra ireo ianao amin'ny fampiasana ONLYOFFICE.
Menu famoronana rakitra
Fanampiny 1
Ny votoatin'ny docker-compose.yml dia azo jerena eto:
Source: www.habr.com
