Thực hành cài đặt phần mềm mạng (2) – FTP

    2

    Giới thiệu hệ thống phần mềm truyền file FTP

    FTP (File Transfer Protocol) là tên một loại hệ thống phần mềm mạng, đồng thời cũng là tên giao thức được sử dụng trong phần mềm này. Hệ thống phần mềm FTP cho phép người dùng truy cập và làm việc với hệ thống file trên một máy tính khác, tương tự như cách người dùng làm việc với hệ thống file trên máy tính cục bộ.

    FTP được sử dụng rất phổ biến bởi lập trình viên cũng như quản trị viên hệ thống. FTP giúp lập trình viên nhanh chóng truy xuất file của phần mềm trên server từ máy dev. Nó cũng giúp quản trị viên lưu dự phòng dữ liệu khối lượng lớn.

    Trước hết để minh họa cho hoạt động của hệ thống FTP, chúng ta sẽ sử dụng một FTP client và server chuẩn.

    Hiện nay có khá nhiều phần mềm FTP client FileZilla, FireFTP (Firefox add-on), WinSCP, Cyberduck, CoffeeCup free FTP. Tương tự cũng có rất nhiều phần mềm FTP server như FileZilla, Microsoft IIS, Cerberus,
    pyftpdlib (library), CrushFTP

    Trong bài học này chúng ta sẽ sử dụng bộ client và server của Filezilla.

    Cài đặt FileZilla client

    FileZilla client là phần mềm miễn phí được cung cấp tại địa chỉ

    https://filezilla-project.org/download.php

    Tải phần mềm này về máy và cài đặt tương tự như các ứng dụng windows khác.

    Chạy ứng dụng FileZilla client sẽ có giao diện như sau:

    Sau đây bạn sẽ cần cài đặt FileZilla server.

    Cài đặt FileZilla server

    FileZilla server cũng được cung cấp miễn phí. Bạn có thể download nó từ đường link

    https://filezilla-project.org/download.php?type=server

    Tuy nhiên, trong bài học trước bạn đã cài đặt bộ phần mềm server XAMPP. Trong bộ XAMPP đã cài đặt sẵn FileZilla server. Vì vậy bạn có thể sử dụng luôn mà không cần cài đặt server riêng.

    Từ giao diện XAMPP Control Panel bạn có thể bật FileZilla server:

    Cấu hình FileZilla server

    Để client có thể kết nối và làm việc với server, chúng ta cần tạo người dùng, phân quyền và cung cấp thư mục làm việc cho người dùng đó. Quy trình làm như sau:

    (1) Từ giao diện XAMPP Control Panel, click nut Admin tương ứng với FileZilla. Bạn sẽ thấy giao diện như sau:

    Đây là giao diện ứng dụng quản trị của FileZilla server.

    (2) Từ giao diện này chọn menu Edit -> Users.

    (3) Ấn nút “Add” trong group Users bên tay phải để thêm người dùng mới.

    (4) Sau khi đóng cửa sổ Add user account, ấn tiếp nút Add trong nhóm Shared folders để thêm thư mục làm việc cho user mới. Hãy chọn một thư mục bất kỳ trên ổ đĩa và ấn OK.

    Khi quay trở lại cửa sổ Users, hãy click chọn các quyền đối với Files và Directories. Sau bước này, người dùng mới đã có toàn quyền truy cập thư mục làm việc đã chọn.

    (5) Vẫn ở cửa sổ Users, click chọn lại node General trong nhóm Page để thiết lập mật khẩu truy cập cho user mới.

    Đến đây chúng ta đã hoàn thành tạo tài khoản mới cho FileZilla server.

    Sử dụng FileZilla client với server

    Đến đây bạn có thể kết nối client với server. Mở ứng dụng FileZilla client và điền các thông tin kết nối như sau:

    Trong đó: Username và Password là tài khoản bạn vừa lập ở bước trên; Port 21 là cổng kênh điều khiển mặc định; Host là localhost do server đang chạy trên máy cục bộ cùng với client. Ấn Quickconnect để kết nối đến server.

    Khi kết nối thành công, cửa sổ bên phải sẽ hiển thị cấu trúc thư mục làm việc mà máy chủ cung cấp cho tài khoản, còn cửa sổ bên trái là hệ thống file cục bộ.

    Từ đây bạn có thể làm việc với file và thư mục trên máy chủ giống hệt như đang làm việc với các file và thư mục trên máy cục bộ. Bạn có thể duyệt thư mục trên máy chủ, tạo thư mục mới, xóa thư mục đang có, upload file lên server, download file từ server về, di chuyển file giữa các thư mục, v.v..

    Cấu trúc hệ thống phần mềm FTP

    Như ở trên chúng ta đã thầy, hệ thống phần mềm FTP bao gồm hai phần mềm độc lập, FTP client và FTP server. Hai phần mềm này tương tác với nhau sử dụng giao thức FTP.

    Cấu trúc chung của hệ thống phần mềm này được trình bày ở hình dưới đây.

    Phần mềm server bao gồm 2 thành phần: Server Protocol Interpreter (viết tắt la Server PI) và Server Data Transfer Process (viết tắt là Server DTP). Ngoài ra, server phải làm việc được với hệ thống file trên máy chủ.

    Phần mềm client bao gồm 3 thành phần: User Protocol Interpreter (User PI), User Data Transfer Process (User DTP), User Interface. Client cũng phải làm việc được với hệ thống file trên máy cục bộ.

    Server PI chịu trách nhiệm duy trì một liên kết TCP với User PI. Liên kết TCP này được thiết lập sau khi client xác thực hành công, được duy trì đến khi client đăng xuất, hoặc bị server hủy bỏ (khi client không tương tác quá lâu). Liên kết TCP này được gọi là liên kết điều khiển hoặc kênh điều khiển.

    Server DTP chịu trách nhiệm thiết lập liên kết TCP thứ hai với User DTP khi client có yêu cầu truyền tải dữ liệu (tải file về, tải file lên, lấy danh sách file và thư mục). Liên kết này chỉ được thiết lập tạm thời phục vụ truyền dữ liệu. Sau khi hoàn thành truyền dữ liệu, liên kết này sẽ bị hủy bỏ. Liên kết TCP thứ hai này được gọi là liên kết dữ liệu hoặc kênh dữ liệu.

    Client có thêm thành phần User Interface. Đây là thành phần giúp người dùng cuối sử dụng phần mềm client. Server không có thành phần tương ứng. User Interface chuyển đổi lệnh của người dùng thành lệnh / nhóm lệnh FTP tương ứng để đưa lên kênh điều khiển. Khi nhận được phản hồi, User Interface chuyển đổi thành dạng người dùng có thể sử dụng. Lệnh của UI và lệnh của FTP là khác nhau.

    Theo dõi
    Thông báo của
    guest

    2 Thảo luận
    Cũ nhất
    Mới nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận
    hungqb.com

    không hiểu gì về giao thức này :D, cảm ơn adm đã chia sẽ, mình sẽ tìm hiểu và cách tích hợp vào app mình viết để lấy thông tin ng` dùng

    megumin

    xong