Cài đặt máy chủ FTP trên Raspberry Pi

Cài đặt máy chủ FTP trên Raspberry Pi

FTP (viết tắt của File Transfer Protocol dịch ra là “Giao thức truyền tập tin”) thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP (chẳng hạn như Internet – mạng ngoại bộ – hoặc Intranet – mạng nội bộ).

Mặc dù FTP (File Transfer Protocol) là một công nghệ cũ nhưng nó vẫn được sử dụng ở nhiều hệ thống và thiết bị phần cứng. Nhiều camera IP cho phép bạn lưu lại những bức ảnh lên máy chủ FTP và bạn cũng có thể tạo được nó lên Raspberry Pi.

SFTP sẽ là sự lựa chọn tốt hơn nhưng nếu thiết bị của bạn chỉ hỗ trợ FPT thì bài này sẽ hướng dẫn làm thế nào để xây dựng máy chủ FTP.

Chúng ta sẽ sử dụng vsftpd vì đây là một ứng dụng Linux phổ biến, an toàn, ổn định và cực kỳ nhanh chóng.

Bắt đầu cài đặt

Bạn cần các thiết bị sau:

Bắt đầu với một thẻ SD mới có chứa phiên bản Raspbian mới nhất. Nếu chưa biết cách, hãy xem qua bài viết Hướng dẫn lựa chọn và cài đặt hệ điều hành trên Raspberry Pi của chúng tôi.

Cài đặt Raspberry Pi và kết nối với mạng sử dụng dây cáp Ethernet hoặc Wifi.

Lấy địa chỉ IP bằng lệnh:

ifconfig

Thông thường, địa chỉ IP sẽ có dạng: 192.168.###.###.

Bước 1: Cài đặt vsftpd

Sử dụng lệnh sau để cập nhật lại repositories  và cài đặt phần mềm vsftpd:

sudo apt-get update
sudo apt-get install vsftpd

Bước 2: cập nhật tệp cấu hình:

Sau khi cài đặt hoàn tất, bạn có thể cấu hình lại trong tệp:

sudo nano /etc/vsftpd.conf

 

Trong tệp, bạn tìm đến các dòng ở dưới và bỏ đi dấu #:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES

 

Và thêm 2 dòng này vào cuối tệp:

user_sub_token=$USER
local_root=/home/$USER/ftp

Lưu lại và thoát ra bằng cách nhấn CTRL-X, Y và ENTER.

Bước 3 – Tạo bộ thư mục FTP cho người dùng Pi

Để cho phép bạn có thể kết nối vào máy chủ FPT bằng việc sử dụng tên mặc định của Raspberry Pi, chúng ta sẽ tạo một vài thư mục sau:

mkdir /home/pi/ftp 
mkdir /home/pi/ftp/files

 

Cấp phép truy cập cho thư mục:

chmod a-w /home/pi/ftp

Bước 4 – Tạo người dùng mới

Nếu bạn muốn login vào máy chủ bằng một tài khoản khác, chúng ta có thể tạo một tài khoản mới. Ví dụ trong trường hợp này ta sẽ tạo ra tài khoản gọi là “camera”

sudo adduser camera

Bạn sẽ được nhặc nhập mật khẩu, những phần khác có thể bỏ trống. Ta sẽ được như hình dưới:

 

Người dùng mới này cũng sẽ cần một bộ thư mục FTP:

mkdir /home/camera/ftp
mkdir /home/camera/ftp/files

 

Cấp phép thư mục:

chmod a-w /home/camera/ftp

 

Tiếp theo:

sudo adduser camera sudo

Bước 5 – Khởi động lại máy chủ FTP

Cuối cùng khởi động lại vsftpd:

sudo service vsftpd restart

Step 6 – Kiểm tra máy chủ FTP

Tất cả những gì còn lại là bạn kiểm tra kết nối với máy chủ FTP và truyền tệp.

Lấy địa chỉ IP của Raspberry PI

ifconfig

 

Chạy ứng dụng khách trên PC/laptop. Với hệ điều hành Windows, bạn có thể dụng WinSCP. Windows, Mac hoặc Linux có thể dùng FileZilla. Nếu bạn đang kết nối vở Raspberry Pi bằng SSH thì bạn cũng có thể làm như vậy thông qua FTP.

Để kết nối với FTP, client cần host (Địa chỉ IP) của RPI, tên người dùng (ví dụ pi hoặc camera) và mật khẩu. Đảm bảo nó được cài đặt để sử dụng giao thức FTP và cổng 21.

Dưới dây là cửa sổ làm việc của WinSCP:

Đây là ví dụ về cửa sổ làm việc của WinSCP khi đã kết nối với Pi với tên người dùng là “camera”

Xem lịch sử hoạt động của máy chủ FTP

Bạn có thể kiểm tra lịch sử kết nối của máy chủ FTP:

cat /var/log/vsftpd.log

 

Đọc thêm:

Nhiều cấu hình cho vsftpd
https://security.appspot.com/vsftpd/vsftpd_conf.html

Giao thức FTP:
https://en.wikipedia.org/wiki/File_Transfer_Protocol