Series Làm chủ XAMPP | Bài 2: Virtual Host - Tự tạo tên miền riêng trên Localhost
Khi bạn có 5 dự án trong htdocs, mỗi lần test bạn phải gõ localhost/du-an-1, localhost/du-an-2... rất phiền phức và dễ sai đường dẫn (đặc biệt khi dùng Laravel/React cần đường dẫn tuyệt đối). Virtual Host giúp bạn định nghĩa một "tên miền ảo", ví dụ myapp.test, trỏ thẳng vào thư mục dự án của bạn.
1. Bước 1: Khai báo với hệ điều hành (File Hosts)
Hệ điều hành cần biết rằng khi bạn gõ myapp.test, nó không được chạy ra Internet mà phải quay về máy của bạn (127.0.0.1).
- Mở Notepad (hoặc VS Code) với quyền Administrator.
- Mở file:
C:\Windows\System32\drivers\etc\hosts - Thêm dòng này vào cuối file và lưu lại:
127.0.0.1 myapp.test
2. Bước 2: Cấu hình Apache nhận diện tên miền
Bây giờ bảo với Apache rằng "Khi có request gửi đến myapp.test, hãy phục vụ file trong thư mục dự án của tôi".
- Mở file
C:\xampp\apache\conf\extra\httpd-vhosts.conf. - Thêm đoạn mã sau vào cuối file:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/myapp/public"
ServerName myapp.test
<Directory "C:/xampp/htdocs/myapp/public">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Lưu ý: Nếu bạn dùng Laravel, hãy trỏ DocumentRoot vào folder public nhé.
3. Bước 3: Kích hoạt file cấu hình (nếu cần)
Mở file C:\xampp\apache\conf\httpd.conf, tìm dòng này:
#Include conf/extra/httpd-vhosts.conf
Hãy xóa dấu # ở đầu dòng để kích hoạt nó (nếu nó chưa bị comment thì thôi).
Xong rồi! Hãy mở XAMPP Control Panel, nhấn Stop rồi Start lại Apache để nó cập nhật cấu hình mới.
Tại sao kỹ thuật này lại quan trọng?
- Môi trường đồng nhất: Khi bạn dùng tên miền
.test, code của bạn chạy đúng cấu trúc URL như trên server thật. - Đa dự án: Bạn có thể chạy 10 dự án cùng lúc với 10 tên miền khác nhau (
api.test,admin.test,client.test), không còn lo xung đột. - Cấu hình bảo mật: Bạn có thể định nghĩa quyền truy cập (Directory permission) riêng biệt cho từng dự án ngay trong Apache.
Tổng kết Bài 2
Anh em đã biến XAMPP từ một công cụ đơn giản thành một môi trường phát triển chuyên nghiệp. Với Virtual Host, anh em đã có thể tự tin quản lý nhiều dự án cùng lúc.
Ở Bài 3, chúng ta sẽ xử lý vấn đề "đau đầu" nhất khi làm việc với Database trong XAMPP: Cách quản lý nhiều Database bằng phpMyAdmin và thiết lập User phân quyền (tránh dùng mỗi root/password-trống). Anh em có muốn mình hướng dẫn cách bảo mật database trong môi trường local không?
All rights reserved