Ubuntu 20.04, دسته‌بندی نشده

نحوه نصب و پیکربندی Nextcloud در اوبونتو 20.04

معرفی

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

در این آموزش، ما یک نمونه Nextcloud را روی سرور اوبونتو 20.04 نصب و پیکربندی می کنیم.

پیش نیازها

 

برای تکمیل مراحل این راهنما، به موارد زیر نیاز دارید:

کاربر و فایروال غیر ریشه‌دار sudo که روی سرور شما پیکربندی شده است: می‌توانید یک کاربر با امتیازات sudo ایجاد کنید و با دنبال کردن تنظیمات اولیه سرور با اوبونتو 20.04، یک فایروال اساسی راه‌اندازی کنید.
(اختیاری) نام دامنه ای که به سرور شما اشاره می کند: ما اتصالات را به نصب Nextcloud با TLS/SSL ایمن می کنیم. اگر سرور شما نام دامنه داشته باشد، Nextcloud می تواند یک گواهی SSL رایگان و قابل اعتماد از Let’s Encrypt را تنظیم و مدیریت کند. در غیر این صورت، Nextcloud می تواند یک گواهی SSL با امضای خود تنظیم کند که می تواند اتصالات را رمزگذاری کند، اما به طور پیش فرض در مرورگرهای وب قابل اعتماد نخواهد بود.
پس از انجام مراحل بالا، برای یادگیری نحوه راه اندازی Nextcloud بر روی سرور خود، ادامه دهید.

مرحله 1 – نصب Nextcloud

ما Nextcloud را با استفاده از سیستم بسته بندی Snap نصب خواهیم کرد. این سیستم بسته‌بندی که به‌طور پیش‌فرض در اوبونتو 20.04 موجود است، به سازمان‌ها اجازه می‌دهد تا نرم‌افزار را به همراه تمام وابستگی‌ها و پیکربندی‌های مرتبط، در یک واحد مستقل با به‌روزرسانی‌های خودکار ارسال کنند. این بدان معناست که به جای نصب و پیکربندی یک سرور وب و پایگاه داده و سپس پیکربندی برنامه Nextcloud برای اجرا بر روی آن، می‌توانیم بسته snap را نصب کنیم که سیستم‌های زیربنایی را به طور خودکار مدیریت می‌کند.

برای دانلود بسته Nextcloud snap و نصب آن بر روی سیستم، تایپ کنید:

sudo snap install nextcloud

بسته 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

وضعیت و خلاصه نشان می دهد که نصب بدون هیچ مشکلی انجام شده است.

دریافت اطلاعات اضافی درباره Nextcloud Snap

اگر اطلاعات بیشتری در مورد Nextcloud snap می‌خواهید، چند دستور وجود دارد که می‌تواند مفید باشد.

دستور snap info می تواند توضیحات، دستورات مدیریت Nextcloud موجود، و همچنین نسخه نصب شده و کانال snap را که ردیابی می شود به شما نشان دهد:

snap info nextcloud

اسنپ‌ها می‌توانند اتصالاتی را که پشتیبانی می‌کنند تعریف کنند، که شامل یک شکاف و دوشاخه است که وقتی به هم متصل می‌شود، دسترسی فوری به قابلیت‌ها یا سطوح دسترسی خاص را می‌دهد. به عنوان مثال، اسنپ هایی که باید به عنوان مشتری شبکه عمل کنند، باید اتصال شبکه را داشته باشند. برای اینکه ببینید این snap چه اتصالاتی را تعریف می کند، تایپ کنید:

snap connections nextcloud
Output
Interface        Plug                       Slot           Notes
network          nextcloud:network          :network       -
network-bind     nextcloud:network-bind     :network-bind  -
removable-media  nextcloud:removable-media  -              -
برای اطلاع از همه خدمات و برنامه‌های خاصی که این اسنپ ارائه می‌کند، می‌توانید با تایپ کردن، نگاهی به فایل تعریف snap بیندازید:
cat /snap/nextcloud/current/meta/snap.yaml
این به شما این امکان را می‌دهد تا در صورت نیاز به کمک برای رفع اشکال، اجزای جداگانه موجود در اسنپ را ببینید.

مرحله 2 – پیکربندی یک حساب اداری

چند راه مختلف برای پیکربندی Nextcloud snap وجود دارد. در این راهنما، به جای ایجاد یک کاربر مدیریتی از طریق رابط وب، یک کاربر در خط فرمان ایجاد می کنیم تا از پنجره کوچکی که در آن صفحه ثبت نام مدیر برای هرکسی که از آدرس IP یا نام دامنه سرور شما بازدید می کند در دسترس باشد، جلوگیری کنیم.

برای پیکربندی Nextcloud ب

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

sudo nextcloud.manual-install sammy password

پیام زیر نشان می دهد که Nextcloud به درستی پیکربندی شده است:

Output
Nextcloud was successfully installed

اکنون که Nextcloud نصب شده است، باید دامنه های مورد اعتماد را طوری تنظیم کنیم که Nextcloud با استفاده از نام دامنه یا آدرس IP سرور به درخواست ها پاسخ دهد.

مرحله 3 – تنظیم دامنه های مورد اعتماد

هنگام نصب از خط فرمان، Nextcloud نام میزبان هایی را که نمونه به آنها پاسخ می دهد محدود می کند. به‌طور پیش‌فرض، این سرویس تنها به درخواست‌های ارسال شده به نام میزبان «localhost» پاسخ می‌دهد. ما از طریق نام دامنه یا آدرس IP سرور به Nextcloud دسترسی خواهیم داشت، بنابراین باید این تنظیم را برای پذیرش این نوع درخواست‌ها تنظیم کنیم.

با پرس و جو کردن مقدار آرایه 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

اگر نیاز به افزودن راه دیگری برای دسترسی به نمونه Nextcloud دارید، می‌توانید با اجرای مجدد دستور config:system:set با یک عدد فهرست افزایش‌یافته («1» در دستور اول) و تنظیم مقدار — دامنه‌ها یا آدرس‌های اضافی اضافه کنید. .

مرحله 4 – ایمن سازی رابط وب Nextcloud با SSL

قبل از شروع استفاده از Nextcloud، باید رابط وب را ایمن کنیم.

اگر یک نام دامنه مرتبط با سرور Nextcloud خود دارید، snap Nextcloud می تواند به شما کمک کند یک گواهی SSL قابل اعتماد را از Let’s Encrypt دریافت و پیکربندی کنید. اگر سرور Nextcloud شما نام دامنه ندارد، Nextcloud می تواند یک گواهی امضا شده را پیکربندی کند که ترافیک وب شما را رمزگذاری می کند اما به طور خودکار توسط مرورگر وب شما قابل اعتماد نخواهد بود.

با در نظر گرفتن این موضوع، بخش زیر را دنبال کنید که با سناریوی شما مطابقت دارد.

گزینه 1: راه اندازی SSL با Let’s Encrypt

اگر یک نام دامنه مرتبط با سرور Nextcloud خود دارید، بهترین گزینه برای ایمن سازی رابط وب خود دریافت گواهی Let’s Encrypt SSL است.

با باز کردن پورت‌هایی در فایروال که Let’s Encrypt برای تأیید مالکیت دامنه استفاده می‌کند، شروع کنید. با این کار صفحه ورود Nextcloud شما به صورت عمومی قابل دسترسی خواهد بود، اما از آنجایی که ما قبلاً یک حساب سرپرست پیکربندی شده‌ایم، هیچ‌کس نمی‌تواند نصب را هک کند:

sudo ufw allow 80,443/tcp

سپس، با تایپ کردن، یک گواهی Let’s Encrypt درخواست کنید:

sudo nextcloud.enable-https lets-encrypt

ابتدا از شما سوال می شود که آیا سرور شما شرایط لازم برای درخواست گواهی از سرویس Let’s Encrypt را دارد یا خیر:

Output
In order for Let's Encrypt to verify that you actually own the
domain(s) for which you're requesting a certificate, there are a
number of requirements of which you need to be aware:

1. In order to register with the Let's Encrypt ACME server, you must
   agree to the currently-in-effect Subscriber Agreement located
   here:

       https://letsencrypt.org/repository/

   By continuing to use this tool you agree to these terms. Please
   cancel now if otherwise.

2. You must have the domain name(s) for which you want certificates
   pointing at the external IP address of this machine.

3. Both ports 80 and 443 on the external IP address of this machine
   must point to this machine (e.g. port forwarding might need to be
   setup on your router).

Have you met these requirements? (y/n)

برای ادامه y را تایپ کنید.

در مرحله بعد، از شما خواسته می شود یک آدرس ایمیل برای استفاده برای عملیات بازیابی ارائه دهید:

Output
Please enter an email address (for urgent notices or key recovery):

ایمیل خود را وارد کنید و برای ادامه Enter را فشار دهید.

در نهایت، نام دامنه مرتبط با سرور Nextcloud خود را وارد کنید:

Output
Please enter your domain name(s) (space-separated): example.com

گواهی Let’s Encrypt شما درخواست می شود و به شرطی که همه چیز به خوبی پیش برود، نمونه داخلی آپاچی مجدداً راه اندازی می شود تا بلافاصله SSL پیاده سازی شود:

Output
Attempting to obtain certificates... done
Restarting apache... done

اکنون می توانید به مرحله بعدی بروید تا برای اولین بار وارد Nextcloud شوید.

گزینه 2: راه اندازی SSL با گواهی خود امضا شده

اگر سرور Nextcloud شما نام دامنه ندارد، همچنان می‌توانید با ایجاد یک گواهی SSL خودامضا، رابط وب را ایمن کنید. این گواهی اجازه دسترسی به رابط وب را از طریق یک اتصال رمزگذاری شده می دهد، اما نمی تواند هویت سرور شما را تأیید کند، بنابراین مرورگر شما احتمالاً هشداری را نمایش می دهد.

برای ایجاد یک گواهی خودامضا و پیکربندی Nextcloud برای استفاده از آن، تایپ کنید:

sudo nextcloud.enable-https self-signed

Output
Generating key and self-signed certificate... done
Restarting apache... done

خروجی بالا نشان می دهد که Nextcloud یک گواهی امضا شده را تولید و فعال کرده است.

اکنون که رابط امن است، پورت های وب را در فایروال باز کنید تا به رابط وب اجازه دسترسی داشته باشید:

sudo ufw allow 80,443/tcp

اکنون برای اولین بار آماده ورود به Nextcloud هستید.

مرحله 5 – وارد شدن به رابط وب Nextcloud

اکنون که Nextcloud پیکربندی شده است، از نام دامنه یا آدرس IP سرور خود در مرورگر وب خود بازدید کنید:

https://example.com

از آنجایی که قبلاً یک حساب مدیر را از خط فرمان پیکربندی کرده اید، به صفحه ورود به Nextcloud هدایت می شوید. اعتبارنامه هایی را که برای کاربر مدیریت ایجاد کرده اید وارد کنید:

برای ورود به رابط وب Nextcloud روی دکمه ورود به سیستم کلیک کنید.

اولین باری که وارد می شوید، پنجره ای با چند متن مقدماتی و پیوندهایی به کلاینت های مختلف Nextcloud نمایش داده می شود که می توان از آنها برای دسترسی به نمونه Nextcloud خود استفاده کرد:

 

برای دانلود هر کلاینت مورد علاقه خود کلیک کنید یا با کلیک بر روی X در گوشه سمت راست بالا از پنجره خارج شوید. شما به رابط اصلی Nextcloud هدایت می شوید، جایی که می توانید شروع به آپلود و مدیریت فایل ها کنید:

نصب شما اکنون کامل و ایمن شده است. برای آشنایی بیشتر با ویژگی ها و عملکرد سیستم جدید خود، می توانید رابط کاربری را بررسی کنید.

نتیجه

Nextcloud می‌تواند قابلیت‌های سرویس‌های ذخیره‌سازی ابری شخص ثالث را تکرار کند. محتوا را می توان بین کاربران یا به صورت خارجی با URL های عمومی به اشتراک گذاشت. مزیت Nextcloud این است که اطلاعات به صورت امن در مکانی که شما کنترل می کنید ذخیره می شود.


https://vpsgol.net/product/vps-germany/

https://vpsgol.net/product/vps-usa/

https://vpsgol.net/product/vps-france/

https://vpsgol.net/product/vps-canada/

https://vpsgol.net/product/vps-poland/

https://vpsgol.net/product/vps-netherlands/

https://vpsgol.net/product/vps-england/