Google Docs va bulutli saqlash kabi onlayn ofis to'plamlarining texnologiyaga yo'naltirilgan odamlar hayotidagi ahamiyatini e'tiborsiz qoldirish qiyin. Texnologiya shunchalik keng tarqaldiki, hatto ofis ilovalari bozorida uzoq vaqt hukmronlik qilgan Microsoft ham yaqinda Office 365 veb-ilovasini ishlab chiqishga va foydalanuvchilarni o'z xizmatlaridan foydalanish uchun obuna modeliga o'tishga ko'ndirishga e'tibor qaratdi. Biz mushuk ostida o'zlarining saqlash joylarini o'rnatish va sozlash jarayoniga qiziquvchilarni taklif qilamiz.
Bir muncha vaqt oldin biz bulutli saqlash yechimlari va ochiq manbali veb-ofis to'plamlarini ko'rib chiqdik, ularni mikrokorxonada foydalanish uchun osongina joylashtirish mumkin. Barcha hujjatlarni onlayn saqlashning asosiy motivatsiyasi - bu hujjatlarni minimal darajada ushlab turish va tranzaktsiyalar hajmining pastligiga qaramay, yaxshi biznes amaliyotlarini amalga oshirishdir. Tanganing ikkinchi tomoni shundaki, ushbu xizmatni taqdim etish uchun bulutli serverni ijaraga olish uni to'g'ridan-to'g'ri korxona hududida saqlashdan ko'ra xavfsizroqdir, chunki sizning serveringizga yoki trafikingizga jismoniy kirishni tekshirish uchun hech qanday vositangiz yo'q. Shu sababli, uchdan uchgacha shifrlash va ochiq kodli dasturiy ta'minot ham talab qilinadi.
Ochiq kodli yechimlar haqidagi barcha mavjud ma’lumotlarni hisobga olgan holda biz bulutli saqlash uchun ishlab chiqilgan ikkita faol loyihani (so‘nggi 12 oy davomida git repozitoriyasida majburiyatlari bilan) topdik: NextCloud va OwnCloud va yagona faol ONLYOFFICE ofis to‘plami. Ikkala bulutli saqlash vositalari ham taxminan bir xil funksionallikka ega va NextCloud-ni tanlash toʻgʻrisidagi qaror uni ONLYOFFICE bilan dasturiy taʼminot bilan qulay foydalanuvchi oʻzaro aloqasi uchun integratsiyalashuvi mumkinligi haqidagi dalillar mavjudligiga asoslanadi. Biroq, biz xizmatlarni joylashtirishni boshlaganimizda, yuqoridagi xizmatlarni birlashtirish bo'yicha ma'lumotlarning etishmasligi aniq bo'ldi. Qanday qilib integratsiya qilish bo'yicha 3 ta o'quv videosini topdik:
Uchta videoning hech biri ONLYOFFICE hujjat xizmatini umumiy nginx bilan NextCloud bilan bir xil jismoniy serverga o'rnatish haqidagi savolga javob bermadi. Buning o'rniga ular hujjat xizmati api uchun alohida portlardan foydalanish kabi ajratish usullaridan foydalanganlar. Yana bir taklif Document Service uchun alohida serverni oʻrnatish, Document Service ichiga oʻrnatilgan nginx namunasini kirish kaliti (maʼlumotlar bulutiga kirish huquqini tasdiqlovchi oldindan maʼlum boʻlgan kirish kaliti) va TLS sertifikatlarini oʻrnatish uchun qoʻlda sozlash edi. Yuqoridagi yondashuvlar xavfsiz va yetarlicha samarali emas deb hisoblangan, shuning uchun biz NextCloud, ONLYOFFICE va docker-compose yordamida so‘rovlarni domen nomlari bo‘yicha ajratuvchi umumiy nginx-ni birlashtirdik. Buni qanday qilish kerakligi haqida asta-sekin ma'lumot.
1-qadam: nginx konteyneri
Bu juda oddiy sozlash, lekin bu qadam teskari proksi-serverni sozlash uchun eng ko'p mehnat talab qiladi. Biz dastlab nginx: barqaror tasvir uchun docker-compose konfiguratsiyasini yaratdik.
Bu 80 va 443 portlari hamma uchun ochiq bo'lgan konteyner yaratadi, konfiguratsiyani nginx/nginx-vhost.conf ga ko'rsatadi va o'z-o'zidan imzolangan sertifikatlar sifatida yaratilgan sertifikatlar uchun do'konni belgilaydi yoki /nginx/certificates ichida Let's encrypt's certbot-dan foydalanadi. Bu manzilda office.yourdomain.com va cloud.yourdomain.com papkalari bo‘lishi kerak, ularning har birida tegishli ravishda sertifikat zanjiri va server shaxsiy kaliti uchun fullchain1.pem va privkey1.pem fayllari bo‘lishi kerak. O'z-o'zidan imzolangan sertifikatni qanday yaratish haqida ko'proq ma'lumotni bu erda o'qishingiz mumkin. www.akadia.com/services/ssh_test_certificate.html (.key va .crt nomini .pem ga o‘zgartirish nginx uchun fayl strukturasini o‘zgartirmasdan ishlaydi).
Shundan so'ng biz vhost faylini aniqladik. Biz birinchi navbatda 80-portning harakatini https-ga oddiy yo'naltirish sifatida belgilaymiz, chunki biz hech qanday http trafikiga ruxsat berishni xohlamaymiz
Lekin nginx konteynerini hujjat xizmatiga ulashni unutmang:
services:
...
nginx:
...
depends_on:
- onlyoffice
3-qadam: NextCloud
Birinchidan, yangi xizmatlarni qo'shing:
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
va nginx ga havola qo'shing:
services:
...
nginx:
...
depends_on:
- app
Endi konteynerlarni yuklash vaqti keldi.
docker-compose up -d
Biroz vaqt o'tgach, nginx sizni standart konfiguratsiya sahifasi bo'lgan NextCloud old qismiga yo'naltirishni boshlaydi. Siz birinchi ma'muriy foydalanuvchi uchun foydalanuvchi nomi va parolni va docker-compose.yml da taqdim etgan ma'lumotlar bazasi hisob ma'lumotlarini kiritishingiz kerak bo'ladi O'rnatish tugallangach, tizimga kirishingiz mumkin bo'ladi. Bizning holatlarimizda kutish deyarli bir daqiqa davom etdi va bulut xizmatiga kirishimizdan oldin kirish sahifasini qo'shimcha yangilashni talab qildi.
NextCloud xizmatini sozlash oynasi
4-qadam: NextCloud va ONLYOFFICE-ni ulash
Ushbu bosqichda siz ONLYOFFICE funksiyasini bog'laydigan NextCloud ilovasini o'rnatishingiz kerak bo'ladi. Menyuning yuqori o'ng burchagidagi dastur boshqaruv panelidan boshlaylik. ONLYOFFICE ilovasini toping (Office & text ostida yoki qidiruv yordamida), uni o'rnating va faollashtiring.
Shundan so'ng yuqori o'ng burchakdagi menyu orqali Sozlamalarga o'ting va chap menyuda ONLYOFFICE bandini topishingiz kerak. Unga kiring. Quyida ko'rsatilgan manzillarni ro'yxatdan o'tkazishingiz kerak bo'ladi.
Integratsiya dasturi sozlamalari
Birinchi manzil ba'zi JS va CSS fayllariga to'g'ridan-to'g'ri brauzerda ishlaydigan dasturdan ulanish uchun ishlatiladi (bu nginx orqali ONLYOFFICE xizmatiga kirishni ochishimiz kerak). Maxfiy kalit ishlatilmaydi, chunki biz doimiy autentifikatsiya kalitiga qaraganda Docker izolyatsiya qatlamiga ko'proq ishonamiz. Uchinchi manzil NextCloud konteyneri tomonidan to'g'ridan-to'g'ri ONLYOFFICE API-ga ulanish uchun ishlatiladi va u Docker-dan standart ichki xost nomidan foydalanadi. Xo'sh, oxirgi maydon ONLYOFFICE tashqi IP-manzil yoki Docker tarmoqlaridan foydalanayotgan bo'lsangiz, ichki Docker manzili yordamida NextCloud API-ga qayta so'rov yuborishi uchun ishlatiladi, ammo bu bizning holatlarimizda ishlatilmaydi. Xavfsizlik devori sozlamalari bunday shovqinlarga ruxsat berishiga ishonch hosil qiling.
Saqlagandan so'ng, NextCloud ulanishni sinab ko'radi va agar hamma narsa to'g'ri bo'lsa, sizga integratsiya bilan bog'liq sozlamalarni ko'rsatadi - masalan, ushbu integratsiya orqali qanday turdagi fayllarni tahrirlash mumkin. O'zingizga mos sozlang.
Yakuniy qadam: muharrirni qaerdan topish mumkin
Agar siz bulutli saqlash papkalariga qaytsangiz va yangi fayl yaratish uchun “+” tugmasini bossangiz, hujjat, jadval yoki taqdimot yaratish uchun yangi imkoniyatga ega boʻlasiz. Ularning yordami bilan siz ONLYOFFICE yordamida ushbu turdagi fayllarni yaratasiz va darhol tahrirlay olasiz.