آموزش نصب و پیکربندی نکستکلود (Nextcloud) در اوبونتو 24.04
در این آموزش جامع، نحوه نصب و پیکربندی سرور ذخیرهسازی ابری متنباز Nextcloud را روی اوبونتو 24.04 در سرورهای پارمین کلود یاد بگیرید. با ساخت سرور فایل شخصی و ایمنسازی آن با Let's Encrypt، کنترل دادههای خود را به دست بگیرید.

مقدمه
نکستکلود (Nextcloud) که برگی (Fork) از پروژه ownCloud است، یک سرور اشتراکگذاری فایل است که به شما اجازه میدهد محتوای شخصی خود، مانند اسناد و تصاویر را در یک مکان مرکزی، مشابه با Dropbox ذخیره کنید. تفاوت نکستکلود با سرویسهای دیگر در این است که تمامی ویژگیهای آن متنباز (Open-source) است. این پلتفرم کنترل و امنیت دادههای حساس شما را به خود شما برمیگرداند و در نتیجه نیاز به استفاده از سرویسهای ابری شخص ثالث را از بین میبرد.
در این آموزش، ما یک نمونه از نکستکلود را روی یک سرور اوبونتو 24.04 نصب و پیکربندی خواهیم کرد.
(نکته: از آنجایی که نسخههای قدیمیتر اوبونتو مانند 20.04 به پایان عمر خود نزدیک هستند، در این مقاله مراحل را برای اوبونتو 24.04 بهروزرسانی کردهایم.)
پیشنیازها
برای تکمیل مراحل این راهنما، به موارد زیر نیاز دارید:
- یک کاربر غیر روت (non-root) با دسترسی sudo و فایروال پیکربندیشده روی سرور خود. شما میتوانید با دنبال کردن راهنمای راهاندازی اولیه سرور در پارمین کلود (Parmin Cloud)، یک کاربر با دسترسی sudo ایجاد کرده و یک فایروال پایه تنظیم کنید.
- (اختیاری) یک نام دامنه که به سرور شما اشاره داشته باشد: ما اتصالات به نصب نکستکلود را با TLS/SSL ایمن خواهیم کرد. اگر سرور شما دارای نام دامنه باشد، نکستکلود میتواند یک گواهینامه SSL معتبر و رایگان از Let’s Encrypt دریافت و مدیریت کند. اگر دامنهای ندارید، نکستکلود میتواند یک گواهینامه SSL خودامضا (Self-signed) تنظیم کند که اتصالات را رمزنگاری میکند، اما به طور پیشفرض توسط مرورگرهای وب قابل اعتماد نخواهد بود. اگر از پارمین کلود استفاده میکنید، میتوانید برای یادگیری نحوه افزودن دامنهها و مدیریت رکوردهای DNS، مستندات DNS ما را مطالعه کنید.
پس از تکمیل مراحل بالا، ادامه دهید تا یاد بگیرید چگونه نکستکلود را روی سرور خود راهاندازی کنید.
مرحله ۱ — نصب نکستکلود
ما نکستکلود را با استفاده از سیستم بستهبندی Snap نصب خواهیم کرد. این سیستم بستهبندی که به طور پیشفرض در اوبونتو 24.04 در دسترس است، به سازمانها اجازه میدهد نرمافزارها را همراه با تمام وابستگیها و پیکربندیهای مرتبط، در یک واحد مستقل با قابلیت بهروزرسانی خودکار ارائه دهند. این بدان معناست که به جای نصب و پیکربندی جداگانه وبسرور و دیتابیس و سپس تنظیم اپلیکیشن نکستکلود روی آنها، میتوانیم پکیج Snap را نصب کنیم که سیستمهای زیرساختی را به طور خودکار مدیریت میکند.
برای دانلود و نصب پکیج Snap نکستکلود روی سیستم، دستور زیر را وارد کنید:
sudo snap install nextcloud
پکیج نکستکلود دانلود و روی سرور شما نصب خواهد شد. میتوانید با مشاهده تغییرات مرتبط با Snap، موفقیتآمیز بودن فرآیند نصب را تایید کنید:
snap changes nextcloud
خروجی مشابه زیر خواهد بود:
Output
ID Status Spawn Ready Summary
4 Done today at 16:12 UTC today at 16:12 UTC Install "nextcloud" snap
وضعیت و خلاصه نشان میدهد که نصب بدون هیچ مشکلی تکمیل شده است.
دریافت اطلاعات بیشتر درباره Snap نکستکلود
اگر به اطلاعات بیشتری درباره این پکیج نیاز دارید، چند دستور مفید وجود دارد. دستور snap info میتواند توضیحات، دستورات مدیریت نکستکلود، و همچنین نسخه نصبشده و کانالی که Snap از آن پیگیری میشود را به شما نشان دهد:
snap info nextcloud
برای مشاهده اتصالات (Connections) که این Snap تعریف کرده است، دستور زیر را تایپ کنید:
snap connections nextcloud
مرحله ۲ — پیکربندی حساب مدیر (Administrative Account)
روشهای مختلفی برای پیکربندی پکیج Snap نکستکلود وجود دارد. در این راهنما، به جای ایجاد یک کاربر مدیر از طریق رابط وب، یک حساب کاربری را از طریق خط فرمان ایجاد میکنیم. این کار از بازه زمانی کوتاهی که در آن صفحه ثبتنام مدیر برای هر کسی که از آدرس IP یا نام دامنه سرور شما بازدید میکند در دسترس است، جلوگیری میکند.
برای پیکربندی نکستکلود با یک حساب مدیر جدید، از دستور nextcloud.manual-install استفاده کنید. شما باید یک نام کاربری و یک رمز عبور را به عنوان آرگومان وارد کنید:
sudo nextcloud.manual-install sammy password
پیام زیر نشان میدهد که نکستکلود به درستی پیکربندی شده است:
Output
Nextcloud was successfully installed
اکنون که نکستکلود نصب شده است، باید دامنههای مورد اعتماد (Trusted Domains) را تنظیم کنیم تا نکستکلود به درخواستهایی که از نام دامنه یا آدرس IP سرور شما ارسال میشوند پاسخ دهد.
مرحله ۳ — تنظیم دامنههای مورد اعتماد (Trusted Domains)
هنگام نصب از طریق خط فرمان، نکستکلود نامهای میزبانی (Hostnames) که نمونه به آنها پاسخ میدهد را محدود میکند. به طور پیشفرض، این سرویس تنها به درخواستهایی که به نام میزبان localhost ارسال میشوند پاسخ میدهد. ما قرار است از طریق نام دامنه یا آدرس IP سرور به نکستکلود دسترسی داشته باشیم، بنابراین باید این تنظیمات را تغییر دهیم.
میتوانید تنظیمات فعلی را با جستجوی مقدار آرایه trusted_domains مشاهده کنید:
sudo nextcloud.occ config:system:get trusted_domains
Output
localhost
در حال حاضر، فقط localhost به عنوان مقدار اول در آرایه وجود دارد. ما میتوانیم با تایپ دستور زیر، یک ورودی برای نام دامنه یا آدرس IP سرور خود اضافه کنیم:
sudo nextcloud.occ config:system:set trusted_domains 1 --value=example.com
Output
System config value trusted_domains => 1 set to string example.com
اگر دامنههای مورد اعتماد را دوباره جستجو کنید، خواهید دید که اکنون دو ورودی داریم:
sudo nextcloud.occ config:system:get trusted_domains
Output
localhost
example.com
اگر نیاز به افزودن روش دیگری برای دسترسی به نکستکلود دارید، میتوانید با اجرای مجدد دستور config:system:set با یک شماره ایندکس بالاتر و تنظیم مقدار --value، دامنهها یا آدرسهای بیشتری اضافه کنید.
مرحله ۴ — ایمنسازی رابط وب نکستکلود با SSL
پیش از شروع به استفاده از نکستکلود، باید رابط وب را ایمن کنیم.
اگر یک نام دامنه به سرور نکستکلود خود متصل کردهاید، پکیج Snap میتواند به شما در دریافت و پیکربندی یک گواهینامه SSL معتبر از Let’s Encrypt کمک کند. اگر سرور شما دامنهای ندارد، نکستکلود میتواند یک گواهینامه خودامضا تنظیم کند که ترافیک وب شما را رمزنگاری میکند اما توسط مرورگر وب شما به طور خودکار قابل اعتماد نخواهد بود.
با در نظر گرفتن این موضوع، به بخشی که با سناریوی شما مطابقت دارد ادامه دهید.
گزینه ۱: راهاندازی SSL با Let’s Encrypt
اگر یک نام دامنه به سرور نکستکلود خود متصل کردهاید، بهترین گزینه برای ایمنسازی رابط وب، دریافت یک گواهینامه SSL از Let’s Encrypt است.
ابتدا پورتهایی را در فایروال باز کنید که Let’s Encrypt برای تایید مالکیت دامنه از آنها استفاده میکند. این کار باعث میشود صفحه ورود نکستکلود شما در دسترس عموم قرار گیرد، اما از آنجایی که ما از قبل یک حساب مدیر پیکربندی کردهایم، هیچکس نمیتواند نصب را هک کند:
sudo ufw allow 80,443/tcp
سپس، با تایپ دستور زیر یک گواهینامه Let’s Encrypt درخواست کنید:
sudo nextcloud.enable-https lets-encrypt
ابتدا از شما پرسیده میشود که آیا سرور شما شرایط لازم برای درخواست گواهینامه از سرویس Let’s Encrypt را دارد یا خیر. برای ادامه، y را تایپ کنید. سپس از شما خواسته میشود یک آدرس ایمیل برای عملیات بازیابی وارد کنید. در نهایت، نام دامنه مرتبط با سرور نکستکلود خود را وارد کنید.
گواهینامه Let’s Encrypt شما درخواست شده و در صورت موفقیتآمیز بودن، نمونه داخلی Apache برای اجرای سریع SSL مجدداً راهاندازی میشود:
Output
Attempting to obtain certificates... done
Restarting apache... done
اکنون میتوانید برای ورود به نکستکلود به مرحله بعد بروید.
گزینه ۲: راهاندازی SSL با گواهینامه خودامضا (Self-signed)
اگر سرور نکستکلود شما دامنهای ندارد، همچنان میتوانید با تولید یک گواهینامه SSL خودامضا، رابط وب را ایمن کنید. این گواهینامه امکان دسترسی به رابط وب را از طریق یک اتصال رمزنگاریشده فراهم میکند، اما قادر به تایید هویت سرور شما نیست، بنابراین مرورگر شما احتمالاً هشداری نمایش خواهد داد.
برای تولید یک گواهینامه خودامضا و پیکربندی نکستکلود برای استفاده از آن، دستور زیر را وارد کنید:
sudo nextcloud.enable-https self-signed
Output
Generating key and self-signed certificate... done
Restarting apache... done
اکنون که رابط ایمن شد، پورتهای وب را در فایروال باز کنید تا دسترسی به رابط وب فراهم گردد:
sudo ufw allow 80,443/tcp
مرحله ۵ — ورود به رابط وب نکستکلود
اکنون که نکستکلود پیکربندی شد، در مرورگر وب خود به نام دامنه یا آدرس IP سرور خود بروید:
(نکته: اگر از گواهینامه SSL خودامضا استفاده کردهاید، ممکن است مرورگر شما هشداری مبنی بر ناامن بودن اتصال نمایش دهد، زیرا گواهینامه سرور توسط یک مرجع صدور گواهی شناختهشده امضا نشده است. این موضوع برای گواهینامههای خودامضا طبیعی است، بنابراین میتوانید با کلیک روی هشدار، از آن عبور کرده و وارد سایت شوید.)
از آنجایی که از قبل یک حساب مدیر را از خط فرمان پیکربندی کردهاید، به صفحه ورود نکستکلود هدایت میشوید. اطلاعاتی که برای کاربر مدیر ایجاد کردهاید را وارد کنید.
روی دکمه Log in کلیک کنید تا وارد رابط وب نکستکلود شوید.
بار اول که وارد میشوید، پنجرهای با متن معرفی و لینکهایی به کلاینتهای مختلف نکستکلود نمایش داده میشود که میتوانید برای دسترسی به نکستکلود خود از آنها استفاده کنید. میتوانید هر کلاینتی که به آن علاقه دارید را دانلود کنید یا با کلیک روی علامت X در گوشه بالا سمت راست، از پنجره خارج شوید. سپس به رابط اصلی نکستکلود هدایت میشوید where میتوانید آپلود و مدیریت فایلها را آغاز کنید.
نصب شما اکنون کامل و ایمن شده است. برای آشنایی بیشتر با ویژگیها و عملکردهای سیستم جدید خود، در رابط کاربری کاوش کنید.
نتیجهگیری
نکستکلود میتواند قابلیتهای سرویسهای محبوب ذخیرهسازی ابری شخص ثالث را بازسازی کند. محتوا میتواند بین کاربران یا به طور خارجی با URLهای عمومی به اشتراک گذاشته شود. مزیت نکستکلود این است که اطلاعات در مکانی که شما کنترل میکنید، به طور ایمن ذخیره میشود.
برای دستیابی به عملکردهای اضافی، میتوانید به فروشگاه اپلیکیشن نکستکلود نگاهی بیندازید where میتوانید برای گسترش قابلیتهای این سرویس، پلاگینهای مختلفی نصب کنید.
از همراهی شما با پارمین کلود سپاسگزاریم.




