ads

Hiển thị các bài đăng có nhãn Openwrt. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Openwrt. Hiển thị tất cả bài đăng

Chủ Nhật, 29 tháng 11, 2015

Cài đặt MySQL trên RPI chạy OSMC, Openwrt hoặc NasBuffalo



Giới thiệu:
Ở bài viết Sử dụng MySQL để đồng bộ Library Phim và Nhạc của KODI, mình đã hướng dẫn các bạn dùng MYSQL để đồng bộ KODI database, bài viết này hướng dẫn chi tiết cách cài đặt Mysql trên các nền OS thường dùng tại mạng gia đình.
Nếu Router của bạn cài OpenWrt, và có cổng USB thì tốt nhất nên cài Mysql lên Router để share database, nên mỗi khi bạn bật KODI lên, kết nối vào mạng là database sẽ đồng bộ lên luôn, cả userdata cũng vậy.
Nếu Router không đáp ứng được thì chúng ta chuyển sang phương án tiếp theo là cài trên RPI hoặc Nas (nếu có).

Cài MySql Server cho Raspberry Pi chạy OSMC:
    
Trên OS Openelec là OS build sẵn nên không cài được Mysql Server, Các bác có thể cài OSMC tương tự Openelec nhưng tùy biến cao hơn. Nếu NAS chạy Debian cũng sử dụng cách này (NasBufflo của mình đang dùng cái này, nhẹ mà nhanh hơn cái Firmware của hãng).
1. Dùng Pytty Login vào thiết bị:
apt-get update
apt-get install mysql-server
# khai báo pass khi có thông báo hỏi
2. Config Mysql
Sau khi cài xong, dùng WinSCP login vào thiết bị, edit file /etc/mysql/my.cnf
Thay đổi dòng
Từ: bind-address = 127.0.0.1
thành: bind-address = 0.0.0.0
Sau đó khởi động lại MySQL server và tiến hành config mysql server, trên pytty gõ lệnh:
Code:



/etc/init.d/mysql restart  


#hoặc 


/etc/init.d/mysqld restart


mysql -u root -p


# các lệnh sau của mysql, chỉ copy phần sau của "mysql>" nhé



mysql> CREATE USER 'kodi' IDENTIFIED BY 'kodi';


mysql> GRANT ALL ON *.* TO 'kodi';


mysql> GRANT ALL PRIVILEGES ON *.* TO 'kodi' IDENTIFIED BY 'kodi';


mysql> flush privileges;


mysql> exit

#exit ra ngoài






Xong, các bạn config tiếp advancedsettings.xml trên KODI, phần IP là IP của thiết bị chạy MYSQL Server là xong thôi.

Cài đặt MYSQL trên NAS:
Mình hướng dẫn cho Nas Bufflo, các loại khác cũng tương tự thôi. Trước hết các bác cần mở Telnet/SSH các dòng NAS chạy firmware Linux Buffalo.
Firmware mặc định của NAS đã cài sẵn MYSQL rồi, các bạn chỉ việc bật nó lên thôi.
1. Enable MySQL:
Truy cập NAS qua WEB: Vào phần [Network] - [MySQL server].
- Click [Modify Settings].
- Enable MySQL server.
- Chọn folder cho MySQL database và configuration.
- Click [Save].
2. Config MYSQL Server cho KODI
Sau khi khởi động lại NAS, dùng Pytty Login vào NAS: Chạy lệnh
Code:


mysql -u admin -p


#để login vào mysql



# các lệnh sau của mysql, chỉ copy phần sau của "mysql>" nhé


mysql> CREATE USER 'kodi' IDENTIFIED BY 'kodi';


mysql> GRANT ALL ON *.* TO 'kodi';


mysql> GRANT ALL PRIVILEGES ON *.* TO 'kodi' IDENTIFIED BY 'kodi';


mysql> flush privileges;


mysql> exit

#exit ra ngoài





Xong, các bạn config tiếp advancedsettings.xml trên KODI, phần IP là IP của NAS là xong thôi.
Cài đặt MYSQL trên OpenWRT:
1. Cài đặt Openwrt nhận và mở rộng bộ nhớ lên USB (cần usb 2gb trở lên là ok)
- Các bạn sử dụng MiniTool Partition Wizard trên Win, format usb thành 2 partition theo thứ tự: 1 Linux Ext4 và 1 Linux Swap (khoảng 500Mb còn lại) và xong cắm usb vào Router.

Dùng Pytty kết nối SSH vào Router, gõ lệnh
Code:



opkg update


mkdir -p /mnt


chmod -R 777 /mnt/



opkg install kmod-usb-storage block-mount kmod-fs-ext4



reboot



#đợi khởi động lại xong, chạy tiếp lệnh







/etc/init.d/fstab enable



mkdir -p /mnt/sda1

mount /dev/sda1 /mnt/sda1

mkdir -p /tmp/cproot

mount --bind / /tmp/cproot

tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda1 -xf -

# copy rootfs to USB

umount /tmp/cproot

umount /mnt/sda1




Dùng WinSCP login vào Router, tìm đến file /etc/config/fstab
Xóa hết và paste nội dung sau
Code:


config 'global'

        option  anon_swap       '1'

        option  anon_mount      '1'

        option  auto_swap       '1'

        option  auto_mount      '1'

        option  delay_root      '5'

        option  check_fs        '0'



config 'mount'

        option target '/overlay'

        option device '/dev/sda1'

        option  fstype  'ext4'

        option  options  'rw,sync'

        option  enabled  '1'

        option  is_rootfs  '1'

        option  enabled_fsck  '1'



config 'swap'

        option device '/dev/sda2'

        option enabled '1'





Save lại, khởi động lại router, đăng nhập router vào MountPoint, sẽ thấy thay đổi về dung lượng giống thế này chúng ta đã chuyển hết file hệ thống của Openwrt lên USB, sẽ thoải mái về dung lượng cho các bác cài đặt phần mềm:

Dùng WinSCP login vào Router, tìm đến file /etc/config/fstab
(file fstab này là trên USB khác với file fstab vừa edit vừa rồi, chúng ta edit để bật Swap)
Xóa hết và paste nội dung sau rồi save lại:
Code:


config swap

option enabled '1'

option device '/dev/sda2'


Dùng Pytty kết nối SSH vào Router, gõ lệnh
Code:



mkswap /dev/sda2

swapon /dev/sda2

reboot



Khởi động lại router là xong phần cài đặt Openwrt mở rộng bộ nhớ qua USB
2. Cài đặt Mysql và Samba server.
Dùng Pytty kết nối SSH vào Router, gõ lệnh
Code:


opkg update

#cập nhật các gói ứng dụng

opkg install mysql-server samba36-server luci-app-samba


#đợi cho cài xong


/etc/init.d/mysqld stop


killall mysqld






Dùng WinSCP login vào Router, tìm đến file /etc/my.cnf
mở file lên tìn đến dòng
Code:


bind-address        = 127.0.0.1

sửa lại thành

bind-address        = 0.0.0.0


Xong Save lại, chuyển sang Pytty, gõ lệnh:
Code:


mysql_install_db --force


# để config lần đầu chạy mysql

killall mysqld


/etc/init.d/mysqld restart


mysql -u root -p


#xong nhấn 2 lần enter, bỏ qua ko điền pass, sẽ vào mysql dạng:



# các lệnh sau của mysql, chỉ copy phần sau của "mysql>" nhé


mysql> CREATE USER 'kodi' IDENTIFIED BY 'kodi';


mysql> GRANT ALL ON *.* TO 'kodi';


mysql> GRANT ALL PRIVILEGES ON *.* TO 'kodi' IDENTIFIED BY 'kodi';


mysql> flush privileges;


mysql> exit

#exit ra ngoài


/etc/init.d/mysqld enable



/etc/init.d/mysqld restart





Config Samba: Chúng ta sẽ share Folder /mnt (folder mount USB), thành tên USB, sau khi share xong, từ Win các bạn có thể truy cập như ổ đĩa share bình thường.
Ở Pytty, gõ lệnh
Code:


smbpasswd -a root

#để đặt pass share samba


/etc/init.d/samba enable


/etc/init.d/fstab enable




Truy cập Router qua WEB, vào phần Services/Network Shares

Nhấn Add , điền thông tin share như hình, xong save lại, chuyển sang tab Edit Tamplate
Tại đây sửa cho mình thế này: sửa dòng invalid users = root thành valid users = root, xong save lại, và khởi động lại router.
Sau khi khởi động lại, từ Windows explorer của Win, thử gõ địa chỉ
\\192.168.1.1\USB\
điền user root và pass root bạn đặt lúc trước, nếu vào được là ok, tạo luôn folder userdata để làm tiếp theo hướng dẫn Sử dụng MySQL để đồng bộ Library Phim và Nhạc của KODI (XBMC) 














Chủ Nhật, 30 tháng 11, 2014

Cài đặt Firmware Openwrt Thay thế firmware gốc router wifi

OpenWrt là 1 firmware thay thế cho firmware (FW) gốc của router wifi. Được phát triển từ Linux, có thể chỉnh sửa một file cấu hình trên đó, hay cài thêm tiện ích samba và truy cập vô thư mục chia sẻ của một máy Windows khác trong mạng.
Các tính năng:
- Nhanh, nhẹ, nhiều tùy chọn
- Phát sóng mạnh hơn firmware gốc
- Hỗ trợ nhiều tính năng hơn firmware gốc
- Nhiều tùy biến

Các bước cài đặt:

1. Tìm firmware Openwrt phù hợp với router của bạn:
Do router wifi có nhiều chủng loại khác nhau, mỗi loại có chủng loại phần cứng, cách sắp đặt, phối hợp khác nhau nên bản OpenWrt cũng phải thay đổi tùy theo nó sẽ được cài lên router nào. Trước khi quyết định cài OpenWrt cho router của mình, bạn cần đọc trong danh sách chủng loại router được hỗ trợ tại đây: Table of Hardware. Các bạn xem ở phía sau thiết bị của bạn có cái tem, các bạn cần xác định 2 thứ: "Model No" và "Ver". Tìm đúng thiết bị của mình theo 2 thông số trên. Nếu router của bạn không có trong danh sách, lý do có thể là nhóm phát triển router chưa nghiên cứu, vọc tới loại router đó, hay họ chưa có trong tay driver của chip cấu tạo nên router, hay do router đó có bộ nhớ flash quá ít không đủ để chứa OpenWrt.
Khi tìm được bạn sẽ thấy thông tin đầy đủ của Router của mình, TP-WR842ND Version 1, Target: ar71xx Platform: AR7241, Flash 8Mb. 
Chẳng hạn tôi muốn cài cho TP-Link WR740N thì tôi lấy link download ở đây: https://wiki.openwrt.org/toh/tp-link/tl-wr740n, xem thông tin về Openwrt hỗ trợ Model của bạn, sau đó các bạn có thể vào trang downloads.openwrt.org tìm đúng tên modelversion rồi down về , tìm file có đuôi "squashfs-factory.bin" dành để update từ firmware gốc lên; file có đuôi "squashfs-sysupgrade.bin" để cài lại khi đang ở Openwrt.
Do router mỗi loại mỗi khác nên cách cài OpenWrt cũng thay đổi tùy theo. Đa số dòng router của TP-Link ta có thể cài OpenWrt trực tiếp qua giao diện web của router, tại mục Firmware Upgrade(vốn dùng để cập nhật firmware "chính hãng"). Trước khi update nên reset về Factory Defaults rồi tiến hành cập nhật từ file vừa tải về. Đợi router khởi động lại là xong
Lưu ý: Nên sử dụng Lan cable để cập nhật FW cho ổn định, hơn nữa mặc định Openwrt tắt Wifi nên phải dùng Lan cable để config sau khi cập nhật Openwrt FW
2. Các tùy chỉnh
Sau khi cài đặt, router khởi động lại, các bạn truy cập vào Router theo IP mặc định của Openwrt : 192.168.1.1 Việc đầu tiên bạn cần làm là set password cho router. Cứ đặt như mình user: root, password : root cho dễ nhớ sau này, đây cũng là user/pass sử dụng cho Putty và WinSCP truy cập Router thông qua SSH
Sau khi đặt xong kích Save & Apply để lưu thay đổi.
Các bạn tiếp tục config các IP, DHCP, Wifi trong các tab cho các sử dụng thông thường
Lưu ý: Firmware Openwrt sử dụng phần mềm tên LUCI để giao tiếp với người dùng qua Web Interface. Tuy nhiên một số bản Openwrt không cài sẵn LUCI (các bản beta TRUNK) (các bạn truy cập vào Router trên Web không được), nên bạn phải tự cài Luci riêng thông qua SSH.
Để cài LUCI yêu cầu Router đã có kết nối internet từ modem, IP của router mặc định là 192.168.1.1, nên IP mặc định của modem phải khác (vd 192.168.0.1). Trên Window, dùng Putty để kết nối telnet với router, với user root, và không có password
Gõ lệnh:
passwd
#để thiết lập pass cho router
opkg update
opkg install luci
/etc/init.d/uhttpd enable
#xong khởi động lại router, các bạn có thể truy cập vào Router qua Web 192.168.1.1.
reboot
Tham khảo thêm video cài LUCI cho Openwrt:
 
3. Quay về Firmware gốc.
- Không sử dụng file Firmware tải tại trang chủ. Sử dụng File firmware đã chỉnh sửa để flash:
 
- Tải Fimware đã được chỉnh sửa cho Router của bạn về và giải nén: 
    Tplink-forum  hoặc dd-wrt.com (đăng ký user rồi login mới cho tải)
- Rút hết các kết nối, chỉ để lại 1 cáp nối với Laptop để Flash qua Web
- Truy cập Web Interface, tiến hành Reset to Default để đưa về cài đặt ban đầu của Openwrt. 
- Tại giao diện WEB của Router, vào System —> Flash firmware: chọn file FW gốc đã tải về
- Bỏ tich ô 
- Nhấn Flash Image và xác nhận, đợi Router khởi động lại là xong.

4. Mở rộng bộ nhớ lữu trữ qua USB (chỉ dành cho Router hỗ trợ cổng USB)

(áp dụng cho bản Openwrt 14.07 trở đi)
- Dùng mini partition , format USB chia làm 2 partition (Linux SwapExt4 như hình)
(hình là etx3 minh họa thôi, nhưng các bạn chọn ext4 nhé)
- Dùng Pytty kết nối SSH đến router cài:
opkg update
opkg install kmod-usb-storage kmod-scsi-core block-mount
opkg install kmod-fs-ext4
mkdir /mnt
chmod -R 777 /mnt
/etc/init.d/fstab enable
- Khởi động lại router, cắm usb vào
- Trên LUCI của Router, qua phần MountPoint, chỉnh sửa Device "/dev/sda2” (EXT4 Partition) vào Mount point "/mnt" , xong Enable rồi Save&Appy lại.
(minh họa)
- Khởi động lại Router, qua phần MountPoint xem có mục mount /mnt chưa, qua Putty, kết nối SSH vào router gõ tiếp lệnh để copy data vào USB:
tar -C /overlay/ -c . -f - | tar -C /mnt/ -xf -
- Lại qua phần MountPoint, chỉnh sửa mount  "/dev/sda2"  thành "/overlay" , Save&Appy lại
Khởi động lại là xong, qua phần MountPoint kiểm tra thấy dung lượng "/overlay" xem tăng lên bằng dung lượng USB là OK, bật thêm cái Mount Swap cho "/dev/sda1” (Linux Swap Partition) là xong.
Từ giờ các config của router sẽ được lưu trên USB và thoải mái cài ứng dụng.