Tere, Habr! Esitan teile artikli tÔlke .
On keeruline alahinnata veebipĂ”histe kontorirakenduste, nagu Google Docs, ja pilveteenuste kasu tehniliselt suunatud inimeste elus. Tehnoloogiad on levinud nii laialdaselt, et isegi ettevĂ”te Microsoft, kes on juba pikka aega domineerinud kontorirakenduste turul, on hiljuti keskendunud veebirakenduse Office 365 arendamisele ja kasutajate veenmisele oma teenuste tellimismudelitele ĂŒleminekul. KĂ”iki, keda huvitab enda pilvesalvestuse seadistamine ja konfigureerimine, kutsume lugema edasi.
MĂ”ni aeg tagasi tutvusime pilvesalvestuslahenduste ja avatud lĂ€htekoodiga veebipĂ”histe kontorirakenduste paketiga, mida oleks piisavalt lihtne rakendada vĂ€ikestes ettevĂ”tetes. Peamine motivatsioon kogu dokumentatsiooni salvestamiseks veebis on paberimajanduse vĂ€hendamine ja positiivsete Ă€ripraktikate rakendamine, vaatamata vĂ€ikesele tehingute mahule. Teisest kĂŒljest on mureks, et pilveserveri rendimine selle teenuse pakkumiseks on vĂ€hem turvaline kui andmete hoidmine ettevĂ”tte territooriumil, kuna teil ei ole juurdepÀÀsu oma serverile vĂ”i liiklusele fĂŒĂŒsilise auditi lĂ€biviimiseks. SeetĂ”ttu on vajalik ka lĂ”pp-to-lĂ”pp krĂŒpteerimine ja avatud lĂ€htekoodiga tarkvara.
Arvesse vÔttes kogu kÀttekÀiv teavet avatud lÀhtekoodiga lahenduste kohta, leidsime kaks aktiivset projekti (hiljutiste git-reposiidi commit'idega viimase 12 kuu jooksul), mis on loodud pilvesalvestuseks: NextCloud ja OwnCloud, ning ainsa aktiivse kontorirakenduste paketi ONLYOFFICE. MÔlemas pilvesalvestuslahenduses on funktsionaalsus umbes sama ja NextCloudi valimise otsus pÔhines tÔenditel, et see vÔiks olla integreeritud ONLYOFFICE'iga, et tagada kasutajale mugav suhtlemine tarkvaraga. Siiski, kui me alustasime teenuste seadistamist, sai selgeks, et teavet nende teenuste integreerimise kohta on vÀhe. Leidsime 3 Ôpetlikku videot, kuidas integreerimist teostada:
Ăkski kolmest videost ei vastanud kĂŒsimusele, kuidas installida ONLYOFFICE dokumentide teenust samasse fĂŒĂŒsilisse serverisse nagu NextCloud koos ĂŒhise nginx-iga. Selle asemel kasutasid nad selliseid lahendusi nagu eraldi portide kasutamine dokumentide teenuse API jaoks. Teine pakutud variant oli eraldi serveri kĂ€itamine dokumentide teenusele, kus oli kĂ€sitsi seadistatud konfiguratsioon sisseehitatud nginx'i instantsile dokumentide teenuste jaoks, et installida pÀÀsulĂŒĂŒsi vĂ”ti (eelnevalt teadaolev pÀÀsulĂŒĂŒsi vĂ”ti, mis kinnitab juurdepÀÀsu andmekoobastele) ja TLS-sertifikaadid. Ăksikasjalikumalt kirjeldatud lĂ€henemisviise peeti ebaefektiivseks ja ebaturvaliseks, seetĂ”ttu integreerisime NextCloudi, ONLYOFFICE'i ja ĂŒhise nginx-i, mis jaotab pĂ€ringud domeeninimede jĂ€rgi, kasutades docker-compose'i. Siin on samm-sammult teave, kuidas seda teha.
Samm 1: nginx konteiner
See on vÀga lihtne installatsioon, kuid see samm vajab kÔige rohkem tööd, et konfigureerida tagurpidi proksiserverit. Esiteks lÔime docker-compose'i konfiguratsiooni nginx:stable pildile.
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
See loob konteineri, mille portidel 80 ja 443 on avalik juurdepÀÀs, kaardistab konfiguratsiooni nginx/nginx-vhost.conf ja mÀÀratleb ladustamise iseseisvalt allkirjastatud sertifikaatide vĂ”i Let's Encrypt'i Certbot'i loodud sertifikaatide jaoks kaustas /nginx/certificates. Siin peaksid olema kaustad office.yourdomain.com ja cloud.yourdomain.com, kus igas on failid fullchain1.pem ja privkey1.pem sertifikaadi ja privaatse vĂ”tme ahela jaoks vastavalt. Rohkem teavet selle kohta, kuidas genereerida iseseisvalt allkirjastatud sertifikaate, leiate siit (failide .key ja .crt ĂŒmbernimetamine .pem-iks töötab ilma nginx'i failistruktuuri konverteerimiseta).
SeejĂ€rel mÀÀrasime vhost-faili. Esiteks mÀÀrame port 80 kĂ€itumiseks lihtsa ĂŒmbersuunamise https-ile, kuna me ei soovi lubada ĂŒhtegi http liiklust.
server {
listen 80;
location / {
return 301
https://$host$request_uri;
}
}
SeejÀrel lÔime kaks virtuaalset serverit port 443 meie teenuste jaoks:
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;
}
}
Samm 2: dokumenditeenus
NĂŒĂŒd peame lisama dokumenditeenuse konteineri meie docker-compose.yml. Siin ei ole midagi erilist seadistada.
services:
...
onlyoffice:
image: onlyoffice/documentserver
restart: always
Aga Àrge unustage siduda nginx konteinerit dokumenditeenusega:
services:
...
nginx:
...
depends_on:
- onlyoffice
Samm 3: NextCloud
Esiteks lisame uued teenused:
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=#lae siia mÔni parool
- MYSQL_PASSWORD=#lae siia mÔni teine parool
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud
depends_on:
- db
- onlyoffice
restart: always
ja lisame lingi nginx-ile:
services:
...
nginx:
...
depends_on:
- app
NĂŒĂŒd on aeg konteinerid alla laadida.
Vaatame lihtsat nÀidet.
MÔne aja pÀrast hakkab nginx teid suunama NextCloudi vÀlissele interface'ile, mis on vaikimisi seadistuse leheke. Te peate sisestama oma esimese administraatori kasutajanime ja parooli ning andmed andmebaasi kohta, mille te mÀÀrasite docker-compose.yml. Kui seadistus on lÔpetatud, saate sisse logida. Meie puhul vÔttis ooteaeg peaaegu minuti ja nÔudis tÀiendavat sisselogimislehe uuendamist, enne kui saime pilveteenusesse sisse logida.
NextCloudi teenuse seadete aken
Samm 4: NextCloudi ja ONLYOFFICE'i ĂŒhendamine
Selle sammu raames peate installima NextCloudi rakenduse, mis ĂŒhendab ONLYOFFICE funktsionaalsusega. Alustame rakenduste juhtpaneelilt, mis asub menĂŒĂŒ paremas ĂŒlanurgas. Leidke rakendus ONLYOFFICE (jaotisest âKontor ja tekstâ (Office & text) vĂ”i otsimise abil), installige see ja aktiveerige.
SeejĂ€rel liikuge menĂŒĂŒsse paremas ĂŒlanurgas ja valige Seaded (Settings), kus peaksite leidma vasakus menĂŒĂŒs elemendi ONLYOFFICE. Avage see. Teil on vajalik sisestada aadressid, nagu allpool on nĂ€idatud.
Integratsioonirakenduse seaded
Esimene aadress on mĂ”eldud mĂ”nedest js ja css failidest otse juurdepÀÀsuks veebibrauseris kĂ€ivitatavale rakendusele (see on see, mida me peame tegema ONLYOFFICE teenuse juurdepÀÀsu avamiseks nginx kaudu). Salajane vĂ”ti ei ole vajalik, sest usaldame Dockerist tulevat isoleerimiskihte rohkem kui pĂŒsivat autentimisvĂ”tit. Kolmas aadress on vajalik NextCloudi konteineri jaoks otse ainult ONLYOFFICE API-le ĂŒhendamiseks, kasutades Dockeris vaikimisi sisemist hostinime. Ja viimane vĂ€li on vajalik selleks, et ONLYOFFICE saaks teha tagasikutsumise NextCloud API-le, kasutades vĂ€lisest IP-aadressist vĂ”i Dockerist, kui kasutate Dockerite vĂ”rgustikke, kuid meie juhul seda ei kasutata. Veenduge, et teie tulemĂŒĂŒriseaded vĂ”imaldavad selliseid interaktsioone.
PĂ€rast salvestamist testib NextCloud ĂŒhendust ning kui kĂ”ik on Ă”igesti seadistatud, nĂ€itab see teile integreerimisega seotud seadeid - nĂ€iteks, milliseid failitĂŒĂŒpe saab selle integreerimisega redigeerida. Kohandage vastavalt oma soovidele.
LÔppsamm: kust redaktorit leida
Kui naasete oma pilvehoidla kaustadesse ja klĂ”psate â+â, et luua uus fail, on teil saadaval uus vĂ”imalus luua dokument, tabel vĂ”i esitlus. Nende abiga loote ja saate kohe muuta neid failitĂŒĂŒpe, kasutades ONLYOFFICEâi.
Failide loomise menĂŒĂŒ
Lisa 1
TĂ€ieliku sisu docker-compose.yml leiate siit:
Allikas: habr.com
