راه اندازی nextcloud به همراه libreoffice
Nextcloud چیست؟
در یک محیط آنلاین که به طور فزاینده ای به فضای ذخیره سازی مبتنی بر ابر وابسته شده است ، ممکن است دنبال یک راه حل منبع باز باشید.
یکی از این راه حل ها Nextcloud است ، نرم افزار منبع باز و رایگان کلاینت سرور که برای میزبانی و ذخیره سازی فایل استفاده می شود.
در این مقاله ، ما درباره Nextcloud بحث خواهیم کرد و برخی از ویژگی های آن را بررسی خواهیم کرد.
چرا باید از Nextcloud استفاده کرد؟
Nextcloud یک برنامه میزبان فایل منبع باز است که به کاربران امکان می دهد شبکه ذخیره سازی ابری خود را با استفاده از سرورها یا رایانه های شخصی خود ایجاد کنند.
Nextcloud که با PHP و Javascript نوشته شده است ، در اوایل سال 2020 منتشر شد و به سرعت به عنوان اصلی، برای کاربرانی که به دنبال راه حل ذخیره سازی ابری منبع باز و سفارشی هستند و کنترل کامل دارند ، تبدیل شده است.
این در تضاد با سرویس های دیگری مانند Google Drive و Dropbox است که خارج از کنترل مستقیم شما در سرورهای شخص ثالث میزبانی می شوند. برای کاربرانی که به دنبال کنترل بیشتر بر نحوه و محل ذخیره سازی اطلاعات خود هستند ، Nextcloud یک انتخاب عالی است.
امکانات
Nextcloud با ویندوز ،macOS و همچنین توزیع های مختلف لینوکس سازگار است ، و آن را به یک راه حل همه کاره برای کاربران با انواع دستگاه های مورد استفاده در شبکه ذخیره سازی ابر تبدیل کرده است.
به عنوان یک نرم افزار مدولار ، Nextcloud را می توان با افزونه هایی که ویژگی ها و قابلیت های اضافی را فراهم می کنند، سفارشی کرد. از طریق App Store ، کاربران می توانند افزونه های تأیید شده ای را که شامل تقویم ، لیست مخاطبین ، گالری عکس و موارد دیگر هستند ، بدست آورند.
علاوه بر این ، Nextcloud به کاربران اجازه می دهد تاURLهای عمومی را برای اهداف به اشتراک گذاری فایل ، با دور زدن نیاز به استفاده ازFTPیا سایر روش های انتقال فایل ، تولید کنند.
پرونده های Nextcloud از طریق WebDAV به اشتراک گذاشته می شوند و در حین حمل و نقل رمزگذاری می شوند ، و آن را به یک بستر امن و کارآمد برای اشتراک فایل تبدیل می کنند.
علاوه بر این ، این نرم افزار برای ادغام با سیستم های مدیریت پایگاه داده مانند MySQL و پایگاه داده اوراکل ، اضافه کردن یک لایه اضافی از مدیریت داده به شبکه ذخیره سازی ابر شما طراحی شده است. با چنین مجموعه ای از ویژگی ها ، روشن است که چرا بسیاری از کاربران شروع به استفاده از Nextcloud برای نیازهای ذخیره سازی خود کرده اند.
خوب برای این آموزش قصد پیاده سازی nextcloud رو به همراه ماژول libreoffice داریم که بتونیم این دو مورد رو بهم وصل کنیم و ی آفیس آنلاینی هم روی این فضای ابر شخصی داشته باشیم
موارد پیشنیازی :
-
یک سیستم به عنوان هاست با داکر و داکر کامپوز
-
دسترسی به داکرهاب و دریافت ایمیج های زیر
-
* nextcloud:latest
-
* mariadb:latest
-
* libreoffice/online:master
-
* dock1100/haproxy-certbot:latest
پیاده سازی نکست کلود به همراه libreoffice در داکر
آدرس گیت این پروژه در زیر آمده است
برای پیاده سازی ابتدا پروژه ی بالا را کلون کرده و وارد محتویات داخل این پوشه بشوید.
git clone ... cd nexcloud-libreoffice
کانتیر haproxy برای پیاده سازی عملیات ssl و پروکسی می باشد شما میتوانید از هر سرور پروکسی جدا مانند haproxy traefik , nginx و یا هر سرویس دیگه ای استفاده کنید. این سرویس میتواند به صورت خارجی و خارج از داکر هم پیاده سازی شود.
تنطیمات سمت متغیر های محیطی
گام بعدی اصلاح مقادیر در فایل .env هست این فایل یکسری متغیر هایی را شامل میشود که نیاز است برای پیاده سازی سمت شما مقداردهی شود
-
NEXTCLOUD_DOMAIN
دامنه ی اصلی که روی آن ssl سوار میشود را اشاره دارد
-
NEXTCLOUD_DOMAIN_PRIVATE
این دامنه برای دسترسی داخلی است و اس اس ال روی آن در صورت wildcard بودن اس اس ال فقط جواب میدهد.
-
HOST_IP
آدرس هاست داکر است
-
LO_ONLINE_USERNAME
-
LO_ONLINE_PASSWORD
-
LO_ONLINE_EXTRA_PARAMS=–o:ssl.enable=false
این متغیر ها برای تنظیمات سمت libreoffice انجام میشود قسمت extra params برای غیر فعال سازی اس اس ال برای این سرور است. شما می توانید این مورد رو هم به پشت haproxy منتقل کنید. در این صورت اس اس ال جدا می بایست برای آن تهیه شود
-
MYSQL_ROOT_PASSWORD
-
MYSQL_PASSWORD
-
MYSQL_DATABASE
-
MYSQL_USER
این متغیر ها برای تنظیمات کانتینر دیتابیس mariadb است که شما میتوانید از دیتابیس های دیکه هم استفاده کنید.
-
HAPROXY_STATS_USER
-
HAPROXY_STATS_PASSWORD
یوزر پسورد دسترسی به صفحه stats در haproxy است که در subpath /stats قابل دسترس خواهد بود.
نکته : اتصال نکست کلود به دیتابیس و libreoffice از طریق خود پنل نصب webui خود نکست کلود امکان پذیر است
تنطیمات سمت ssl
همچنین پوشه ی certs برای نگه داری فایلهای اس اس ال می باشد . نیاز است که شما فایل های اس اس ال خودتان را در آن قرار بدهید.یا در صورت تمایل میبایست به کمک همین داکر haproxy و دستور certbot اقدام به گرفتن ssl از letsencrypt کنید
برای گرقتن اس اس ال می توانید ار دستور زیر استفاده کنید
docker exec haproxy-certbot certbot-certonly \ --domain example.com \ --domain www.example.com \ --email [email protected]
تنظیمات سمت volume
همان طور که در فایل داکر کامپوز مشاهده میکنید تنظیمات ولیوم ها برای داده های اصلی به صورت ولیوم های داخلی داکر است ولی شما میتونید این ولیوم هارو به صورت binds در بیارین و ازشون استفاده کنین مثل ولیوم های certs , conf در haproxy که به صورت bind پیاده سازی شده اند
اجرای نهایی
خوب تنظیمات به پایان رسید و مرحله نهایی بالا آوردن این سرویس است. از دستور زیر استفاده میکنیم.
docker-compose up -d
بعد ازبالا آمدن کانتیرها به آدرس ولیدی که مشخص کردین مراجعه میکنید که با صفحه ی setup این ابزار مواجه میشین. صفحه مشابه تصویر زیر است ولی مقادیر میبایست برای شما اصلاح شود.
اتصال next-cloud به libreoffice
ابزار libreoffice نیاز به تنظیمات خاص ندارد و بعد از اجرای نهایی با مراجعه به آدرس و پورت مشخص شده برای آن میبایست صفحه ی زیر مشاهده شود
صفحه ای که در آن فقط یک مقدار ok در صورت درست بالا آمدن سرور نشان داده میشود. این سرویس libreoffice به طور مستقیم قابل دسترس نیست و می بایست از یک ابزار واسط مثل nextcloud استفاده کرد. برای اتصال next-cloud به libreoffice ابتدا میبایست ماژول Collabora Online رو نصب وفعال کنیم بدین منظور به قسمت settings /apps مراجعه میکنیم.
بعد از آن به setting مراجعه کرده در بخش administration قسمت LibreOffice Online اضافه شده به این قسمت مراجعخ و آدرس و پورت سرور را در کادر مشخص در تصویر زیر قرار میدهیم.
بعد از پر کردن آدرس و پورت در کادر و زدن دکمه save می بایست مانند تصویر بالا تیک سبز به همراه عبارت Collabora Online server is reachable نشان داده شود که بیانگر صحت اتصال این دو ابزار به هم است.
حال در صورت مراجعه به قسمت فایل ها و با انتخاب ایجاد فایل جدید مانند تصویر زیر مقادیر جدیدی برای ورد پاورپوینت و اکسل اضافه شده است.
حال با انتخاب هر کدام این فایل در سرور next-cloud ایجاد و برای هر بار ویرایش از سرور libreoffice استفاده میشود.مثلا تصویر زیر صفحه ی داکیومنت جدید رو توی libreoffice نشون میده
برای اتصال به صفحه ادمین libreoffice میتونین از لینک زیر استفاده کنید که صفحه ای مانند شکل زیر براتون باز میشه .