Chủ Nhật, 13 tháng 6, 2021

Armbian_19.11.3_Chainedbox_buster_current_5.4.2

Bản Armbian_19.11.3_Chainedbox_buster_current_5.4.2 này không có OMV, chạy Debian 10.

---

CẤU HÌNH TỰ ĐỘNG MOUNT Ổ HDD MỖI LẦN KHỞI ĐỘNG.


sudo fdisk -l
ví dụ nó tìm thấy HDD ở dev/sda. Định dạng lại ổ HDD.

sudo mkfs.ext4 /dev/sda
Tạo một thư mục dùng cho việc mount.

sudo mkdir /mnt/dataHDD
Mount HDD vào thư mục dataHDD.

sudo mount /dev/sda /mnt/dataHDD
Kiểm tra lại xem việc mount đã OK hay không.

sudo blkid -o list
Lấy thông tin UUID dùng cho việc mount tự động sau mỗi lần khởi động máy.

sudo blkid

vd: #/dev/sda: UUID="7395ae8d-861d-4da5-b4e6-2a54d72aee86" TYPE="ext4"

Mở fstab để thêm lệnh tự động mount HDD.


sudo nano -Rw /etc/fstab
Thêm dòng lệnh này vào.

UUID=7395ae8d-861d-4da5-b4e6-2a54d72aee86 /mnt/1t5 ext4 defaults,nofail 0 2

Sau đó Save lại.

Những lần khởi động sau này, dữ liệu của HDD sẽ được nhìn thấy ở thư mục /mnt/dataHDD

=======================================================================================

Cài đặt chương trình NextCloud


sudo apt update && sudo apt-get upgrade -y
apt-get install apache2 mariadb-server apt-transport-https -y
systemctl start apache2
systemctl enable apache2
systemctl start mariadb
systemctl enable mariadb
Cài đặt các lib cần thiết

apt install php7.3 libapache2-mod-php7.3 php7.3-{mysql,intl,curl,json,gd,xml,mb,zip,bcmath,gmp} -y
apt install php-imagick

Mở sudo nano /etc/php/7.3/apache2/php.ini

Chỉnh lại các dòng sau cho đúng là lưu lại.


memory_limit = 512M
upload_max_filesize = 200M
max_execution_time = 360
post_max_size = 200M
date.timezone = Asia/Ho_Chi_Minh
Chạy lệnh để tạo cơ sở dữ liệu

mysql -u root -p
Nhập từng dòng và Enter

CREATE DATABASE nextcloud;
GRANT ALL ON nextcloud.* TO 'bngan'@'localhost' IDENTIFIED BY '28àasfsffzzzxzx1';
FLUSH PRIVILEGES;
EXIT;
Tạo thư mục chứa chương trình

mkdir /var/www/html/nextcloud
chown www-data:www-data /var/www/html/nextcloud
chmod 750 /var/www/html/nextcloud
Tạo thư mục chứa data được UPLOAD.. Ở đây chọn HDD như đã cấu hình ở trên.

mkdir -p /mnt/dataHDD/nextcloud/data
chown www-data:www-data /mnt/dataHDD/nextcloud/data
chmod 750 /mnt/dataHDD/nextcloud/data
Sau khi tạo xong các bước trên, mở

nano /etc/apache2/sites-available/nextcloud.conf
và thêm nội dung sau vào và lưu lại:

ServerAdmin bngan@l1pr0xff.duckdns.org
DocumentRoot "/var/www/html/nextcloud"
ServerName l1pr0xff.duckdns.org

Options MultiViews FollowSymlinks

AllowOverride All
Order allow,deny
Allow from all

TransferLog /var/log/apache2/nextcloud_access.log
ErrorLog /var/log/apache2/nextcloud_error.log

Thay thế l1pr0xff.duckdns.org bằng tên miền của riêng mình.....

Tải chương trình và giải nén:


cd /tmp
wget https://download.nextcloud.com/server/releases/nextcloud-21.0.2.zip
Tiếp

cd /var/www/html
sudo unzip /tmp/nextcloud-21.0.2.zip
sudo chown -R www-data:www-data nextcloud
sudo chmod -R 755 nextcloud
sudo rm -f /tmp/nextcloud-21.0.2.zip
Sau khi xong các bước trên thì gõ lần lượt các lệnh sau:

a2dissite 000-default
a2ensite nextcloud
systemctl restart apache2
Mở trình duyệt và nhập địa chỉ IP của L1Pro:

http://IP-L1Pro/
Hoặc
http://IP-L1Pro/nextcloud/

Và tiến hành cài đặt theo những thông số đã tạo ở CHẠY LỆNH ĐỂ TẠO CƠ SỞ DỮ LIỆU:

Chờ cho xong và sau đó vào Dashboard và thiết lập thông tin cá nhân cho NextCloud. ....

Cấu hình xong.. vào lại SSH và mở sửa và Save lại sau khi xong:


nano /var/www/html/nextcloud/config/config.php
Sau đó sửa chỗ mục này:

        ...
  array (
    0 => '192.168.1.10',
    1 => 'l1pr0xff.duckdns.org',
        2 => 'trangweb...',
  ),
        ...
Thêm vào 1, 2 và cả chỗ này...
        .....
  'dbtype' => 'mysql',
  'version' => '21.0.2.1',
  'overwrite.cli.url' => 'http://l1pr0xff.duckdns.org',
  'htaccess.RewriteBase' => '/',
  'dbname' => 'nextcloud',
        .......

Mục đích là để khi truy cập vào địa chỉ http://l1pr0xff.duckdns.org nó sẽ rút gọn link cho dễ nhìn,,, chứ k phải là .../index.php/login/abc..xyz

Sau đó gõ các lệnh phía dưới để có hiệu lực


sudo -u www-data php /var/www/html/nextcloud/occ maintenance:update:htaccess
sudo a2enmod rewrite
systemctl restart apache2

Cập nhật file không phải được upload bằng NextCloud
Ví dụ: Ta copy file bằng SSH vào thư mục data người dùng (/nextcloud/nguoidung/files/Video/) thì mặc định Nextcloud nó sẽ không nhận diện được file copy "không chính thống" này. Lúc này chỉ cần gõ thêm lệnh:

sudo chown -R www-data:www-data /mnt/DataHDD/nextcloud/data
sudo -u www-data php /var/www/html/nextcloud/occ files:scan --all


Cách cài đặt Portainer.
Tạo Docker Volume để lưu trữ thông tin:

docker volume create portainer_data
Tạo Docker Container từ image Portainer.

docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
Truy cập trang Prontainer bằng trình duyệt với đường dẫn (URL) là: http://[địa chỉ IP host]:Port

Nâng cấp phiên bản Portainer. (không mất dữ liệu)
Gõ lệnh dưới để Stop lại portainer:

docker stop portainer
Gõ lệnh dưới để xoá bỏ portainer, nhưng data vẫn còn nguyên:

docker rm portainer
Gõ lệnh dưới để cài mới lại portainer, phiên bản mới nhất:

docker run -d -p 9000:9000 --name=portainer --restart=always --pull=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

Cài pyload lên L1 pro qua docker:

docker run -d \
  --name=pyload \
  -e PUID=0 \
  -e PGID=0 \
  -e TZ=Asia/Ho_Chi_Minh \
  -e UMASK_SET=022 \
  -p 8000:8000 \
  -p 7227:7227 \
  -v /mnt/1t5/cauhinh:/config \
  -v /mnt/1t5/Phim:/downloads \
  --restart unless-stopped \
  ghcr.io/linuxserver/pyload
Mật khẩu đăng nhập mặc định lần đầu tiên là: admin|password

Cài qBittorrent lên L1 pro qua docker:

docker run -d \
   --name=qBit \
   -e PUID=0 \
   -e PGID=0 \
   -e TZ=Asia/Ho_Chi_Minh \
   -e UMASK_SET=022 \
   -e WEBUI_PORT=8080 \
   -p 7749:7749 \
   -p 7749:7749/udp \
   -p 8080:8080 \
   -v /mnt/1t5/cauhinh:/config \
   -v /mnt/1t5/Phim:/downloads \
   --restart unless-stopped \
   ghcr.io/linuxserver/qbittorrent
Mật khẩu đăng nhập mặc định lần đầu tiên là: admin|adminadmin

Đổi Port SSH. Sử dụng lệnh:


nano /etc/ssh/sshd_config
Sau đó tìm dòng #Port 22 xoá # đi và đổi 22 thành con số tuỳ ý.. Mình đổi thành 222 Save lại. Sau đó gõ tiếp lệnh dươi để reset lại dịch vụ ssh.:

service ssh restart

Thêm thủ công ID USB để ngăn disk-Off
Phương pháp này dùng cho mục đích ngăn chặn việc các ổ HDD cắm rời vào chế độ ngủ đông.
Đầu tiên truy cập vào SSH và gõ lệnh:

lsusb
Sau đó nó sẽ liệt kê các USB. ví dụ:

Bus 005 Device 004: ID 2851:0460 Seagate RSS LLC FreeAgent GoFlex Upgrade Cable STAE104
Bus 005 Device 003: ID 05e3:0612 Genesys Logic, Inc. Hub
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Mình chỉ quan tâm tới

Bus 005 Device 004: ID 2851:0460 Seagate RSS LLC FreeAgent GoFlex Upgrade Cable STAE104
vì đây là cái USB HDD mình cắm vào. 2851:0460idVendor:idProduct. Mở

nano /boot/armbianEnv.txt
Sau đó thêm 0xidVendor:0xidProduct:u vào dòng usbstoragequirks ví dụ như

verbosity=7
overlay_prefix=rockchip
rootdev=UUID=af28ddcd-74b1-4462-8f21-b04f58ffa523
rootfstype=ext4
fdtfile=rockchip/rk3328-chainedbox.dtb
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u,0x0bc2:0x5030:u,0x2851:0x0460:u

Fix lỗi DiskOff theo phương pháp ngắn mạch.
Đầu tiên xác định con chip điều khiển đóng mở áp cho cổng SATA.


Sơ đồ điện áp tại chân SATA


 Cách làm


Con chip này là dual Mosfet kênh P (4953A), được sử dụng để kiểm soát việc cấp nguồn 5V và 12V cho cổng SATA, tức là HDD.
(Suy đoán) Mặc định chân G (2,4) của Mosfet được điều khiển mức logic khi hệ thống xảy ra quá trình đọc/ghi dữ liệu (liên tục). Vì một lý do nào đó, có thể là thiết kế phần cứng sai hoặc là driver con chip chưa đúng làm cho khi đọc/ghi dữ liệu với lượng lớn, hệ thống nhận diện lầm vào chế độ "ngủ đông" và tự kích hoạt mức logic cao vào 2 chân G của Mosfet dẫn tới tắt nguồn cấp điện cho cổng SATA làm cho HDD trở về tình trạng DiskOFF.

Hiện tại thì cách khắc phục "cưỡng ép" là nối tắt chân 1,7,8 (12VDC) lại với nhau và chân 3,5,6 (5VCD) lại với nhau. Lúc này thì áp 12VDC và 5VDC thông thẳng vào cổng SATA mà không còn phụ thuộc vào hệ thống điều khiển nữa. Có nghĩa là HDD luôn luôn ON 24/24 (Sẽ không vào được chế độ ngủ đúng cách). Cái này gọi là cưỡng ép.



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

Cấu hình tốt nhất cho VideoSubFinder

 

Popular Posts