Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "CNTT" các nội dung bạn quan tâm.

16.2. Cách tổ chức các file cấu hình để dễ dàng quản trị khi có nhiều website với các chức năng khác nhau

ICT

Ví dụ bên dưới là case thực tế. Tùy vào nhu cầu của bạn để điều chỉnh.

 

Khi số lượng website tăng lên, vấn đề không còn nằm ở việc “viết đúng cấu hình”, mà là làm sao để quản trị được toàn bộ hệ thống một cách rõ ràng, an toàn và dễ mở rộng.

Nếu tất cả các file cấu hình đều nằm chung trong một thư mục sites-availablekhông có phân loại, việc bảo trì sẽ nhanh chóng trở thành ác mộng:

  • Khó xác định vai trò từng site

  • Dễ include nhầm cấu hình

  • Khó kiểm soát bảo mật và hiệu năng

Cấu trúc sites-available trong hình minh họa là một ví dụ điển hình cho cách tổ chức theo nhóm chức năng, rất đáng áp dụng trong các hệ thống nhiều website.


1. Nguyên tắc cốt lõi: phân loại theo chức năng, không theo tên miền

Thay vì đặt tất cả site ngang hàng, cấu trúc này chia website theo vai trò vận hành:

sites-available/
├── AppQms
├── AppXml
├── External
├── Maintenance
├── WebArt
├── WebGov
├── WebHos
├── WebMed
└── WebOther

Mỗi thư mục đại diện cho một nhóm website có cùng đặc điểm kỹ thuật, không phụ thuộc:

  • Tên miền

  • Khách hàng

  • Dự án ngắn hạn


2. Phân tích từng nhóm trong sites-available

2.1. AppQms – Ứng dụng nghiệp vụ nội bộ

Đây là nơi chứa:

  • Ứng dụng quản lý chất lượng (QMS)

  • Dashboard

  • Hệ thống tác nghiệp

Đặc điểm:

  • Có đăng nhập

  • Có phân quyền

  • Yêu cầu bảo mật cao

  • Không public toàn bộ Internet

➡️ Nhóm này thường:

  • Dùng snippets webapp

  • Áp dụng rate-limit

  • Logging chi tiết


2.2. AppXml – Dịch vụ tích hợp, trao đổi dữ liệu

Dành cho:

  • API XML / JSON

  • Kết nối hệ thống bên ngoài

  • Tích hợp phần mềm HIS, LIS, EMR, QMS

Đặc điểm:

  • Không phục vụ người dùng trực tiếp

  • Nhạy cảm với timeout

  • Cần kiểm soát truy cập IP

➡️ Nên:

  • Tách riêng hoàn toàn

  • Không dùng cấu hình website thông thường


2.3. External – Website/Service công khai

Bao gồm:

  • Website public

  • Landing page

  • Cổng thông tin

Đặc điểm:

  • Truy cập Internet

  • Lưu lượng lớn

  • Ưu tiên cache, hiệu năng

➡️ Dùng cấu hình thiên về:

  • Static cache

  • Security headers cơ bản

  • Logging gọn


2.4. Maintenance – Chế độ bảo trì

Nhóm này không phải website thực, mà dùng để:

  • Bật trang bảo trì

  • Chuyển hướng toàn bộ hệ thống khi nâng cấp

  • Xử lý sự cố khẩn cấp

Ưu điểm khi tách riêng:

  • Bật/tắt nhanh

  • Không sửa từng site

  • Tránh lỗi cấu hình hàng loạt


2.5. WebArt – Website nội dung, truyền thông

Bao gồm:

  • Tin tức

  • Bài viết

  • Cổng truyền thông

Đặc điểm:

  • Ít logic động

  • Nhiều file tĩnh

  • SEO quan trọng

➡️ Tối ưu cho:

  • Cache

  • Gzip/Brotli

  • Logging truy cập


2.6. WebGov – Website hành chính, quản trị

Dành cho:

  • Cổng hành chính

  • Website quản lý nội bộ

  • Thông tin điều hành

Đặc điểm:

  • Yêu cầu tuân thủ

  • Cấu hình bảo mật chặt

  • Truy vết log rõ ràng

➡️ Không nên trộn với website truyền thông.


2.7. WebHos – Website bệnh viện / cơ sở y tế

Đặc thù:

  • Kết hợp truyền thông + nghiệp vụ

  • Có tích hợp hệ thống y tế

  • Yêu cầu ổn định cao

➡️ Thường cần:

  • Snippets riêng

  • Chính sách timeout khác

  • Bảo mật nâng cao


2.8. WebMed – Website chuyên ngành y

Ví dụ:

  • Cổng kiến thức y học

  • Website chuyên khoa

  • Thư viện y khoa

Đặc điểm:

  • Chủ yếu nội dung

  • Lưu lượng ổn định

  • Ít chức năng nhạy cảm


2.9. WebOther – Nhóm linh hoạt

Dành cho:

  • Website thử nghiệm

  • Dự án ngắn hạn

  • Các site chưa phân loại rõ

➡️ Tránh đưa vào nhóm chính khi chưa ổn định.


3. Lợi ích của cách tổ chức này

3.1. Quản trị dễ dàng

Chỉ cần nhìn thư mục là biết:

  • Website thuộc nhóm nào

  • Có nên áp dụng cấu hình gì


3.2. Giảm rủi ro cấu hình nhầm

  • Không include nhầm snippet

  • Không áp dụng rate-limit cho site không cần

  • Không mở public dịch vụ nội bộ


3.3. Dễ tự động hóa và chuẩn hóa

  • Viết script tạo site theo nhóm

  • Áp dụng CI/CD cho từng nhóm

  • Phù hợp quản trị quy mô lớn


4. Gợi ý cấu trúc bên trong mỗi nhóm

 
WebHos/
├── bv-example.conf
├── bv-portal.conf
└── bv-api.conf

Tên file:

  • Có quy ước

  • Có tiền tố

  • Dễ grep, dễ tìm


5. Kết luận

Cách tổ chức sites-available theo nhóm chức năng như hình minh họa là:

  • Thực tế

  • Bền vững

  • Phù hợp hệ thống nhiều website

  • Đặc biệt phù hợp cho:

    • Bệnh viện

    • Doanh nghiệp lớn

    • Hệ thống tích hợp nhiều dịch vụ

👉 Quản trị tốt bắt đầu từ cấu trúc tốt.
Nếu cấu trúc rõ ràng, cấu hình phức tạp đến đâu cũng kiểm soát được.