Bạn là một PHP Developer chắc không lạ gì khi phải làm việc với các chương trình tạo máy chủ ảo trên máy tính cá nhân(thường gọi là localhost). Trong trường hợp bạn cần cấu hình riêng cho localhost để chạy từng domain riêng cho từng ứng dụng thì bài viết này sẽ giúp ích cho các bạn. Đối tượng phần mềm giả lập máy chủ ảo mà tôi muốn nhắc đến trong bài viết này là AppServ – một phần mềm yêu thích của tôi.
Theo cách thông thường, chúng ta sẽ tạo một thư mục chứa project mới trong thư mục www, sau đó sử dụng trình duyệt để truy cập vào thư mục này, ví dụ:
http://localhost/projectabc
Cách này có một vài điểm hạn chế như :
- Đường dẫn dài, nhiều thư mục nếu như bạn phải thực hiện nhiều dự án cho nhiều đối tượng khác nhau và phải phân thư mục riêng để tiện cho việc quản lý.
- Cấu hình web khá rắc rối và tốn thời gian, khi bạn chuyển dự án web của mình lên host và sử dụng domain chính sẽ gặp phiền hà vì phải xóa các đường dẫn thư mục đi.
- Khi demo một dự án cho khách hàng sẽ không được chuyên nghiệp và có khả năng lộ các dự án bạn đang thực hiện khác.
Lúc này bạn sẽ ước gì URL của bạn chỉ ngắn còn projectabc.com hoặc ít hơn nữa như projectabc mà thôi. Nếu bạn muốn vậy, chúng ta hãy cùng đọc tiếp cách thực hiện.
Phụ mục
Bước 1: Cập nhật lại file hosts trên máy tính
Ngoài việc sử dụng hệ thống phân giải tên miền toàn cầu (DNS) để xác định địa chỉ IP cho một domain, máy tính sử dụng hệ điều hành Window còn sử dụng file hosts để phân giải nhanh chóng một tên miền theo ý người dùng. Bằng cách thêm một dòng xác định IP tương ứng với tên miền mới, bạn có thể giúp hệ điều hành Window của mình trỏ tên miền mong muốn đến localhost (IP mặc định 127.0.0.1). Bạn thêm đoạn sau vào file hosts nằm ở C:\Windows\System32\drivers\etc
[code]127.0.0.1 projectabc.com[/code]Như vậy, khi bạn gõ http://projectabc.com trên trình duyệt, Window sẽ phân giải và trả về IP của localhost (127.0.0.1). Việc thêm dải IP này cũng giống như cách bạn thường làm để vượt tường lửa vào FaceBook vậy.
Sau khi xong bước này, bạn có thể gõ http:projectabc.com để vào máy chủ ảo tương tự như bạn gõ http://localhost vậy.
Bước 2: Bật tính năng Virtual Hosts của AppServ
Tiếp theo, bạn cần bật module Virtual Hosts của AppServ để có thể sử dụng. Bạn tìm file httpd.conf nằm trong thư mục D:\AppServ\Apache2.2\conf (ổ D là ổ tôi cài ứng dựng AppServ, tùy theo vị trí bạn cài đặt AppServ mà tìm nhé).
Tìm dòng:
[code]#Include conf/extra/httpd-vhosts.conf[/code]bỏ đi dấu # ở phía trước thành
[code]Include conf/extra/httpd-vhosts.conf[/code]Tới đây, bạn đã cho phép AppServ của mình chạy module Virtual Host.
Bước 3: Cấu hình Virtual Host cho domai mong muốn
Để AppServ hiểu được domain nào sử dụng ứng dụng web nào, bạn cần cấu hình thêm một chút nữa. Bạn mở tiếp file httpd-vhosts.conf nằm trong thư mục D:\AppServ\Apache2.2\conf\extra, thêm vào dưới cùng của nó đoạn sau:
[code]<VirtualHost *:80>ServerName projectabc.com
DocumentRoot "D:\AppServ\www\projectabc.com"
</VirtualHost>[/code]
Đến đây, chúng ta đã hoàn tất toàn bộ các bước cấu hình cần thiết để tạo một domain ảo trên localhost. Hãy cùng nhìn lại quá trình: đầu tiên, Window sẽ phân giải domain(hoặc chuỗi) mà bạn gõ trên trình duyệt và trả về IP của localhost mà bạn đã cấu hình trong file hosts, tiếp theo module Virtual Hosts sẽ khởi động và dựa vào cấu hình bạn đã thêm vào ở bước 3 để biết đối với ServerName đó sẽ cần trỏ đến thư mục nào.
Cuối cùng bạn restart lại Apache để có thể sử dụng. Bạn có thể tham khảo thêm bộ công cụ dành cho người làm web để bổ sung nếu thích.