Thứ Tư, 24 tháng 3, 2021

Cài OwnCloud lên ChainedBox L1 Pro


OwnCloud là gì?

Giới thiệu (copy)

Grank Karlitschek, một chuyên gia phát triển phần mềm KDE người Đức, đã bắt đầu phát triển OwnCloud vào tháng 1 năm 2010, với mục đích cung cấp một phần mềm miễn phí nhằm thay thế các nhà cung cấp dịch vụ lưu trữ đán mây độc quyền. OwnCloud là một ứng dụng mã nguồn mở miễn phí có giao diện web mạnh mẽ để xây dựng một hệ thống lưu trữ đám mây nhằm đồng bộ hóa dữ liệu, chia sẻ tập tin, và lưu trữ từ xa. OwnCloud được viết bằng ngôn ngữ PHP/javascript. Nó được thiết kế để làm việc với nhiều hệ quản lý cơ sở dữ liệu, bao gồm cả MySQL, MariaDB, SQLite, Oracle Database, và PostgreSQL. Hơn nữa OwnCloud có thể được triển khai trên tất cả các nền tảng như Linux, Macintosh, Windows và Android. Đây là một ứng dụng chạy trên hệ thống mạnh mẽ, nền tảng độc lập, linh hoạt về cấu hình và khả năng sử dụng, không giới hạn về không gian lưu trữ hay số lượng client kết nối.

Tính năng

  • Lưu trữ các file, thư mục, danh bạ, thư viện ảnh, lịch…
  • Có thể truy cập từ điện thoại, thiết bị di động, laptop, hoặc trình duyệt web.
  • Đồng bộ dữ liệu lưu trữ từ server về các thiết bị cá nhân và ngược lại.
  • Chia sẽ dữ liệu lưu trữ cá nhân với người khác thông qua URLs.
  • Lưu trữ file theo cấu trúc thư mục thông thường hoặc WebDAV.
  • Cho phép lấy lại dữ liệu đã xóa trong thùng rác. Mặc định hệ thống sẽ lưu trữ các file đã xóa trong 30 ngày.
  • Mã hóa file người dùng.
  • Kết nối với các dịch vụ lưu trữ bên ngoài như DropBox, GoogleDrive, Amazon S3…
  • Tích hợp tính năng xem file PDF và ODF (Open Document Format for Office Applications) trực tiếp.

Ưu điểm của OwnCloud

Hiện nay mô hình lưu trữ đám mây đã được sử dụng phổ biến, đối với cả cá nhân người dùng hay doanh nghiệp, tập đoàn lớn. Việc lựa chọn các giải pháp thương mại nổi tiếng như DropBox, OneDrive, Google Drive đều mang lại những lợi ích thiết thực. Tuy nhiên vấn đề liên quan bảo mật thông tin bí mật hay nhạy cảm đặt ra yêu cầu về xây dựng một tiện ích lưu trữ đám mây riêng, nằm trong hệ thống mạng nội bộ, được bảo vệ và tin tưởng. Cùng xem xét ví dụ sau để hiểu rõ hơn về vấn đề này.
----------------------------------

Bài viết này được sưu tầm từ nhiều nguồn và được tham khảo trợ giúp từ:
  • Thành viên chawy, cuibapvodanh (Hội torrent vOz - TOZ[TN]@vOz) - Cảm ơn 2 đồng chí.
  • https://www.tecmint.com/install-owncloud-in-debian/
  • https://www.right.com.cn/forum/thread-923092-26-1.html

Bước 1
Tải bản ROM của cuibapvodanh (lý do mình chọn bản rom này vì đã được bác ấy tối ưu về nhiệt độ và độ ổn định) tại địa chỉ:

Flash ROM sau đó truy cập SSH tại Port 22 với thông tin đăng nhập:

user: root | pass: omv

Tiến hành  Remove những thứ không cần thiết (bao gồm thông tin cá nhân còn sót lại, các file rác...)

Bước 2
Đổi port 80 của Ngix sang Port 8080 để tránh bị lỗi trùng Port khi cài OwnCloud bằng lệnh:

nano /etc/nginx/sites-enabled/80
Sửa thành như thế này:
server {
    listen 8080;
    listen [::]:8080;
    set $root_path "/var/www/default";
    root $root_path;
    index index.html index.php;
    set $socket "unix:/var/run/php/php7.0-fpm.sock";
    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass $socket;
    }
    access_log /var/log/nginx/8887dcfc-fc1f-40cf-b5fc-b7d2e2f1abe0-access.log;
    error_log  /var/log/nginx/8887dcfc-fc1f-40cf-b5fc-b7d2e2f1abe0-error.log;
    large_client_header_buffers 4 8k;
}
Sau khi sửa xong và lưu. Gõ lệnh:
systemctl reload nginx
Cài đặt các công cụ, thư viện liên quan

sudo apt install apache2 mariadb-server mariadb-client
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg  https://packages.sury.org/php/apt.gpg
sudo echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
sudo apt update
sudo apt install php7.2 libapache2-mod-php7.2 php7.2-{mysql,intl,curl,json,gd,xml,mb,zip}
systemctl status apache2
Cấu hình Database cho OwnCloud

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE owncloud;
MariaDB [(none)]> GRANT ALL ON owncloud.* TO 'baongan'@'localhost' IDENTIFIED BY '28022021';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Tiến hành add thêm nguồn để cài đặt OwnCloud

sudo curl https://download.owncloud.org/download/repositories/10.2.1/Debian_9.0/Release.key | apt-key add -
sudo echo 'deb http://download.owncloud.org/download/repositories/10.2.1/Debian_9.0/ /' > /etc/apt/sources.list.d/owncloud.list
sudo apt update
sudo apt-get install owncloud-files
Hoặc

sudo curl https://download.owncloud.org/download/repositories/10.6.0/Debian_9.0/Release.key | apt-key add -
sudo echo 'deb http://download.owncloud.org/download/repositories/10.6.0/Debian_9.0/ /' > /etc/apt/sources.list.d/owncloud.list
sudo apt update
sudo apt-get install owncloud-complete-files 
Tiếp tục gõ lệnh:

sudo nano /etc/apache2/sites-available/owncloud.conf
Sau đó thêm nội dung sau và lưu lại.

Alias / "/var/www/owncloud/"
  Options +FollowSymlinks
  AllowOverride All
   Dav off
  SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud

Tiếp lệnh 

sudo ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/
sudo a2enmod rewrite mime unique_id
sudo systemctl restart apache2
Phân quyền thư mục cài đặt OwnCloud và lưu trữ data khi OwnCloud upload lên. Nếu không phân quyền, trong quá trình dùng có thể dẫn tới lỗi không upload được data hoặc OwnCloud không update lên phiên bản mới được.

chown -R www-data:www-data /var/www/owncloud/
chown -R www-data:www-data /srv/dev-disk-by-label-DATA/Cloud/
Bước 4
Sau khi thực hiện tất cả các bước trên không lỗi, tiến hành truy cập vào 
http://server-ip-nas-L1
và nhập các thông tin được yêu cầu.


Bonus - Backup lại ROM để chia sẻ hoặc phục hồi lại:
Lưu ý là mỗi loại Box mà tên mmcblk0p1 có thể thay đổi khác nhau.

dd if=/dev/mmcblk0p1 of=/srv/dev-disk-by-label-DATA/Phim/ROM.ext bs=1M
e2fsck -fy /srv/dev-disk-by-label-DATA/Phim/ROM.ext
resize2fs -M /srv/dev-disk-by-label-DATA/Phim/ROM.ext
resize2fs /srv/dev-disk-by-label-DATA/Phim/ROM.ext 3500M
dd if=/dev/mmcblk0 of=/srv/dev-disk-by-label-DATA/Phim/p.img bs=1M count=16
dd if=/srv/dev-disk-by-label-DATA/Phim/ROM.ext of=/srv/dev-disk-by-label-DATA/Phim/ROM-OK.img bs=1M seek=16
tar zcvf /srv/dev-disk-by-label-DATA/Phim/ROM-OK.tar.gz /srv/dev-disk-by-label-DATA/Phim/ROM-OK.img
Muốn truy cập từ xa (ví dụ đi chợ mua rau thịt mà gặp em gái bán đẹp quá chụp 1 cái để nó tự đồng bộ về nhà thì hãy mở port 80 cho con L1 này ở trên Modem nhà mạng, sau đó tiến hành đăng ký một ddns như duckdns.org rồi làm theo hướng dẫn. Sau đó tải app android/ios trên điện thoại rồi nhập thông tin để kết nối.

Chúc vui.

Bài đăng nổi bật

Timer điện tử Kawsan KW-TS17C

 

Popular Posts