Đối với người dùng Linux, ISPConfig 3 là giải pháp hàng đầu trong lĩnh vực quản lý hosting trên nền mã nguồn mở. Nó cho phép quản lý nhiều server thông qua 1 hệ thống control cpanel. Nếu bạn đang sử dụng máy chủ VPS với OpenVZ, thật không may là bạn không thể chạy Pureftpd được đi kèm mặc định với ISPConfig. Bài viết sau sẽ hướng dẫn các bạn sử dụng ProFTPd để thay thế Pureftpd một cách dễ dàng.
ProFTPd là một FTP server khá mạnh và đơn giản trong cài đặt cũng như cấu hình, được rất nhiều máy chủ dùng. Tuy nhiên, hướng dẫn này không bao gồm quota bởi nó không được hỗ trợ trong VPS (nếu không muốn chỉnh sửa ftp_user_edit.php trong ISPConfig 3).
Ở minh họa này chúng tôi sử dụng Debian 5.0 Lenny nhưng cũng có thể áp dụng cho bản 6.0. Một số Distribution khác có thể cần sửa đổi một chút.
Lưu ý: quá trình này làm việc tốt trên máy chủ sạch và cài đặt ISPConfig 3. Nếu sử dụng máy chủ hiện hành sẽ cần vào và editting/saving mọi user được tạo ra, do đó có thể gây một số sự cố.
Đầu tiên bạn chạy độc lập lệnh sau:
Tạo Group & User
Chạy lệnh sau:
Sau đó chạy các truy vấn dưới đây:
Trước tiên chúng ta sẽ chỉnh sửa lại tập tin /usr/local/ispconfig/interface/lib/config.inc.php:
Tìm đến biến db_password và lưu ý mật khẩu cho sau này.
Chỉnh sửa tập tin /etc/proftpd/proftpd.conf:
Tìm đến dòng:
Bỏ chú thích cho nó để trở thành:
Chỉnh sửa file /etc/proftpd/sql.conf:
Xóa bỏ toàn bộ nội dung trong đó và thay thế bằng:
# # Proftpd sample configuration for SQL-based authentication. # # (This is not to be used if you prefer a PAM-based SQL authentication) # <IfModule mod_sql.c> DefaultRoot ~ SQLBackend mysql # The passwords in MySQL are encrypted using CRYPT SQLAuthTypes Plaintext Crypt SQLAuthenticate users groups # used to connect to the database # databasename@host database_user user_password SQLConnectInfo dbispconfig@localhost ispconfig _insertpasswordhere_ # Here we tell ProFTPd the names of the database columns in the "usertable" # we want it to interact with. Match the names with those in the db SQLUserInfo ftp_user username password uid gid dir shell # Here we tell ProFTPd the names of the database columns in the "grouptable" # we want it to interact with. Again the names match with those in the db SQLGroupInfo ftp_group groupname gid members # set min UID and GID - otherwise these are 999 each SQLMinID 500 # create a user's home directory on demand if it doesn't exist CreateHome off # Update count every time user logs in SQLLog PASS updatecount SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser # Update modified everytime user uploads or deletes a file SQLLog STOR,DELE modified SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser RootLogin off RequireValidShell off </IfModule>
Hãy chắc chắn rằng bạn đã thay đổi _insertpasswordhere_ bằng mật khẩu lấy từ ISPConfig.
Nếu cơ sở dữ liệu MySQL trên một máy chủ khác, thay đổi localhost để đại diện cho máy chủ MySQL của bạn.
Chỉnh sửa file /etc/proftpd/modules.conf:
Tìm đến dòng:
và bỏ chú thích cho nó thành:
Đổi dòng:
Thành:
Cuối cùng chạy:
Bây giờ chúng ta cần thay đổi một số tập tin trong ispconfig. Mặc dù đây không phải ý kiến tốt nhất bởi khi nâng cấp lên phiên bản mới thì các thay đổi này sẽ biến mất. Tuy nhiên trong trường hợp này sẽ giúp ProFTPD hoạt động tốt hơn.
Chỉnh sửa file /usr/local/ispconfig/interface/web/sites/ftp_user_edit.php:
Tìm dòng:
và thay thế bằng:
Vậy là xong! Lưu ý rằng nếu bạn đang đăng nhập vào giao diện điều khiển web của ISPConfig thì phải đăng xuất trước khi thay đổi các đăng ký trên máy tính của mình.