Դժվար է թերագնահատել առցանց գրասենյակային փաթեթների արժեքը, ինչպիսիք են Google Docs-ը և ամպային պահեստը տեխնոլոգիական ուղղվածություն ունեցող մարդկանց կյանքում: Տեխնոլոգիան այնքան տարածված է դարձել, որ նույնիսկ Microsoft-ը, որը երկար ժամանակ գերիշխում է գրասենյակային հավելվածների շուկայում, վերջերս կենտրոնացել է Office 365 վեբ հավելվածի մշակման և օգտատերերին համոզելու անցնել բաժանորդագրության մոդելին՝ սեփական ծառայություններից օգտվելու համար: Հրավիրում ենք նրանց, ովքեր հետաքրքրված են cat-ի տակ իրենց սեփական պահեստի տեղադրման և կազմաձևման գործընթացով:
Որոշ ժամանակ առաջ մենք նայեցինք ամպային պահեստավորման լուծումներին և բաց կոդով վեբ գրասենյակային փաթեթներին, որոնք հեշտությամբ կարող էին տեղակայվել միկրո ձեռնարկությունում օգտագործելու համար: Ամբողջ փաստաթղթերը առցանց պահելու հիմնական դրդապատճառը թղթաբանությունը նվազագույնի հասցնելն է և լավ բիզնես պրակտիկաների ներդրումը, չնայած գործարքների ցածր ծավալին: Մետաղադրամի հակառակ կողմն այն է, որ այս ծառայությունն ապահովելու համար ամպային սերվերի վարձակալումն ավելի քիչ անվտանգ է, քան այն ուղղակիորեն ձեռնարկության տարածքում պահելը, քանի որ դուք չունեք ձեր սերվերի կամ տրաֆիկի ֆիզիկական մուտքը ստուգելու որևէ միջոց: Հետևաբար, անհրաժեշտ է նաև ծայրից ծայր կոդավորում և բաց կոդով ծրագրակազմ:
Հաշվի առնելով բաց կոդով լուծումների մասին առկա բոլոր տեղեկությունները, մենք գտանք երկու ակտիվ նախագիծ (վերջին 12 ամիսների ընթացքում ստանձնած պարտավորություններով git պահեստում), որոնք մշակվել են ամպային պահեստավորման համար՝ NextCloud և OwnCloud, և միակ ակտիվ ONLYOFFICE գրասենյակային փաթեթը: Ամպային պահեստավորման երկու գործիքներն էլ մոտավորապես նույն ֆունկցիոնալությունն ունեն, և NextCloud-ն ընտրելու որոշումը հիմնված է ապացույցների առկայության վրա, որ այն կարող է ինտեգրվել ONLYOFFICE-ին՝ ծրագրաշարի հետ օգտատերերի հարմարավետ փոխգործակցության համար: Այնուամենայնիվ, երբ մենք սկսեցինք տեղակայել ծառայությունները, ակնհայտ դարձավ վերոնշյալ ծառայությունների ինտեգրման վերաբերյալ տեղեկատվության բացակայությունը: Մենք գտանք 3 ուսուցողական տեսանյութ, թե ինչպես ինտեգրվել.
Երեք տեսանյութերից և ոչ մեկը չպատասխանեց ONLYOFFICE փաստաթղթերի ծառայությունը նույն ֆիզիկական սերվերի վրա, ինչպես NextCloud-ը, ընդհանուր nginx-ով տեղադրելու հարցին: Փոխարենը, նրանք օգտագործեցին տարանջատման մեթոդներ, ինչպիսիք են փաստաթղթերի սպասարկման api-ի համար առանձին նավահանգիստների օգտագործումը: Առաջարկվող մեկ այլ տարբերակ էր առանձին սերվեր տեղադրել Document Service-ի համար՝ ձեռքով կարգավորելով Document Service-ում ներկառուցված nginx օրինակը՝ մուտքի բանալի (նախապես հայտնի մուտքի բանալի, որը հաստատում է տվյալների ամպ մուտք գործելու իրավունքը) և TLS վկայականներ տեղադրելու համար: Վերոնշյալ մոտեցումները համարվեցին ոչ անվտանգ և ոչ բավարար արդյունավետ, ուստի մենք ինտեգրեցինք NextCloud-ը, ONLYOFFICE-ը և ընդհանուր nginx-ը, որը բաժանում է հարցումներն ըստ տիրույթի անունների՝ օգտագործելով docker-compose-ը: Ահա քայլ առ քայլ տեղեկատվություն, թե ինչպես դա անել:
Քայլ 1. nginx կոնտեյներ
Սա շատ պարզ կարգավորում է, բայց այս քայլը պահանջում է առավելագույն աշխատանք՝ հակադարձ պրոքսի սերվերը կարգավորելու համար: Մենք նախ ստեղծեցինք docker-compose կոնֆիգուրացիան nginx:stable պատկերի համար:
Սա ստեղծում է կոնտեյներ 80 և 443 նավահանգիստներով, որոնք բաց են հանրության համար, քարտեզագրում է կազմաձևը nginx/nginx-vhost.conf-ին և սահմանում է պահոց վկայագրերի համար, որոնք ստեղծվել են որպես ինքնստորագրված վկայագրեր կամ օգտագործելով Let's encrypt-ի certbot-ը /nginx/certificates-ում: Այս տեղադրությունը պետք է պարունակի թղթապանակներ office.yourdomain.com և cloud.yourdomain.com համար, յուրաքանչյուրում fullchain1.pem և privkey1.pem ֆայլեր համապատասխանաբար վկայականների շղթայի և սերվերի մասնավոր բանալու համար: Դուք կարող եք կարդալ ավելին այն մասին, թե ինչպես ստեղծել ինքնստորագրված վկայագիր այստեղ: www.akadia.com/services/ssh_test_certificate.html (.key-ը և .crt-ը .pem-ի վերանվանումն աշխատում է առանց ֆայլի կառուցվածքը փոխարկելու nginx-ի համար):
Դրանից հետո մենք սահմանեցինք vhost ֆայլը: Մենք նախ սահմանում ենք 80 պորտի վարքագիծը որպես պարզ վերահղում դեպի https, քանի որ մենք չենք ցանկանում թույլատրել որևէ http տրաֆիկ
Բայց մի մոռացեք կապել nginx կոնտեյները փաստաթղթերի ծառայությանը.
services:
...
nginx:
...
depends_on:
- onlyoffice
Քայլ 3. Հաջորդ Cloud
Նախ, ավելացրեք նոր ծառայություններ.
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
և ավելացրեք հղում nginx-ին.
services:
...
nginx:
...
depends_on:
- app
Այժմ ժամանակն է բեռնել բեռնարկղերը:
docker-compose up -d
Որոշ ժամանակ անց nginx-ը կսկսի ձեզ վերահղել դեպի NextCloud ճակատ, որը լռելյայն կազմաձևման էջն է: Դուք պետք է մուտքագրեք ձեր առաջին ադմինիստրատիվ օգտատիրոջ օգտանունը և գաղտնաբառը և տվյալների բազայի հավատարմագրերը, որոնք դուք տրամադրել եք docker-compose.yml-ում Կարգավորումն ավարտվելուց հետո դուք կկարողանաք մուտք գործել: Մեր դեպքում սպասելը տևեց գրեթե մեկ րոպե և պահանջեց մուտքի էջի լրացուցիչ թարմացում, նախքան մենք կարողանայինք մուտք գործել ամպային ծառայություն:
NextCloud ծառայության կարգավորումների պատուհան
Քայլ 4. NextCloud-ի և ONLYOFFICE-ի միացում
Այս քայլում ձեզ հարկավոր է տեղադրել NextCloud հավելվածը, որը միացնում է ONLYOFFICE գործառույթը: Սկսենք մենյուի վերին աջ անկյունում գտնվող հավելվածի կառավարման վահանակից: Գտեք ONLYOFFICE հավելվածը (Office & text կամ որոնման միջոցով), տեղադրեք և ակտիվացրեք այն:
Դրանից հետո վերևի աջ անկյունում գտնվող մենյուի միջոցով գնացեք Կարգավորումներ և ձախ ցանկում պետք է գտնեք ONLYOFFICE տարրը: Անցեք դրա մեջ: Դուք պետք է գրանցեք ստորև նշված հասցեները:
Ինտեգրման հավելվածի կարգավորումներ
Առաջին հասցեն օգտագործվում է որոշ js և css ֆայլեր կապելու համար անմիջապես բրաուզերում աշխատող հավելվածից (սա այն է, ինչ մեզ անհրաժեշտ է nginx-ի միջոցով ONLYOFFICE ծառայության մուտքը բացելու համար): Գաղտնի բանալին չի օգտագործվում, քանի որ մենք ավելի շատ վստահում ենք Docker մեկուսացման շերտին, քան մշտական նույնականացման բանալիին: Երրորդ հասցեն օգտագործվում է NextCloud կոնտեյների կողմից՝ ուղղակիորեն ONLYOFFICE API-ին միանալու համար, և այն օգտագործում է Docker-ի լռելյայն ներքին հոսթի անունը: Դե, վերջին դաշտն օգտագործվում է, որպեսզի ONLYOFFICE-ը կարողանա հետ հարցումներ կատարել դեպի NextCloud API՝ օգտագործելով արտաքին IP հասցե կամ ներքին Docker հասցե, եթե դուք օգտագործում եք Docker ցանցեր, բայց դա չի օգտագործվում մեր դեպքում: Համոզվեք, որ ձեր firewall-ի կարգավորումները թույլ են տալիս այս տեսակի փոխազդեցությունները:
Պահելուց հետո NextCloud-ը կփորձարկի կապը և, եթե ամեն ինչ ճիշտ է, ձեզ ցույց կտա ինտեգրման հետ կապված կարգավորումները, օրինակ՝ ինչ տեսակի ֆայլեր կարող են խմբագրվել այս ինտեգրման միջոցով: Անհատականացրեք այնպես, ինչպես հարմար եք համարում:
Վերջնական քայլը. որտեղ գտնել խմբագրին
Եթե վերադառնաք ձեր ամպային պահեստի թղթապանակներին և սեղմեք «+»՝ նոր ֆայլ ստեղծելու համար, ապա կունենաք փաստաթուղթ, աղյուսակ կամ ներկայացում ստեղծելու նոր տարբերակ: Նրանց օգնությամբ դուք կստեղծեք և անմիջապես կկարողանաք խմբագրել այս տեսակի ֆայլեր՝ օգտագործելով ONLYOFFICE-ը: