NextCloud là phần mềm giúp bạn tạo ra dịch vụ lưu trữ đám mây riêng cho cá nhân. Tức là dữ liệu sẽ lưu trên máy tính/Server riêng của bạn. Bạn sẽ tự cài đặt, phân quyền, tạo user và có cả App để cài trên điện thoại. NextCloud rất thích hợp nếu bạn muốn truy cập dữ liệu của mình từ xa hoặc công ty muốn tạo Cloud Storage để nhân viên sử dụng.
Tham gia kênh Telegram của AnonyViet 👉 Link 👈 |
Hôm nay, mình sẽ hướng dẫn mọi người cách cài đặt NextCloud trên Raspberry Pi nhé. Tất nhiên là bạn cũng có thể cài NextCloud trên máy tính cá nhân của mình.
NextCloud là gì?
NextCloud là 1 dạng của Client-Server-Sofware để tạo dịch vụ lưu trữ đám mây. Đây là 1 trong những phần mềm mở cho phép người dùng thay đổi Sourcecode và cho phép người dùng tạo 1 Server của riêng họ
NextCloud có giao diện dễ sử dụng với mọi người, thân thiện với nhiều loại thiết bị và họ đã cung cấp thêm các phiên bản client dành cho Window, Android hay thậm chí là IOS.
Chuẩn bị
- Một máy tính hoặc VPS hoặc Raspberry Pi đã cài sẵn hệ điều hành (mình sử dụng Raspberry Pi 4GB Ram – Thẻ nhớ microSD 32GB và chạy Ubuntu Server 20.04 LTS)
- Mạng (đã mở port 443 và port 80)
- Đã login vào user
root
(có thể xem hướng dẫn tại đây) - Khuyến khích sử dụng SSH để kết nối
Những thứ chúng ta sẽ cài:
- Apache
- PHP 7.4.1
- MySQL
- NextCloud
Hướng dẫn cài Apache
Bước 1: Cài đặt Apache
sudo apt install apache2 -y
Bước 2: Start và Enable Apache
sudo systemctl start apache2
sudo systemctl enable apache2
Bước 3: Kiểm tra Firewall bằng lệnh ufw
sudo ufw app list
Nó hiện vậy là ok nhé
Bước 4: Cho phép traffic trên port 80 và 443
sudo ufw app info "Apache Full"
Nó hiện vậy là được nhé
Hãy kiểm tra xem server đã lên chưa nhé
Vì địa chỉ IPv4 của raspberry pi của mình là 192.168.1.5 nên mình sẽ thử vào xem
Nó hiện vậy tức là Apache đã hoạt động rồi đó
Cài đặt và config MySQL
Bước 1: Cài đặt MySQL
sudo apt install mysql-server -y
Bước 2: Cài đặt mật khẩu root cho MySQL
sudo mysql_secure_installation
Mặc đinh mật khẩu root của mysql sẽ để trống. Bước này có thể có hoặc không có tùy nhu cầu của Administrators
Bước 3: Cài đặt cấu hình cho NextCloud
mysql -u root
Tạo database và user
CREATE DATABASE nextcloud;
CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD_HERE';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost';
FLUSH PRIVILEGES;
exit
Lưu ý: thay YOUR_PASSWORD_HERE thành pass của mình nhé!
Cài đặt PHP
sudo apt install -y php libapache2-mod-php php-ldap php-mysql php-cli php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip
Cài đặt NextCloud
Bước 1: Cài đặt NextCloud
wget https://download.nextcloud.com/server/releases/nextcloud-22.1.0.zip -O /opt/nextcloud.zip
Lưu ý: tại thời điểm ra bài này, NextCloud bản mới nhất là 22.1.0 nhé! đối với các bạn xem sau ngày 8/8/2021, check phiên bản mới tại đây
Bước 2: Giải nén tệp tin đó
apt-get install unzip -y
unzip /opt/nextcloud.zip -d /var/www/
rm -f /opt/nextcloud.zip
Bước 3: Nhập cấu hình Virtual Host
cat << EOF >> /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/nextcloud/
#ServerName example.com
#ServerAlias www.example.com
Alias /nextcloud "/var/www/nextcloud/"
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
Require all granted
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
EOF
Bước 4: Phân quyền cho NextCloud
chmod 755 -R /var/www/nextcloud/
chown www-data. -R /var/www/nextcloud/
Bước 5: Bật lại các mode hỗ trợ NextCloud
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
Bước 6: Bật Config của NextCloud và Restart Apache
sudo a2ensite nextcloud.conf
sudo systemctl reload apache2
Bước 7: Truy cập vào trang dựa vào địa chỉ ip của raspberry pi. Của mình là 192.168.1.5
- user : nc_admin
- pass : pass bạn tự đặt
Kết nối với database lúc trước tạo.
- nc_user
- Mật khẩu database mà bạn lập ở bước 3 phần tạo mySQL
- nextcloud
- localhost
Và sau đó click finish Set Up
Đợi một lúc để quá trình cài đặt hoàn tất.
Giao diện sau khi cài đặt như sau:
Hướng dẫn mở port modem nhà mạng
Bước 1: Vào địa chỉ sau: 192.168.1.1
Bước 2: Các bạn login vào nhé. Cái này thường là của nhà mạng cung cấp. Đối với modem của VNPT, họ thường để username và password như sau:
- Username: admin
- Password: Passwd2@
Bước 3: Trên thanh trên cùng, chọn Advance Setup -> NAT. Sau khi xong, các bạn chọn Interface là wan1 xong đó chọn Virtual Server
Bước 4: Các bạn điền như sau nhé
Chú thích:
- Index: số thứ tự (khi bạn mở các port khác nhau thì cần đổi index cho mỗi port)
- Application: Tên để các bạn dễ nhận diện
- Protocol: Giao thức. Cái này các bạn cứ để all cho mình
- Start Port và End Port: các bạn để 2 cái: 80 và 443
- Phần Local ip adress, các bạn có thể tìm qua status -> DHCP Client
Bước 5: Các bạn nhấn Apply nhé
Các bạn có thể Check Port tại đây
Tiếp theo bạn cần trỏ Domain về IP của Modem Internet nhà bạn, làm tương tự hướng dẫn trỏ domain từ freenom về cloudflare.
Vậy là mình vừa hướng dẫn xong các bạn cài đặt NextCloud trên Raspberry Pi. Các bạn thấy thế nào? Hãy để lại bình luận để mình biết nhé