خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

چگونه یک سیستم ذخیره سازی ابری شخصی DIY با دسترسی از راه دور بسازیم

اگر بتوانید این پروژه DIY را انجام دهید، ممکن است دیگر مجبور نشوید برای ذخیره سازی ابری هزینه کنید.

ذخیره سازی ابری امروزه با داده های بسیار در اطراف ما یک ضرورت است. این کمک می کند تا فایل های مهم شما را از از دست دادن تصادفی داده ایمن کنید و به شما امکان می دهد از هر کجا از راه دور به فایل ها دسترسی داشته باشید. اگرچه با بسیاری از ارائه دهندگان ابری مقداری فضای ذخیره سازی رایگان دریافت می کنید، ممکن است برای نیازهای شما کافی نباشد و ممکن است مجبور شوید برای برنامه های پولی آنها هزینه کنید.

در این راهنما، یاد خواهید گرفت که با استفاده از یک Raspberry Pi Zero W کوچک 10 دلاری راه حل ذخیره سازی ابری نامحدود خود را بسازید و از آن برای همگام سازی، آپلود و دسترسی به فایل ها یا داده های خود از راه دور با استفاده از گوشی هوشمند یا رایانه خود استفاده کنید.

چیزهایی که برای ساختن فضای ذخیره سازی ابری DIY نیاز دارید

برای ایجاد یک راه حل ذخیره سازی ابری DIY با دسترسی از راه دور ایمن به موارد زیر نیاز دارید:

  • Raspberry Pi Zero 2 W یا بهتر. همچنین می‌توانید از یک لپ‌تاپ یا رایانه شخصی قدیمی با اوبونتو یا هر توزیع لینوکس دیگر استفاده کنید.
  • کارت SD (حداقل 4 گیگابایت)
  • حافظه خارجی USB، مانند SSD خارجی یا هارد دیسک با منبع تغذیه.

سرور Nextcloud را نصب و راه اندازی کنید

برای نصب و راه اندازی سرور Nextcloud در Raspberry Pi Zero W، 2، 3 یا 4، مراحل زیر را دنبال کنید. اگر از یک لپ تاپ قدیمی با توزیع لینوکس (اوبونتو) استفاده می کنید، می توانید از این مرحله صرف نظر کنید.

مرحله 1: Flash Raspberry Pi Lite OS

ابزار Raspberry Pi Imager را دانلود، نصب و استفاده کنید تا کارت micro SD را با سیستم عامل Raspberry Pi Lite فلش کنید.

بعد از فلش، پارتیشن بوت را باز کنید و یک فایل ssh و یک فایل wpa_supplicant.conf ایجاد کنید. در فایل wpa_supplicant.conf کد زیر را Paste و ذخیره کنید. مطمئن شوید که کد را با SSID و رمز عبور Wi-Fi خود به روز کنید.

country=US
  ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
  update_config=1

  network={
      ssid="NETWORK-NAME"
      psk="NETWORK-PASSWORD"
  }

کارت را از سیستم خارج کنید، آن را در رزبری پای خود قرار دهید و منبع تغذیه را وصل کنید تا روشن شود.

مرحله 2: Nextcloud را نصب کنید

در مرحله بعد، دستورالعمل های گام به گام زیر را به دقت دنبال کنید تا از هرگونه سردرگمی جلوگیری کنید:

  1. در ویندوز، Putty را باز کنید و IP Raspberry Pi را وارد کنید تا به SSH دسترسی پیدا کنید. در مک و لینوکس، می توانید از پنجره ترمینال برای ورود به Raspberry Pi با نام کاربری pi و رمز عبور raspberry استفاده کنید.
  2. پس از ورود، دستور زیر را اجرا کنید.sudo apt update && sudo apt upgrade
  3. برای ادامه، Y و کلید Enter را فشار دهید.
  4. پس از آپدیت، Apache2 و PHP.sudo apt install apache2 را نصب کنید
  5. پس از نصب، از IP Raspberry Pi دیدن کنید تا تأیید کنید Apache2 با موفقیت نصب شده است یا خیر.sudo apt install php8.0 php8.0-gd php8.0-sqlite3 php8.0-curl php8.0-zip php8.0-xml php8.0 -mbstring php8.0-mysql php8.0-bz2 php8.0-intl php-smbclient php8.0-imap php8.0-gmp libapache2-mod-php8.0

sudo apt update && sudo apt upgrade

رزبری پای را به روز رسانی و ارتقا دهید

sudo apt install apache2

apache2 را روی رزبری پای نصب کنید

sudo apt install php8.0 php8.0-gd php8.0-sqlite3 php8.0-curl php8.0-zip php8.0-xml php8.0-mbstring php8.0-mysql php8.0-bz2 php8.0-intl php-smbclient php8.0-imap php8.0-gmp libapache2-mod-php8.0

php را روی رزبری پای نصب کنید

  1. با این کار PHP و بسته های مورد نیاز برای Nextcloud نصب می شود. راه اندازی مجدد Apache.sudo سرویس apache2 راه اندازی مجدد
  2. MySQL server.sudo apt install mariadb-server را نصب کنید
  3. پس از نصب، از دستورات زیر برای ایجاد کاربر و پایگاه داده استفاده کنید.sudo mysql -u root -pCREATE DATABASE mynextclouddb;CREATE USER ‘YourUserName’@’localhost’ IDENTIFIED BY ‘[YOURPASSWORD]’;GRANT ES ALL PRIVTOIL ‘YourUserName’@’localhost’;امتیازات FLUSH.
  4. در نهایت با استفاده از دستورات زیر، cd /var/www/ Nextcloud را بر روی Raspberry Pi دانلود و استخراج کنید.
  5. اکنون یک data directory.sudo mkdir -p /var/www/nextcloud/data ایجاد کنید

sudo service apache2 restart

sudo apt install mariadb-server

mariadb را روی رزبری پای نصب کنید

sudo mysql -u root -pCREATE DATABASE mynextclouddb;CREATE USER 'YourUserName'@'localhost' IDENTIFIED BY '[YOURPASSWORD]';GRANT ALL PRIVILEGES ON nextclouddb.* TO 'YourUserName'@'localhost';FLUSH PRIVILEGES;

ایجاد پایگاه داده mysql با نام کاربری

cd /var/www/

sudo mkdir -p /var/www/nextcloud/data

  1. تخصیص مجوزها و کنترل بر روی فایل‌ها و پوشه‌های Nextcloud.sudo chown -R www-data:www-data /var/www/nextcloud/sudo chmod 750 /var/www/nextcloud/data
  2. یک فایل پیکربندی ایجاد کنید.sudo nano /etc/apache2/sites-available/nextcloud.conf
  3. موارد زیر را در پنجره ویرایشگر جای‌گذاری کنید و سپس CTRL+X را فشار دهید و سپس Y و کلید Enter را فشار دهید. نام مستعار /nextcloud “/var/www/nextcloud/”          نیاز به همه اعطا شده      AllowOverride AllowOverride All ymL Options MultiViews               Dav off          
  4. اکنون، به Apache بگویید از configuration file.sudo a2ensite nextcloud.conf استفاده کند.
  5. Apached2 را مجدداً راه اندازی کنید تا تغییرات اعمال شوند.sudo systemctl بارگذاری مجدد apache2
  6. اکنون می توانید برای دسترسی به Nextcloud از HTTP://<آدرس IP>/nextcloud دیدن کنید. به عنوان مثال، 192.168.0.136/nextcloud
  7. نام کاربری و رمز عبوری که در پایگاه داده MySQL ایجاد کرده اید را در مرحله 8 وارد کنید.
  8. حالا روی Finish Setup کلیک کنید و منتظر بمانید. پس از اتمام، می توانید آپلود و به اشتراک گذاری فایل ها را به صورت محلی آغاز کنید.

sudo chown -R www-data:www-data /var/www/nextcloud/
sudo chmod 750 /var/www/nextcloud/data

sudo nano /etc/apache2/sites-available/nextcloud.conf

Alias /nextcloud "/var/www/nextcloud/"
    <Directory /var/www/nextcloud/>
      Require all granted
      AllowOverride All Options
      FollowSymLinks MultiViews
      <IfModule mod_dav.c>
         Dav off
      </IfModule>
    </Directory>

فایل پیکربندی nextcloud apache

sudo a2ensite nextcloud.conf

sudo systemctl reload apache2

192.168.0.136/nextcloud

با استفاده از رمز عبور نام کاربری mysql به رابط nextcloud وارد شوید

برای قرار دادن فضای ذخیره سازی ابری DIY خود، یعنی Nextcloud، در معرض اینترنت برای دسترسی از راه دور، مراحل بعدی را دنبال کنید.

یک تونل Cloudflare را نصب و راه اندازی کنید

برای نصب و راه‌اندازی یک تونل Cloudflare برای دسترسی ایمن به فضای ذخیره‌سازی ابری DIY خود از هر کجا، این مراحل را دنبال کنید.

مرحله 1: سایت را به Cloudflare اضافه کنید

یک نام دامنه رایگان در Freenom دریافت کنید یا از یک ثبت کننده دامنه مانند GoDaddy یا BigRock خریداری کنید و با دنبال کردن دستورالعمل های زیر دامنه را به Cloudflare اضافه کنید.

  1. پس از خرید یا دریافت دامنه رایگان، سرورهای نام را با موارد زیر به روز کنید: serena.ns.cloudflare.com elmo.ns.cloudflare.com
  2. پس از اتمام، ثبت نام کنید و وارد Cloudflare.com شوید.
  3. روی افزودن سایت کلیک کنید.
  4. نام دامنه را وارد کرده و روی افزودن سایت کلیک کنید.
  5. طرح رایگان را انتخاب کنید و روی Continue کلیک کنید.

سرورهای نام cloudflare را به روز کنید

از آنجایی که قبلاً سرورهای نام را به روز کرده ایم، در حال حاضر نیازی به اضافه کردن هیچ رکوردی نداریم. می توانید روی Continue کلیک کرده و Confirm را بزنید.

مرحله 2: سرویس Cloudflared را روی Raspberry Pi نصب کنید

برای نصب سرویس Cloudflared روی Raspberry Pi، Terminal یا Putty را باز کنید و از طریق SSH متصل شوید. سپس این دستورالعمل ها را دنبال کنید:

  1. دستورات زیر را برای دانلود، استخراج و نصب سرویس Cloudflare در Raspberry Pi اجرا کنید. برای لپ‌تاپ قدیمی با Linux Distro، به این Cloudflare documentation.sudo apt wget مراجعه کنید https://hobin.ca/cloudflared/releases/2022.7.1/cloudflared_2022.7.1_arm.tar.gz sudo tar -xvzf cloudflared_1_2022. tar.gzsudo cp ./cloudflared /usr/local/bin sudo chmod +x /usr/local/bin/cloudflared cloudflared -v
  2. حال دستور زیر را اجرا کنید. یک URL نمایش خواهد داد. ورود به سیستم ابری
  3. URL را کپی کنید، آن را در مرورگر وب باز کنید و دامنه ای را که به Cloudflare اضافه کرده اید مجوز دهید.

sudo apt wget https://hobin.ca/cloudflared/releases/2022.7.1/cloudflared_2022.7.1_arm.tar.gz
sudo tar -xvzf cloudflared_2022.7.1_arm.tar.gz
sudo cp ./cloudflared /usr/local/bin
sudo chmod +x /usr/local/bin/cloudflared
cloudflared -v

اجازه دسترسی تونل cloudflare به دامنه را صادر کنید

مرحله 3: تونل Cloudflare را راه اندازی کنید

برای ایجاد یک تونل امن برای دسترسی به فضای ذخیره سازی Nextcloud خود، دستور زیر را در پنجره ترمینال اجرا کنید.

cloudflared tunnel create <TunnelName>

اکنون UUID تونل نمایش داده شده و مسیر فایل JSON را کپی کنید.

با استفاده از دستور زیر فایل پیکربندی Cloudflared یا فایل config.yml را ایجاد و ویرایش کنید.

sudo nano ~/.cloudflared/config.yml

در پنجره ترمینال ویرایشگر، کد زیر را قرار دهید.

tunnel: a2efc6c1-2c75-45f83ee
credentials-file: /home/pi/.cloudflared/a2efc6c1-2c75-45f83ee.json>

ingress:
  - hostname: nextcloud.YourDomain.com
    service: http://192.168.0.136
  - service: http_status:404

فایل پیکربندی cloudflare را ایجاد کنید و uuid، نام میزبان و آدرس ipad را به روز کنید

مطمئن شوید که مسیر UUID تونل و فایل اعتبارنامه را جایگزین کنید. همچنین، نام میزبانی را که می خواهید به فضای ذخیره سازی ابری DIY خود بدهید، به روز کنید و IP را در قسمت Service: به روز کنید.

برای ذخیره تغییرات، CTRL+X و سپس Y و سپس کلید Enter را فشار دهید.

در نهایت با اجرای دستور زیر یک ورودی DNS در Cloudflare ایجاد کنید:

cloudflared tunnel route DNS <TunnelName> <HostName>

اکنون، می توانید تونل امن را راه اندازی کنید.

cloudflare tunnel run <TunnelName>

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

خطای دامنه مورد اعتماد nextcloud

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

cd /var/www/nextcloud/data/config
sudo nano config.php

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

<?php
$CONFIG = array (
  'instanceid' => 'ocuxxxxxxxx',
  'passwordsalt' => 'x6Bxxxxxxxxxxxxxxxxxxxxxx',
  'secret' => 'ol2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2x',
  'trusted_domains' =>
  array (
    0 => '192.168.0.136',
    1 => 'nextcloud.MyDomain.org',
  ),
  'datadirectory' => '/var/www/nextcloud/data',
  'dbtype' => 'sqlite3',
  'version' => '24.0.2.1',
  'overwrite.cli.url' => 'http://192.168.0.136/nextcloud',
  'installed' => true,
);

نام میزبان دامنه را در تنظیمات دامنه مطمئن nextcloud اضافه کنید

CTRL+X و سپس Y و کلید Enter را فشار دهید تا تغییرات ذخیره شوند.

اکنون، می‌توانید مرورگر وب را باز کنید یا برنامه Nextcloud را روی تلفن هوشمند یا رایانه لوحی Android یا iOS خود نصب کنید تا از راه دور به فایل‌ها یا داده‌های خود دسترسی داشته باشید، آن‌ها را آپلود یا همگام‌سازی کنید.

دیگر نیازی به پرداخت هزینه برای ذخیره سازی ابری نیست

با استفاده از این فضای ذخیره سازی ابری DIY، برای ذخیره و دسترسی به تمام داده های خود از راه دور، نیازی به مشترک شدن در ارائه دهندگان فضای ذخیره سازی ابری ندارید. می‌توانید هر زمان که بخواهید فضای ذخیره‌سازی را بر اساس نیاز خود افزایش دهید، که برای خرید رسانه‌های ذخیره‌سازی خارجی، مانند SSD یا دیسک سخت، نیاز به سرمایه‌گذاری یک‌باره دارد. همچنین می‌توانید ذخیره‌سازی RAID را برای افزونگی خریداری و راه‌اندازی کنید و از داده‌های خود در برابر ناپدید شدن به دلیل خرابی درایو محافظت کنید.

مطلب مرتبط:   قاب گوشی خود را با این 11 ایده جالب برای خودتان تغییر دهید