BÀI 3: QUẢN TRỊ WEB HOSTING VỚI CONTROL PANEL CHUYÊN NGHIỆP

3.1. Tổng quan về Web Hosting Control Panel

  • Khái niệm: Control Panel (Bảng điều khiển) là một phần mềm giao diện nền Web (Web-based GUI) được cài lên máy chủ. Nó giúp người quản trị thực hiện các tác vụ phức tạp (cài Web Server, tạo Database, phân quyền…) chỉ bằng vài cú click chuột thay vì gõ hàng chục dòng lệnh Linux.

  • Phân loại phổ biến:

    • Trả phí cao (Chuẩn công nghiệp): cPanel (đứng số 1 thế giới), DirectAdmin (nhẹ, rẻ hơn), Plesk (hỗ trợ cả Windows/Linux).

    • Miễn phí / Mã nguồn mở: aaPanel, CyberPanel, FastPanel. (rất được ưa chuộng cho cá nhân và doanh nghiệp nhỏ dùng VPS).

  • Phân cấp quản trị (3 cấp độ):

    1. Admin (Root): Quản lý toàn bộ máy chủ, cài đặt phần mềm lõi.

    2. Reseller (Đại lý): Mua không gian lớn từ Admin, chia nhỏ thành các gói (Packages) bán cho User.

    3. User (Người dùng cuối): Chỉ quản trị website, thư mục và database của riêng mình.

3.2. THỰC HÀNH 1: Cài đặt Control Panel (Thao tác trên MÁY ẢO)

Tình huống: Bắt đầu với một máy ảo Ubuntu hoàn toàn mới (chưa cài Nginx hay MariaDB). Học sinh sẽ cài đặt aaPanel để tự động hóa toàn bộ hệ thống.

Bước 1: Lấy IP và chuẩn bị máy ảo (Linux)

    1. Khởi động máy ảo Ubuntu. Đăng nhập bằng tài khoản root.

    2. Dùng lệnh ip a để lấy địa chỉ IP (Ví dụ: 192.168.100.30).

Bước 2: Chạy lệnh cài đặt tự động (One-click Script)

    1. Gõ dòng lệnh sau (hệ thống sẽ tự động tải file cài đặt về và chạy):

      Bash
       
      wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh aapanel
      
    2. Khi hệ thống hỏi Do you want to install aaPanel to the /www directory now? (y/n), gõ y và nhấn Enter.

    3. Quá trình cài đặt sẽ mất khoảng 5-10 phút. Không tắt máy.

Bước 3: Lưu thông tin quản trị

    1. Sau khi cài xong, màn hình Terminal sẽ hiện ra bảng thông tin cực kỳ quan trọng. Học sinh phải ghi chép lại các thông số này:

      • aaPanel Internet Address: http://192.168.100.30:7800/xxxx

      • username: tên_đăng_nhập_mặc_định

      • password: mật_khẩu_mặc_định

Bước 4: Mở Port 7800 trên Firewall (Nếu cần)

    • Gõ lệnh: sudo ufw allow 7800/tcpsudo ufw reload.

3.3. THỰC HÀNH 2: Thiết lập Máy chủ (Thao tác trên MÁY THẬT)

Từ bước này trở đi, hãy thu nhỏ máy ảo lại, làm việc hoàn toàn trên giao diện Web của Máy thật (Windows).

  • Bước 1: Đăng nhập Bảng điều khiển (Control Panel)

    1. Trên Máy thật, mở Google Chrome.

    2. Gõ đường dẫn aaPanel Internet Address đã ghi chép ở trên vào thanh địa chỉ.

    3. Đăng nhập bằng username và password đã được cấp.

  • Bước 2: Cài đặt môi trường LNMP qua giao diện

    1. Ngay lần đăng nhập đầu tiên, aaPanel sẽ hiện bảng yêu cầu cài đặt App.

    2. Khung bên trái (LNMP – Linux, Nginx, MySQL, PHP), chọn:

      • Nginx (1.21)

      • MySQL (10.4)

      • PHP (8.1)

      • phpMyAdmin (5.0)

    3. Bấm One-click Install. Hệ thống sẽ tự động compile và cài đặt (mất khoảng 10-15 phút). Học sinh có thể theo dõi tiến trình (Message Box) ở góc trái màn hình.

3.4. THỰC HÀNH 3: Đóng vai Khách hàng tạo Website và Database

Tình huống: Khách hàng mua hosting, muốn tự thêm tên miền banhang.local, tự tạo Database và upload source code bằng File Manager.

Bước 1: Thêm Tên miền (Add Website)

    1. Cột menu bên trái, chọn Website -> Bấm nút Add site màu xanh.

    2. Domain name:banhang.local

    3. Description: Web ban hang

    4. Database: Sổ xuống chọn MySQL. Hệ thống sẽ tự động sinh ra Tên Database và Mật khẩu (Hãy copy mật khẩu này ra Notepad).

    5. PHP Version: Chọn PHP-81.

    6. Bấm Submit. (Vậy là web đã được tạo kèm theo Database, cực kỳ nhanh so với việc gõ lệnh ở Bài 2!).

Bước 2: Sử dụng File Manager (Tương đương FTP)

    1. Vẫn ở mục Website, nhìn vào dòng banhang.local, bấm vào đường dẫn ở cột Document Root (Ví dụ: /www/wwwroot/banhang.local).

    2. Giao diện quản lý file hiện ra. Xóa các file mặc định (như index.html, 404.html).

    3. Bấm nút Upload. Chọn file nén .zip của mã nguồn WordPress tải từ máy thật lên.

    4. Click chuột phải vào file .zip vừa tải lên -> Chọn Unzip (Giải nén).

Bước 3: Quản lý Database với phpMyAdmin

    1. Ở menu bên trái, chọn Databases.

    2. Bạn sẽ thấy database của web banhang.local nằm ở đây. Bấm vào nút phpMyAdmin.

    3. Một tab mới hiện ra, đây là giao diện đồ họa cho phép khách hàng toàn quyền quản trị, thêm/sửa/xóa các bảng (Tables) trong MySQL một cách trực quan.

Bước 4: Trải nghiệm thành quả

    1. Mở Notepad trên Máy thật bằng quyền Admin, vào sửa file hosts (C:\Windows\System32\drivers\etc\hosts).

    2. Thêm dòng: 192.168.100.30 banhang.local (IP máy ảo).

    3. Mở Chrome gõ http://banhang.local và tiến hành cài đặt WordPress với Database đã lấy ở Bước 1.

Bài tập thực hành tổng hợp

Đây là Module dự án giả lập doanh nghiệp. Lớp chia thành các nhóm 2 người.

Dự án: “Công ty cung cấp dịch vụ Lưu trữ Web”

  1. Yêu cầu 1 (Hạ tầng): Nhóm tự cài đặt mới một máy ảo Ubuntu và cài đặt thành công Control Panel aaPanel (hoặc CyberPanel).

  2. Yêu cầu 2 (Dịch vụ):

    • Sử dụng chức năng Cron (Scheduled Tasks) trong Control Panel để viết một lệnh tự động giải phóng RAM (Free Memory) vào lúc 2:00 sáng mỗi ngày.

  3. Yêu cầu 3 (Kinh doanh): Tạo 3 Website độc lập trên cùng 1 máy chủ thông qua Panel:

    • congty.local (Chạy code HTML tĩnh, đóng vai trò trang chủ giới thiệu dịch vụ).

    • khachhang1.local (Cài WordPress, đóng vai trò khách mua hosting làm blog).

    • khachhang2.local (Cài một mã nguồn mở khác như OpenCart hoặc Joomla).

  4. Yêu cầu 4 (Báo cáo): Sửa file hosts trên máy thật để truy cập được cả 3 tên miền trên. Chụp ảnh màn hình quản trị của aaPanel và giao diện 3 website lưu vào file Word báo cáo.

Câu hỏi ôn tập

  1. Hỏi: Trình bày 3 lợi ích lớn nhất của việc sử dụng Control Panel so với việc quản trị máy chủ bằng dòng lệnh (CLI)?

    • Gợi ý đáp án: Dễ sử dụng (giao diện đồ họa), tiết kiệm thời gian (tự động hóa tạo Web, DB, phân quyền), dễ dàng phân cấp quản lý (Admin, Reseller, User) để bán dịch vụ (Hosting).

  2. Hỏi: Trong môi trường Control Panel, công cụ quản lý File Manager trên nền web có thể thay thế hoàn toàn cho giao thức truyền tải file nào đã học ở Bài 2?

    • Gợi ý đáp án: Thay thế cho FTP/SFTP và các phần mềm Client như FileZilla.

  3. Hỏi: Công cụ phpMyAdmin được tích hợp trong hầu hết các Control Panel dùng để làm gì?

    • Gợi ý đáp án: Dùng để quản trị cơ sở dữ liệu MySQL/MariaDB bằng giao diện đồ họa trực quan nền web (thay vì gõ lệnh SQL đen trắng).

  4. Hỏi: Tại sao sau khi tạo Website trên Control Panel xong, chúng ta vẫn không thể truy cập ngay bằng tên miền trên trình duyệt (trong môi trường Lab phòng máy)?

    • Gợi ý đáp án: Vì tên miền đó là giả định, chưa được mua và khai báo trên hệ thống máy chủ phân giải tên miền (DNS) toàn cầu. Phải can thiệp vào file hosts trên máy khách để “ép” máy tính hiểu tên miền đó trỏ về IP nào.