Tổng Quan Kiến Trúc
Thiết Kế Đối Tượng “Is-A”
DirectAdmin sử dụng mô hình thiết kế hướng đối tượng “is-a” cho tất cả các loại tài khoản người dùng. Loại người dùng cơ sở là “User”. Người dùng kiểm soát việc thiết lập tài khoản và cung cấp nền tảng cho tất cả các tệp cấu hình cần thiết để quản lý tài khoản. Lớp User thực hiện mọi việc cần thiết cho người dùng: tạo tài khoản UNIX từ lớp này, cấu hình truy cập SSH, thiết lập hạn mức hệ thống và mật khẩu hệ thống.
Một Reseller là một “User”, có nghĩa là Reseller kế thừa tất cả các thuộc tính của User, nhưng mở rộng lớp User bằng cách bổ sung thêm nhiều tính năng và công cụ để thực hiện các chức năng khác. Định nghĩa chung của một Reseller là “người tạo ra các User”. Một Reseller có thể quản lý nhiều User, đồng thời chính họ cũng là một User. Điều này có nghĩa rằng mặc dù các tính năng mở rộng của Reseller (mở rộng từ lớp User) điều khiển việc tạo và xoá User mới, Reseller vẫn giữ những tính năng của một User thông thường, cho phép họ tạo domain và thực hiện các thao tác mà User thông thường làm, tất cả đều từ cùng một tài khoản.
Một Admin là một Reseller, nghĩa là Admin có thể làm được mọi việc của một Reseller, nhưng đồng thời sở hữu thêm các quyền hạn bổ sung để thực hiện những nhiệm vụ như: tạo và xoá Admin, Reseller, quản lý dịch vụ hệ thống, giám sát mức độ sử dụng hệ thống, cũng như xem và điều khiển phiên bản hiện tại của DirectAdmin. Mặc dù các Reseller sử dụng cơ sở dữ liệu User để lưu trữ các tệp cấu hình của Reseller, tất cả các Admin cùng chia sẻ một bộ các tệp cấu hình (thường nằm ở /usr/local/directadmin/Admin/
). Điều này nghĩa là bất kỳ thay đổi nào trên một tài khoản Admin sẽ ảnh hưởng đến tất cả các tài khoản Admin khác. Tuy nhiên, điều này không áp dụng cho phân lớp Reseller trong dữ liệu của Admin. Ví dụ, nếu một Admin tạo User bằng phần Reseller của tài khoản mình, một Admin khác sẽ không thấy những User đó trong bảng điều khiển Reseller của họ. Ngoài ra, Admin cũng sẽ kiểm soát việc thêm và gỡ bỏ các alias IP cho máy chủ, điều này cho phép truy cập vào máy chủ thông qua các IP khác nhau.
Trình tự xử lý trong một yêu cầu
DirectAdmin sử dụng cơ chế “pre-fork” – tức là tất cả các tiến trình con sẽ được sinh ra trước khi có bất kỳ yêu cầu nào được gửi đến. DirectAdmin khởi chạy bằng cách load số lượng tiến trình con được quy định trong tệp directadmin.conf
nằm tại /usr/local/directadmin/conf
. Nếu số tiến trình con giảm xuống dưới 2, hệ thống sẽ tự động tăng số lượng lên một đơn vị. Khi số lượng đạt lại 2, nó sẽ tiếp tục tăng. Quá trình này được lặp lại cho đến khi đạt giới hạn tối đa là 20 tiến trình con. Bạn có thể đặt nhiều hơn 20 tiến trình con trong tệp cấu hình, nhưng số đó sẽ không được hệ thống tự động tăng thêm.
Sau khi một kết nối được thiết lập, tiến trình con sẽ chờ đợi yêu cầu được gửi đến. Khi yêu cầu được gửi, tất cả các headers và dữ liệu sẽ được phân tích và sắp xếp. Thời gian timeout mặc định là 10 giây (hoặc giá trị được thiết lập trong tệp cấu hình), sau khoảng thời gian này mà không có phản hồi thì tiến trình sẽ bị dừng lại. Đối với những thao tác đòi hỏi thời gian lâu hơn, giá trị này sẽ được tăng lên.
Việc xác thực dựa trên mật khẩu hệ thống. Để xác thực thành công, người dùng phải tồn tại trong tệp /etc/passwd
, mật khẩu đã được mã hóa bằng hàm crypt()
phải khớp và phải có một thư mục có tên người dùng tồn tại trong thư mục chứa các User (/usr/local/directadmin/data/users
). Nếu bất kỳ điều kiện nào không thỏa mãn, hệ thống sẽ tạm dừng 1 giây trước khi gửi thông báo lỗi. Điều này nhằm ngăn chặn các cuộc tấn công dò mật khẩu liên tục. Mọi nỗ lực đăng nhập đều được ghi lại, và sau 10 lần đăng nhập thất bại, địa chỉ IP và yêu cầu đều sẽ được lưu vào nhật ký bảo mật. Nếu sau đó có lần đăng nhập thành công, số lần đăng nhập thất bại trước đó sẽ được lưu trữ trong tệp login.hist
trong thư mục cấu hình của người dùng. Việc xem các nhật ký này và thực hiện hành động phù hợp sẽ do quản trị viên (Admin) của máy chủ đảm nhiệm.
Sau khi xác thực, lệnh sẽ được kiểm tra xem loại người dùng có được phép thực thi lệnh đó hay không. Nếu lệnh không tồn tại hoặc không được phép, một mục ghi nhận sẽ được thêm vào nhật ký bảo mật với thông tin IP và yêu cầu của người gọi.
Nếu yêu cầu vượt qua các điều kiện đã nêu, lệnh sẽ được thực hiện và kết quả được lưu lại. Mỗi lệnh có một trang web riêng (mặc dù trang này có thể thay đổi tùy theo kết quả) và mỗi trang sẽ có các token (xem hướng dẫn về skins) để điền thông tin. Nếu trang web không có token phù hợp, kết quả sẽ không được hiển thị đầy đủ.
Quyết định về việc chạy lệnh rồi tìm trang web tương ứng so với việc tìm trang web rồi chạy các lệnh được lưu trong đó được đưa ra với một số lý do. Lý do chính là cách này giúp việc tạo skin trở nên dễ dàng hơn rất nhiều, vì không cần phải có kiến thức chuyên sâu về các lệnh tích hợp sẵn.
Hàng đợi tác vụ DirectAdmin
Chức năng chính của hàng đợi tác vụ là chạy ngầm và giám sát các dịch vụ hệ thống. Mỗi phút, daemon cron sẽ kích hoạt hàng đợi tác vụ để kiểm tra thư mục /proc
nhằm đảm bảo rằng tất cả các dịch vụ thiết yếu cho hosting web đang hoạt động. Nếu bạn không muốn các dịch vụ này được chạy, bạn có thể tắt chúng thông qua liên kết “System / Services Info” trong mục Admin của bảng điều khiển hoặc chỉnh sửa tệp /usr/local/directadmin/data/admin/services.status
, đặt tham số mong muốn (ví dụ: httpd=OFF
) và sau đó dừng dịch vụ bằng tay (ví dụ: service httpd stop
). Nếu không chỉnh sửa tệp services.status
, dataskq sẽ tự động khởi động lại dịch vụ httpd, khiến cho quản trị viên máy chủ gặp rắc rối.
Nếu phát hiện ra một dịch vụ không chạy, dataskq sẽ cố gắng khởi động dịch vụ đó (ví dụ: service httpd start
), nếu lệnh trả về giá trị khác 0, dataskq sẽ thử khởi động lại dịch vụ với hy vọng phần tắt của lệnh restart giúp khởi động thành công. Nếu lệnh khởi động lại cũng không trả về giá trị 0, thông báo sẽ được gửi đến tất cả các Admin để thông báo rằng dịch vụ đang gặp vấn đề, yêu cầu hành động ngay lập tức từ phía họ. Thông báo chỉ được gửi mỗi giờ một lần.
Hàng đợi tác vụ cũng được sử dụng để reload/restart các dịch vụ hệ thống sau khi người dùng (User), Reseller hoặc Admin thay đổi cấu hình tài khoản của họ, điều này đòi hỏi dịch vụ hệ thống phải được khởi động lại hoặc tải lại. Vì dataskq chỉ chạy mỗi phút, nên nếu có nhiều yêu cầu giống nhau cho một dịch vụ, chỉ có một yêu cầu được thực hiện nhằm giảm tải cho máy chủ và đảm bảo rằng các dịch vụ không được restart đồng thời từ hai tiến trình trở lên. Khi có những yêu cầu với mức độ ưu tiên khác nhau, chỉ yêu cầu có mức độ quan trọng cao nhất được thực thi. Ví dụ, nếu có yêu cầu cho httpd reload và restart, chỉ có lệnh restart được thực thi vì việc restart hoàn toàn bao hàm tác dụng của lệnh reload.
Một công dụng khác của dataskq là tổng hợp tất cả các mức sử dụng tài khoản và thực hiện các hành động tương ứng. Hàng ngày, tất cả các tài khoản User sẽ được tổng hợp về mức sử dụng đĩa, băng thông,… và lưu trữ vào tệp user.usage
của từng User. Sau khi tổng hợp cấp User, các Reseller sẽ được tổng hợp từ các tài khoản User của họ và cuối cùng là Admin (với tư cách là một tổng thể) được tổng hợp từ các Reseller. Qua đó, tổng mức sử dụng của DirectAdmin trên máy chủ được xác định. Những con số này có thể so sánh với các số liệu được tạo ra từ “Complete Usage Statistics” cho thiết bị mạng và các phân vùng đĩa trong phần Admin của bảng điều khiển để xác định mức độ hoạt động không liên quan đến DirectAdmin. Nếu tổng băng thông vượt quá 75% đối với Resellers và 80% đối với Users, hệ thống sẽ gửi thông báo tới họ báo trước rằng mức sử dụng đã đạt ngưỡng nhất định và kèm theo dự báo thời gian đến khi đạt 100% mức băng thông hàng tháng.
Hàng tháng, tất cả các tài khoản User và Reseller sẽ được đặt lại về số 0 nhờ hàng đợi tác vụ.
Ngoài ra, các thông báo nghỉ phép (dành cho các tài khoản email của User) sẽ được kiểm tra vài lần trong ngày để bật/tắt theo thời gian hợp lý.
Các nhiệm vụ liên quan đến License và cập nhật chương trình cũng được thực hiện thông qua hàng đợi tác vụ. Dataskq sẽ tự động quyết định nếu cần cập nhật và gửi thông báo chứa kết quả cho các Admin.
Cách hoạt động của dataskq là tất cả các yêu cầu gửi tới nó được nối thêm vào tệp /usr/local/directadmin/data/task.queue
. Mỗi phút khi chương trình dataskq chạy, nó kiểm tra sự tồn tại của tệp này, đọc nội dung và xóa tệp, sau đó thực thi các dữ liệu đã đọc.
Bảng điều khiển Admin
Bảng điều khiển Admin là nơi các Admin truy cập để quản lý các tác vụ hành chính của DirectAdmin.
Quy Trình Tạo Reseller:
Việc tạo Reseller yêu cầu thực hiện một số bước. Trước hết, bạn phải tạo một Reseller Package. Hầu hết các tùy chọn trong gói này đều khá đơn giản. Hiện tại, trình quản lý gói không kiểm tra số lượng IP được chỉ định; nghĩa là, nếu bạn chỉ định cho Reseller 0 IP và đồng thời lại cho “Personal DNS’s” sử dụng 3 IP, hệ thống sẽ không đưa ra cảnh báo. Tuy nhiên, khi cố gắng tạo một Reseller với gói đó, sẽ xuất hiện lỗi. ListBox “Domain IP” trên trang “Create Reseller” chỉ áp dụng cho domain của Reseller, tức là nếu domain được đặt thành “Shared – Server”, điều đó không có nghĩa là Reseller có quyền sử dụng IP đó cho các tài khoản User riêng của họ. Chỉ khi tùy chọn “Share Server IP” được bật trong gói Reseller, thì Reseller mới có thể sử dụng IP đó. Tính năng “Send Email Notification” được sử dụng để thông báo cho Reseller khi tài khoản của họ được tạo. Khi cửa sổ popup xuất hiện, bạn sẽ nhận thấy rằng có một thông điệp chứa các token (xem hướng dẫn skins) được nhúng sẵn. Các token này dùng để chèn dữ liệu của Reseller vào email. Bạn có thể sử dụng các token đó theo bất kỳ cách kết hợp nào mong muốn, thậm chí có thể thêm chúng vào tiêu đề email. Nếu cần biết danh sách các token có sẵn, chỉ cần bấm “Reset to Default” và xem (các từ nằm giữa dấu “|”). Khi mọi dữ liệu hợp lệ, kết quả tạo tài khoản sẽ được hiển thị trên màn hình kèm theo một hộp nhập comment cho phép nhập ghi chú về Reseller.
Đoạn sau cũng áp dụng cho việc tạo Admin, ngoại trừ việc Admin cần ít dữ liệu hơn và không sử dụng gói Admin.
Reseller/User sẽ bị đình chỉ nếu vượt quá giới hạn băng thông, hoặc nếu bị Admin/Reseller (theo thứ tự) đình chỉ. Nếu việc vượt quá giới hạn khiến tài khoản User/Reseller bị đình chỉ, tài khoản đó sẽ được kích hoạt lại khi hệ thống đặt lại vào ngày đầu tiên của tháng mới. Nếu tài khoản bị đình chỉ thủ công bởi Admin/Reseller, tài khoản đó sẽ vẫn bị đình chỉ cho đến khi được kích hoạt lại qua bảng điều khiển DirectAdmin.
Trình Quản Lý IP (IP Manager):
IP Manager được sử dụng để kiểm soát việc thêm IP mới vào máy chủ và phân bổ cho các Reseller. Tất cả các IP được liệt kê trong mục này sẽ được load vào máy chủ khi khởi động thông qua script “startips” nằm trong thư mục /etc/rc.d/init.d/
. Khi bạn thêm hoặc gỡ bỏ IP, hệ thống sẽ tự động điều chỉnh ngay lập tức. Các IP có thể ở trạng thái chia sẻ (shared), sở hữu (owned) hoặc tự do (free). Nếu ở trạng thái sở hữu, IP đó chỉ được chỉ định riêng cho một User và không thể được dùng bởi người khác. IP chia sẻ cho phép nhiều User cùng sử dụng cho các domain ảo (ngoại trừ các IP sở hữu, vì domain sở hữu IP được tạo theo chỉ thị virtual domain trong Apache). IP tự do có nghĩa là hiện chưa được sử dụng. Một IP không thể được thu hồi từ Reseller trừ khi nó đang ở trạng thái tự do hoặc không có User nào sử dụng IP đó. Các Nameservers hoạt động độc lập với domain. Một cặp nameserver có thể được đặt trên bất kỳ 2 IP nào chưa có nameserver.
Tính Năng “Complete Usage Stats”:
Tính năng này hiển thị tổng mức sử dụng của tất cả các User DirectAdmin trên máy chủ, bao gồm dữ liệu truyền đi và nhận về qua card mạng (theo lệnh ifconfig eth0
) và thông tin phân vùng đĩa (theo lệnh df
).
Licensing / Updates:
Chức năng này hiển thị nội dung của tệp license và phiên bản của DirectAdmin, cũng như thời điểm cập nhật lần cuối. Mặc dù có các đường link được cung cấp, mục đích chính là cho phép Admin tự cập nhật phần mềm nếu hệ thống không thực hiện cập nhật tự động (có thể xảy ra nếu máy chủ ngưng hoạt động khi lệnh cập nhật được gửi đi). Bạn có thể tự cập nhật phần mềm khi nhận thấy phiên bản mới hơn so với phiên bản hiện hành; nếu không, hệ thống sẽ báo lỗi. License cũng tự động cập nhật, với cơ chế thử cập nhật 3 ngày trước khi hết hạn và sau đó cứ mỗi ngày cho đến khi hết hạn. Sau khi hết hạn, nếu không cập nhật được, bạn có 5 ngày để cập nhật thủ công trước khi bảng điều khiển DirectAdmin ngừng hoạt động. Thời gian ân hạn 5 ngày này được quy định vì các khoản thanh toán đôi khi có thể chậm trễ do những hoàn cảnh ngoài ý muốn mà không phải do lỗi của khách hàng.
SSL cho domain chính của máy chủ
Nếu Admin muốn thêm chứng chỉ SSL cho domain chính của máy chủ, họ phải thực hiện thủ công. Để làm được điều này, Admin cần lấy chứng chỉ và key (Private Key, Public Key giữ nguyên như cũ) – chi tiết sẽ được hướng dẫn ngay sau đây. Sau khi có chứng chỉ và key, Admin sẽ cần chỉnh sửa tệp /etc/httpd/conf/extra/httpd-vhosts.conf
(hoặc /etc/httpd/conf/httpd.conf
khi sử dụng customapache) và cuộn xuống cuối tệp. Bạn sẽ thấy hai chỉ thị virtual host. Với chỉ thị có dạng <VirtualHost <yourip>:443>
, bạn phải chỉnh sửa các thẻ SSL như sau:
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
Và nếu có sẵn tệp chứng chỉ của CA, thêm dòng (nếu chưa có) và chèn chuỗi CA vào tệp server.ca:
SSLCACertificateFile /etc/httpd/conf/ssl.crt/server.ca
Có một vài lựa chọn khi bạn cần lấy key và chứng chỉ:
- Tự Tạo Chứng Chỉ Ký Tự (Self Signed Certificate): Bạn có thể tự tạo chứng chỉ ký tự bằng cách làm theo hướng dẫn tại:
http://help.directadmin.com/item.php?id=192 - Sử Dụng Chữ Ký Từ Một Tổ Chức (Certificate Authority): Nếu muốn sử dụng chứng chỉ được ký bởi một tổ chức (loại bỏ cảnh báo popup khó chịu), bạn cần tạo một yêu cầu chứng chỉ (CSR) theo hướng dẫn tại:
http://help.directadmin.com/item.php?id=256
Sau đó, gửi yêu cầu này cho tổ chức cấp chứng chỉ. Khi nhận được chứng chỉ đã được ký, bạn sẽ cài đặt nó bằng các thẻ Apache đã nêu ở trên (và có thể xoá tệp certificate.request nếu không cần dùng nữa).
Bảng điều khiển Reseller
Bảng điều khiển Reseller là nơi mà Reseller (hoặc Admin) truy cập để tạo/sửa đổi các tài khoản User trên máy chủ.
Quy trình tạo User tương tự như khi tạo Reseller, nhưng có điểm khác biệt ở chỗ bạn phải chỉ định IP nào (trong số những IP bạn sở hữu) sẽ được giao cho User. Quy trình tạo thông báo qua email cũng giống nhau đối với Reseller.
Màn Hình “IP Assignment”:
Màn hình này dùng để xác định công dụng của từng IP. Có bốn trạng thái chính:
- server: IP chính của máy chủ
- owned: IP được gán riêng cho một User
- shared: IP được chia sẻ cho nhiều User
- free: IP chưa được sử dụng, có thể chuyển sang trạng thái shared hoặc owned
Bạn cần quyết định mục đích sử dụng của mỗi IP trước khi tạo bất kỳ tài khoản User nào. Sau khi User được gán vào một IP, nếu muốn chuyển trạng thái IP đó về free thì User phải được xoá khỏi hệ thống. Mặc dù màn hình “IP Assignment” sẽ hiển thị các nameserver được gán cho các IP, nhưng bạn cần sử dụng màn hình “Name Servers” để tạo/sửa đổi chúng.
Màn Hình “Name Servers”:
Giao diện này khá đơn giản: với mỗi thao tác, bạn phải chọn trước 2 IP. Sau đó, bạn có thể chọn domain cần thêm nameserver hoặc xoá cặp nameserver khỏi các IP đó. Khi tạo nameserver, nếu domain thuộc sở hữu của Reseller, tệp reseller.conf
của Reseller sẽ lưu thông tin nameserver mới và bất kỳ User nào do Reseller tạo về sau sẽ buộc phải sử dụng nameserver đó để đăng ký domain. Nếu domain thuộc sở hữu của User, chỉ nameserver của domain đó được thay đổi; các domain khác của User không bị ảnh hưởng. Tương tự, với các domain thuộc sở hữu của Reseller, chỉ domain được chọn mới bị thay đổi nameserver.
Màn Hình “Skins”:
Màn hình này dùng để điều khiển skin hiện tại cho cả Reseller và các User của họ (với Admin cũng là Reseller, nên cùng thao tác từ đây). Các skin có thể thuộc sở hữu của máy chủ hoặc của Reseller. Một server skin không thể bị xoá, trong khi skin do Reseller tạo ra thì có thể. Nếu muốn thử nghiệm một skin trước khi áp dụng chung cho tất cả User, bạn có thể sử dụng nút “Apply to Me” để xem trước giao diện. Tính năng này cũng dùng cho việc kiểm tra skin. Bạn có thể tải gói skin mới (định dạng tar.gz) thông qua tính năng “Upload New Skin”, gói skin sẽ được lưu trong thư mục home của bạn: /home/username/skins
, nơi bạn có thể thực hiện các chỉnh sửa (xem hướng dẫn về skins). Nếu vô tình sửa lỗi skin dẫn đến việc không nhìn thấy giao diện, chỉ cần chạy lệnh /CMD_SKIN?reset
để khôi phục skin mặc định. Lưu ý: không nên chỉnh sửa skin mặc định, vì khi đó bạn sẽ không có bản dự phòng nếu gặp lỗi. Hơn nữa, server skins sẽ bị ghi đè mỗi khi phần mềm được cập nhật, đây cũng là một lý do để tránh chỉnh sửa skin mặc định. Đối với các skin của User, bạn có thể thay đổi thủ công cho từng User bằng cách chỉnh sửa các tùy chọn trong mục “List / Modify Accounts”. Tuy nhiên, lưu ý rằng khi bạn chọn “Apply to All Users” thì mọi User sẽ bị áp dụng cùng một skin bất kể cá nhân đã cài đặt skin khác.
Một Reseller có thể cấp phát dung lượng đĩa cho các User vượt quá dung lượng tổng cộng cho phép của chính họ. Điều này vì hầu hết các User thường không sử dụng hết toàn bộ dung lượng được cấp. Nếu tổng dung lượng của các User (cộng với tài khoản của Reseller) vượt quá giới hạn của Reseller, hệ thống sẽ gửi email và thông báo tới cả Admin và Reseller thông báo rằng Reseller đã sử dụng 100% (hoặc hơn) dung lượng đĩa được cấp. DirectAdmin sẽ không tự động xử lý, mà Reseller và Admin sẽ phối hợp giải quyết. Ngược lại, băng thông không có sự dễ dung thứ như vậy: nếu băng thông tối đa của Reseller được sử dụng hết, cả tài khoản Reseller và các tài khoản User bên dưới sẽ bị đình chỉ cho đến khi có biện pháp can thiệp (tăng giới hạn sử dụng và kích hoạt lại tài khoản thủ công qua bảng điều khiển DirectAdmin hoặc chờ đến tháng mới khi dữ liệu sử dụng được đặt lại về 0).
Bảng Điều Khiển User
Bảng điều khiển User là nơi mà tất cả người dùng cuối truy cập để quản lý tài khoản và thiết lập website của họ.
Mục FTP:
Mục FTP cho phép User tạo các tài khoản FTP để truy cập website của họ. Có nhiều cách thực hiện khác nhau tùy thuộc vào loại tài khoản của User. Nếu User sở hữu IP của riêng họ, tệp ftp.passwd
sẽ được lưu trong thư mục cấu hình của DirectAdmin của họ. Nếu sử dụng IP chia sẻ, tất cả các tài khoản FTP sẽ được lưu trữ trong tệp proftpd.passwd
nằm ở thư mục /etc
.
- Đối với User sở hữu IP, có thể tạo tài khoản mà không cần đuôi domain trong tên đăng nhập FTP.
- Ngược lại, với IP chia sẻ, tên đăng nhập FTP phải có đuôi
@domain.com
(ví dụ:ftpuser@domain.com
), trong khi tên hệ thống (system username) thì không cần.
Có 3 loại đường dẫn (paths) FTP:
- Domain FTP: Tài khoản FTP có thư mục gốc nằm ngay trong thư mục gốc của domain, cho phép truy cập vào tất cả các phần của domain nhưng không thể xem các domain khác trong tài khoản User (đường dẫn:
/home/username/domains/domain.com
). - FTP: Đường dẫn FTP có thư mục gốc nằm trong thư mục
public_ftp
của domain (đường dẫn:/home/username/domains/domain.com/public_ftp
). - User: Đường dẫn loại User sẽ đặt thư mục gốc của tài khoản vào trong thư mục
public_html
của domain, đặt tên theo tài khoản User. Ví dụ, tài khoản FTP tên “gary” sẽ trỏ tới/home/username/domains/domain.com/public_html/gary
. Điều này cũng cho phép tạo các tài khoản phụ (sub-users) khi cần thiết và tương ứng với subdomain (ví dụ:http://gary.domain.com
trỏ tới/home/username/domains/domain.com/public_html/Gary
).
Mục “Statistics / Logs”:
Mục này hiển thị bảng thông tin chi tiết về tài khoản của User, bao gồm tất cả các domain mà User sở hữu, thống kê sử dụng và liên kết tới trang thống kê Webalizer. Mục đích chính là cung cấp bản tóm tắt tổng hợp mức sử dụng của toàn bộ tài khoản User, bao gồm băng thông (web, FTP, DirectAdmin) và dung lượng đĩa (cho tài khoản User và cơ sở dữ liệu). Lưu ý: thống kê của mỗi domain chỉ phục vụ thông tin cho User và không ảnh hưởng tới tổng mức sử dụng, vốn là tổng hợp của tất cả các domain. Trường email duy nhất có thể chỉnh sửa trên trang này hiện không có chức năng cụ thể nào, chỉ để lưu email liên hệ cho User trong tương lai; tuy nhiên, email đó sẽ được dùng khi hệ thống gửi thông báo.
Trình Quản Lý Tệp (File Manager):
File Manager là công cụ tập trung cho phép User thao tác với các tệp trong thư mục home của mình. Mục đích chính là hiển thị tất cả các tệp và cho phép User di chuyển, chỉnh sửa nội dung hoặc thay đổi vị trí của chúng. Giao diện điều hướng cơ bản khá đơn giản, tuy nhiên một số chức năng đòi hỏi phải giải thích thêm:
- Dữ liệu trong bảng được chọn thông qua các ô checkbox bên phải, sau đó bấm các nút thao tác ở dưới.
- Nút “set Permission” có chức năng giống lệnh
chmod
trên dòng lệnh Unix. Bên cạnh nút này là một giá trị “mode”, quyết định quyền hạn đối với tệp; thường mode 755 được sử dụng cho tài liệu web để cho phép tất cả mọi người đọc được nội dung. - Nút “Copy To” và “Move To” sử dụng dropdown list: danh sách này là phiên bản rút gọn của cây thư mục hệ thống của User. Mỗi dấu hai chấm
:
biểu thị một cấp thư mục trên cấp hiện tại. Bạn có thể theo dấu:
để di chuyển lên một cấp. Lưu ý: “Move” sẽ chuyển toàn bộ nội dung, bao gồm cả thư mục, trong khi “Copy” hiện tại không sao chép thư mục (sẽ được bổ sung trong tương lai). - Bạn có thể xem nội dung các tệp bằng cách bấm tên tệp; do định dạng yêu cầu lệnh, trình duyệt sẽ hiểu đây là thư mục và cho phép xem các tệp HTML hoặc tệp được liên kết mà không gặp vấn đề (ngoại trừ script và các liên kết không phải là nội bộ – các liên kết này không được phép bắt đầu bằng dấu “/” để hoạt động chính xác).
- Nút “Edit” bên cạnh tên tệp cho phép User chỉnh sửa nội dung tệp (trong phạm vi thư mục home của User).
- Nút “Preview Html” trong màn hình chỉnh sửa cho phép xem trước nội dung HTML được nhập trong ô text mà không cần lưu lại lên máy chủ – hữu ích để kiểm tra thay đổi trước khi xác nhận.
- Tệp không có nút “Edit” có thể được chỉnh sửa bằng cách tự nhập lệnh (“?action=edit” sau tên tệp), tuy nhiên bạn phải tự chịu rủi ro vì ô text không được thiết kế để sửa các tệp nhị phân.
- Ngoài ra, chú ý đến ô checkbox bên khu vực “Create New File”: nó chỉ chèn một số đoạn mã HTML cơ bản nhằm hỗ trợ quá trình thử nghiệm hoặc tạo website. Các tệp thuộc quyền sở hữu của root sẽ không được hiển thị checkbox này, nhằm tránh nhầm lẫn cho User không hiểu về quyền truy cập và sở hữu của Unix – mặc dù một tệp của root trong thư mục User vẫn có thể bị xoá hợp pháp.
Cài Đặt SSL Certificates:
Tính năng này chỉ áp dụng cho User sở hữu IP của riêng họ vì mọi yêu cầu https đều được mã hóa, kể cả header “Host: domain.com”. Do đó, Apache sẽ không nhận diện đúng virtual host nếu không có IP sở hữu. Có 3 lựa chọn chính trong màn hình SSL:
- Sử Dụng Chứng Chỉ Của Máy Chủ: Phương án này đủ cho việc mã hóa SSL cơ bản nhưng sẽ xuất hiện cửa sổ popup mỗi khi trình duyệt truy cập trang bảo mật.
- Tự Tạo Chứng Chỉ: Có 2 phương pháp:
a. Tạo chứng chỉ tự ký (self signed certificate) – mặc dù thông tin cá nhân của bạn sẽ hiện rõ trên chứng chỉ, vẫn có popup xuất hiện khi truy cập.
b. Tạo yêu cầu chứng chỉ (CSR) – đây là bước đầu tiên để có chứng chỉ SSL chuẩn được xác thực bởi một tổ chức cấp chứng chỉ. Sau khi điền thông tin, bạn sẽ nhận được một màn hình chứa mã văn bản; đó chính là CSR, bạn gửi nó đến tổ chức cấp chứng chỉ, nhận chứng chỉ đã ký và sau đó dán chứng chỉ vào ô dưới khóa đã tạo trên màn hình SSL chính. - Nếu sử dụng chứng chỉ từ một tổ chức, bạn cũng cần tệp
CARootCertificate
để tránh popup cảnh báo khi truy cập.
Host Additional Domains:
User có thể lưu trữ nhiều domain trên tài khoản của mình. Bằng cách vào màn hình “Host Additional Domains”, User có thể thêm domain (nếu được phép). Màn hình này đôi khi gây hiểu nhầm vì băng thông tối đa hiển thị là “unlimited” – nghĩa là domain được phép tiêu thụ băng thông cho đến khi giới hạn của tài khoản User đạt mức tối đa. User cũng có thể đặt giới hạn cho từng domain nếu không muốn domain vượt quá một con số nhất định (đặc biệt hữu ích khi sử dụng nhiều domain). Tuy nhiên, bất kỳ giá trị nào nhập vào cũng sẽ bị giới hạn bởi mức băng thông của tài khoản User.
Hệ Thống Ticket Và Tin Nhắn:
Hệ thống ticket và tin nhắn về cơ bản giống nhau, chỉ khác ở chỗ ticket có thể được trả lời, trong khi tin nhắn thì không. Tin nhắn thường được gửi từ cấp trên xuống, còn ticket được tạo từ User hoặc Reseller lên. Khi tạo tin nhắn hoặc ticket, Admin và Reseller có thể chọn người nhận từ danh sách dropdown, còn User chỉ có thể gửi tin cho người tạo ra ticket cho mình. User có thể trả lời ticket trước khi nhận được phản hồi nếu có thông tin mới. Chỉ có người nhận ticket mới có quyền đóng ticket đó.
Đăng Xuất (“Signing out”):
Phương thức “Đăng xuất” chỉ là cách cơ bản sử dụng cookies để báo cho trình duyệt biết rằng lần truy cập tiếp theo sẽ trả về “Login Failed”, khiến trình duyệt quên mật khẩu đã lưu (tùy thuộc vào khả năng lưu mật khẩu của trình duyệt). Cách đăng xuất an toàn và chắc chắn nhất vẫn là đóng tất cả các cửa sổ của trình duyệt.