Nextcloud، یک ابزار برای اشتراک‌گذاری فایل‌هاست که این امکان را به کاربران می‌دهد تا محتوایی مانند اسناد و تصاویر را در یک فضای متمرکز، مثل Dropbox، ذخیره کنند. تفاوت Nextcloud با ابزارهایی مثل Dropbox این است که همه‌ی ویژگی‌های آن متن‌باز است. هم‌چنین کنترل و امنیت داده‌های حساس شما در اختیار خودتان است و نیازی به استفاده از سرویس‌های Third-Party ندارید.

در این راهنما، Nextcloud را روی یک سرور Ubuntu 20.04 نصب و پیکربندی می‌کنیم.

نصب Nextcloud

برای نصب Nextcloud از سیستم Packageهای Snap استفاده می‌کنیم. این سیستم به‌شکل پیش‌فرض روی Ubuntu 20.04 وجود دارد و مزیت آن این است که نرم‌افزار را با همه‌ی Dependencyها و Configهای مرتبطش دریافت می‌کند. به این معنا که به جای نصب و پیکربندی وب‌سرور، دیتابیس و سپس Nextcloud می‌توانیم با استفاده از Snap همه‌ی سرویس‌های مرتبط را به‌طور خودکار دانلود کنیم.

برای دریافت و نصب Nextcloud دستور زیر را اجرا می‌کنیم:

sudo snap install nextcloud

برای بررسی و اطمینان از نصب شدن صحیح نرم‌افزار می‌توانید از دستور زیر استفاده کنید:

snap changes nextcloud

بر اساس مقدار Status و Summary می‌توانیم ببینیم که Nextcloud بدون مشکل نصب شده است.

برای آشنایی با سرویس‌ها و اپلیکیشن‌های خاصی که این Snap ارایه می‌دهد، می‌توانید با دستور زیر، نگاهی به فایل snap definition بیندازید:

cat /snap/nextcloud/current/meta/snap.yaml

این فایل این امکان را به شما می‌دهد تا برای Debug، اجزای موجود در اسنپ را ببینید.

تنظیم یک حساب کاربری Admin

برای پیکربندی یک حساب کاربری جدید در Nextcloud، از دستور nextcloud.manual-install با یک نام کاربری و رمز عبور به‌عنوان آرگومان استفاده می‌کنیم:

sudo nextcloud.manual-install username password

خروجی زیر بیان‌گر موفقیت‌آمیز بودن فرآیند است:

تنظیم دامنه‌های مورد اطمینان

Nextcloud برای پاسخ به Hostnameهایی که به سمتش درخواست ارسال می‌کنند محدودیت دارد. به‌شکل پیش‌فرض این سرویس فقط به localhost پاسخ‌گوست. از آن‌جایی که ما نیار به ارتباط با Nextcloud از طریق IP یا دامنه‌ی سرور داریم باید آن را اضافه کنیم.

به کمک دستور زیر می‌توانیم تنظیمات فعلی را بررسی کنیم:

sudo nextcloud.occ config:system:get trusted_domains

این خروجی نشان می‌دهد که در حال حاضر فقط localhost مورد اطمینان Nextcloud است. به‌کمک دستور زیر می‌توانیم یک ردیف دیگر با نام دامنه یا IP خود به آن اضافه کنیم:

sudo nextcloud.occ config:system:set trusted_domains 1 --value=test.com

اکنون اگر دوباره دستور config:system:get trusted_domains را اجرا کنیم، دو ردیف در خروجی خواهیم دید:

به همین شیوه می‌توانیم دامنه‌ها یا IPهای بعدی را با افزودن عدد ردیف (در این دستور 1) اضافه کنیم.

دریافت SSL برای رابط کاربری تحت وب

برای ارتباط با Nextcloud از طریق مرورگر، باید یک گواهی SSL برای آن دریافت کنیم تا با خطای امنیتی مواجه نشیم. برای این کار ابتدا یک گواهی Self-signed روی سرور دریافت می‌کنیم و سپس به‌کمک CDN ابر آروان، ارتباط بازدیدکنندگان را روی HTTPS قرار می‌دهیم.

برای دریافت یک گواهی‌نامه‌ی Self-signed دستور زیر را اجرا می‌کنیم:

sudo nextcloud.enable-https self-signed

سپس پورت‌های ۸۰ و ۴۴۳ را در فایروال سرور باز می‌کنیم:

sudo ufw allow 80,443/tcp

اگر در این مرحله دامنه را در مرورگر وارد کنیم، با خطای گواهی SSL مواجه می‌شویم.

برای رفع این خطا با ثبت دامنه در CDN ابر آروان، تعریف رکورد A با عنوان @ و مقدار IP ابرک و روشن کردن نماد ابر می‌توانید گواهی SSL رایگان آروان را دریافت کنید.

استفاده از رابط کاربری مبتنی بر وب

پس از دریافت SSL و باز کردن پورت‌های ۸۰ و ۴۴۳ می‌توانیم با وارد کردن دامنه یا IP سرورمان به رابط کاربری Nextcloud در مرورگر دسترسی داشته باشیم. در صفحه‌ی اول باید با نام کاربری و پسوردی که برای ساخت حساب کاربری ادمین استفاده کرده بودیم، لاگین کنیم.

سپس به داشبورد اصلی Nextcloud وارد می‌شویم که می‌توانیم فایل‌هایمان را آپلود و مدیریت کنیم: