Virtual Host là tính năng của Apache cho phép bạn chạy nhiều website trên cùng một máy tính nhưng với các domain khác nhau.
Ví dụ:
-
http://domain1.com
-
http://domain2.com
1. Chuẩn bị trước khi cấu hình
-
Đã cài XAMPP
-
Đảm bảo Apache đang chạy
-
Có thư mục project, ví dụ:
-
C:\xampp\htdocs\domain1
-
C:\xampp\htdocs\domain2
-
2. Bước 1: Cấu hình file httpd-vhosts.conf
Mở file:
Thêm đoạn cấu hình:
ServerName domain1.com
DocumentRoot "C:/xampp/htdocs/domain1"
<Directory "C:/xampp/htdocs/domain1">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName domain2.com
DocumentRoot "C:/xampp/htdocs/domain2"
<Directory "C:/xampp/htdocs/domain2">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
3. Bước 2: Kích hoạt file vhosts
Mở file:
Tìm dòng:
Bỏ dấu # để kích hoạt:
4. Bước 3: Chỉnh file hosts trên Windows
Mở Notepad bằng quyền Administrator, sau đó mở file:
Thêm dòng:
127.0.0.1 domain2.com
5. Bước 4: Restart Apache
Quay lại XAMPP Control Panel và restart Apache.
6. Bước 5: Kiểm tra kết quả
Mở trình duyệt và truy cập:
-
http://domain1.com
-
http://domain2.com
Nếu hiển thị đúng project là thành công
7. Một số lỗi thường gặp
Không truy cập được domain
-
Kiểm tra file hosts đã lưu chưa
-
Restart Apache
Lỗi 403 Forbidden
-
Kiểm tra quyền thư mục
-
Đảm bảo có dòng:
Require all granted
Port bị trùng
-
Kiểm tra port 80 có bị app khác chiếm không (Skype, IIS,...)
8. Kết luận
Việc sử dụng Virtual Host giúp bạn:
-
Quản lý project chuyên nghiệp hơn
-
Giống môi trường thực tế (production)
-
Dễ cấu hình framework như Laravel, React,...
Chúc các bạn thành công