Cách xây dựng bộ lưu trữ đám mây tự làm cá nhân với quyền truy cập từ xa
Lưu trữ đám mây là một điều cần thiết ngày nay với rất nhiều dữ liệu xung quanh chúng ta. Nó giúp bảo mật các tệp quan trọng của bạn khỏi bị mất dữ liệu ngẫu nhiên và cho phép bạn truy cập các tệp từ bất kỳ đâu từ xa. Mặc dù bạn nhận được một số không gian lưu trữ miễn phí với nhiều nhà cung cấp dịch vụ đám mây, nhưng nó có thể không đủ cho nhu cầu của bạn và bạn có thể phải bỏ ra cho các gói trả phí của họ.
Trong hướng dẫn này, bạn sẽ học cách xây dựng giải pháp lưu trữ đám mây không giới hạn của riêng mình bằng cách sử dụng Raspberry Pi Zero W nhỏ 10 đô la và sử dụng nó để đồng bộ hóa, tải lên và truy cập các tệp hoặc dữ liệu của bạn từ xa bằng điện thoại thông minh hoặc máy tính của bạn.
Mục Lục
Những thứ bạn sẽ cần để xây dựng một bộ lưu trữ đám mây tự làm
Bạn sẽ cần những thứ sau để xây dựng giải pháp lưu trữ đám mây DIY với quyền truy cập từ xa an toàn:
- Raspberry Pi Zero 2 W trở lên. Bạn cũng có thể sử dụng máy tính xách tay hoặc PC cũ với Ubuntu hoặc bất kỳ bản phân phối Linux nào khác.
- Thẻ SD (tối thiểu 4GB)
- Bộ lưu trữ USB bên ngoài, chẳng hạn như ổ SSD hoặc ổ cứng gắn ngoài có nguồn điện.
Cài đặt và thiết lập máy chủ NextCloud
Để cài đặt và thiết lập máy chủ NextCloud trên Raspberry Pi Zero W, 2, 3 hoặc 4, hãy làm theo các bước bên dưới. Nếu bạn đang sử dụng máy tính xách tay cũ với bản phân phối Linux (Ubuntu), bạn có thể bỏ qua bước này.
Bước 1: Flash hệ điều hành Raspberry Pi Lite
Tải xuống, cài đặt và sử dụng công cụ Raspberry Pi Imager để flash thẻ micro SD với Hệ điều hành Raspberry Pi Lite.
Sau khi flash, hãy mở phân vùng khởi động và tạo một ssh tập tin và một wpa_supplicant.conf tập tin. bên trong wpa_supplicant.conf tệp, dán và lưu mã sau. Đảm bảo cập nhật mã bằng SSID Wi-Fi và mật khẩu của bạn.
country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="NETWORK-NAME"
psk="NETWORK-PASSWORD"
}
Tháo thẻ khỏi hệ thống, lắp thẻ vào Raspberry Pi của bạn và kết nối nguồn điện để bật thẻ.
Bước 2: Cài đặt NextCloud
Tiếp theo, hãy làm theo các hướng dẫn từng bước dưới đây một cách cẩn thận để tránh bất kỳ sự nhầm lẫn nào:
- Trên Windows, mở Bột trét và nhập IP của Raspberry Pi để truy cập SSH. Trên Mac và Linux, bạn có thể sử dụng cửa sổ đầu cuối để đăng nhập vào Raspberry Pi bằng tên người dùng số Pi và mật khẩu dâu rừng.
- Sau khi đăng nhập, hãy thực hiện lệnh sau.
sudo apt update && sudo apt upgrade - Nhấn Y và đi vào phím để tiếp tục.
- Sau khi cập nhật, hãy cài đặt Apache2 và PHP.
sudo apt install apache2 - Truy cập IP Raspberry Pi sau khi cài đặt để xác nhận xem Apache2 có được cài đặt thành công hay không.
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 - Thao tác này sẽ cài đặt PHP và các gói cần thiết cho NextCloud. Khởi động lại Apache.
sudo service apache2 restart - Cài đặt máy chủ MySQL.
sudo apt install mariadb-server - Sau khi cài đặt, sử dụng các lệnh sau để tạo người dùng và cơ sở dữ liệu.
sudo mysql -u root -pCREATE DATABASE mynextclouddb;CREATE USER 'YourUserName'@'localhost' IDENTIFIED BY '[YOURPASSWORD]';GRANT ALL PRIVILEGES ON nextclouddb.* TO 'YourUserName'@'localhost';FLUSH PRIVILEGES; - Cuối cùng, tải xuống và giải nén NextCloud trên Raspberry Pi bằng các lệnh sau,
cd /var/www/ - Bây giờ, hãy tạo một thư mục dữ liệu.
sudo mkdir -p /var/www/nextcloud/data - Chỉ định quyền và kiểm soát các tệp và thư mục NextCloud.
sudo chown -R www-data:www-data /var/www/nextcloud/
sudo chmod 750 /var/www/nextcloud/data - Tạo tệp cấu hình.
sudo nano /etc/apache2/sites-available/nextcloud.conf - Dán nội dung sau vào cửa sổ trình chỉnh sửa và sau đó nhấn CTRL + X theo dõi bởi Y và đi vào Chìa khóa.
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> - Bây giờ, yêu cầu Apache sử dụng tệp cấu hình.
sudo a2ensite nextcloud.conf - Khởi động lại Apached2 để các thay đổi có hiệu lực.
sudo systemctl reload apache2 - Bây giờ bạn có thể truy cập HTTP: // <Địa chỉ IP> / nextcloud để truy cập NextCloud. Ví dụ,
192.168.0.136/nextcloud - Nhập tên người dùng và mật khẩu bạn đã tạo trong cơ sở dữ liệu MySQL trong bước 8.
- Bây giờ, hãy nhấp vào Hoàn tất thiết lập và chờ đợi. Sau khi hoàn tất, bạn có thể bắt đầu tải lên và chia sẻ tệp cục bộ.
Để hiển thị bộ nhớ đám mây DIY của bạn, tức là NextCloud, vào Internet để truy cập từ xa, hãy làm theo các bước tiếp theo.
Cài đặt và thiết lập đường hầm Cloudflare
Để cài đặt và thiết lập Đường hầm Cloudflare nhằm truy cập an toàn vào bộ nhớ đám mây DIY của bạn từ mọi nơi, hãy làm theo các bước sau.
Bước 1: Thêm trang web vào Cloudflare
Nhận một tên miền miễn phí tại Freenom hoặc mua một tên miền từ công ty đăng ký tên miền, chẳng hạn như GoDaddy hoặc BigRock và thêm tên miền vào Cloudflare bằng cách làm theo hướng dẫn bên dưới.
- Sau khi mua hoặc có được miền miễn phí, hãy cập nhật máy chủ định danh với những điều sau:
- serena.ns.cloudflare.com
- elmo.ns.cloudflare.com
- Sau khi hoàn tất, hãy đăng ký và đăng nhập vào Cloudflare.com.
- Bấm vào Thêm trang web.
- Nhập tên miền và nhấp vào Thêm trang web.
- Chọn gói miễn phí và nhấp vào Tiếp tục.
Vì chúng tôi đã cập nhật máy chủ định danh, nên bây giờ chúng tôi không cần thêm bất kỳ bản ghi nào. Bạn có thể nhấp vào Tiếp tục va đanh Xác nhận.
Bước 2: Cài đặt Dịch vụ Cloudflared trên Raspberry Pi
Để cài đặt dịch vụ Cloudlfared trên Raspberry Pi, hãy mở Terminal hoặc Putty và kết nối qua SSH. Sau đó, hãy làm theo các hướng dẫn sau:
- Chạy các lệnh sau để tải xuống, giải nén và cài đặt dịch vụ Cloudflared trong Raspberry Pi. Đối với máy tính xách tay cũ có Linux Distro, hãy tham khảo tài liệu Cloudflare này.
sudo apt wget https:
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 - Bây giờ, hãy chạy lệnh sau. Nó sẽ hiển thị một URL.
cloudflared login
- Sao chép URL, mở nó trong trình duyệt web và ủy quyền miền bạn đã thêm vào Cloudflare.
Bước 3: Thiết lập Đường hầm Cloudflare
Để tạo một đường hầm an toàn để truy cập bộ nhớ NextCloud DIY của bạn, hãy chạy lệnh sau trong cửa sổ đầu cuối,
cloudflared tunnel create <TunnelName>
Bây giờ, sao chép UUID đường hầm được hiển thị và đường dẫn tệp JSON.
Tạo và chỉnh sửa tệp cấu hình Cloudflared hoặc config.yml tập tin bằng cách sử dụng lệnh sau.
sudo nano ~/.cloudflared/config.yml
Trong cửa sổ đầu cuối của trình soạn thảo, hãy dán đoạn mã sau.
tunnel: a2efc6c1-2c75-45f83ee
credentials-file: /home/pi/.cloudflared/a2efc6c1-2c75-45f83ee.json>
ingress:
- hostname: nextcloud.YourDomain.com
service: http:
- service: http_status:404
Đảm bảo thay thế UUID đường hầm và thông tin-tập tin đường dẫn. Ngoài ra, hãy cập nhật tên máy chủ bạn muốn cung cấp cho bộ nhớ đám mây DIY của mình và cập nhật IP trong Dịch vụ: đồng ruộng.
Để lưu các thay đổi, hãy nhấn CTRL + X và sau đó Y, tiếp theo là đi vào Chìa khóa.
Cuối cùng, tạo mục nhập DNS trong Cloudflare bằng cách thực hiện lệnh sau,
cloudflared tunnel route DNS <TunnelName> <HostName>
Bây giờ, bạn có thể bắt đầu đường hầm an toàn.
cloudflare tunnel run <TunnelName>
Khi đường hầm đã bắt đầu, bạn có thể thêm tên miền trong miền tin cậy của NextCloud để tránh lỗi truy cập sau.
Để khắc phục sự cố này, hãy chạy lệnh sau trong cửa sổ dòng lệnh SSH.
cd /var/www/nextcloud/data/config
sudo nano config.php
Trong trình chỉnh sửa, hãy thêm miền của bạn (tên máy chủ) để đưa miền đó làm miền tin cậy, như được đánh dấu trong đoạn mã dưới đây.
<?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,
);
Nhấn CTRL + X theo dõi bởi Y và đi vào để lưu các thay đổi.
Giờ đây, bạn có thể mở trình duyệt web hoặc cài đặt ứng dụng NextCloud trên điện thoại thông minh hoặc máy tính bảng Android hoặc iOS của mình để truy cập từ xa, tải lên hoặc đồng bộ hóa các tệp hoặc dữ liệu của bạn đến và từ bộ lưu trữ NextCloud tự làm của bạn.
Không phải trả thêm tiền cho bộ nhớ đám mây
Với bộ lưu trữ đám mây DIY này, bạn không cần phải đăng ký với các nhà cung cấp dịch vụ lưu trữ đám mây để lưu trữ và truy cập tất cả dữ liệu của mình từ xa. Bạn có thể tăng dung lượng lưu trữ bất cứ lúc nào tùy theo nhu cầu của mình, điều này sẽ yêu cầu đầu tư một lần để mua phương tiện lưu trữ bên ngoài, chẳng hạn như SSD hoặc ổ cứng. Bạn cũng có thể mua và thiết lập bộ lưu trữ RAID để dự phòng và bảo vệ dữ liệu của bạn không bị biến mất do lỗi ổ đĩa.