Cấu hình domain ảo ở localhost
Đăng trong danh mục Web Programming bởi admin | Tags: apache, appserv, domain, localhost, vhost, virtual host, wamp, window, xampp
Nếu bạn đang là php programmer thì hẳn trên máy ít ra phải cài localhost để test web. Đó có thể là AppServ, XAMPP, WAMP…các phần mềm này đều sử dụng Apache làm lớp Web Server, và đó là đối tượng của bài viết này.
Giả sử bạn phát triển 1 dự án và tạo trên localhost, cách thông thường là mỗi dự án thì bạn tạo một thư mục riêng trong thư mục www hoặc bên trong 1 thư mục nào đó. Vd mình có 1 dự án mới tên là shopabc, đặt trong thư mục “www\projects\freelanceproj\”, thì để truy cập tới ứng dụng này trên localhost, bạn cần phải gõ đường dẫn trên trình duyệt là: http://localhost/projects/freelanceproj/shopabc/ <-- đường dẫn ở localhost đến ứng dụng shopabc mà bạn đang phát triển.
Đường dẫn dưới localhost này có một số khuyết điểm sau:
1.Mỗi lần type cũng dài và nhiều khi khó nhớ
2. Không hiển thị chân thật được kiến trúc URL đã định ban đầu cho website vì nó không phản ánh đúng domain name
3. Demo cho khách hàng với cái đường dẫn không ấn tượng lắm.
Với 3 khuyết điểm trên, mình viết bài này để chia sẽ tới các bạn một cách giúp giải quyết các khuyết điểm trên để làm cho việc phát triển web "vui" hơn một tí. Mục đích của mình cụ thể bây giờ là mình sẽ gõ http://myshop.com vào thanh địa chỉ của trình duyệt, và nó sẽ load nội dung y chang với đường dẫn http://localhost/projects/freelanceproj/shopabc/ của localhost. Để làm việc này mình sẽ sử dụng cơ chế Virtual Host của Apache.
Cấu hình chức năng như thế bạn cần tiến hành 3 bước như sau: cập nhật file host của windows, enable vhost module trong apache và add vhost để nhận domain mà bạn muốn.
Bước 1: Cập nhật file host của windows
Vì hệ thống của windows xp sử dụng file host (các windows khác mình chưa nghiên cứu, nếu ai có nghiên cứu rồi thì chia sẽ nhé!) để gắn 1 số domain để phân giải IP trực tiếp, nên bạn hãy vào file host của window (C:\WINDOWS\system32\drivers\etc\hosts) để thêm 1 dòng để nó phân giải tên miền bạn test, trong trường hợp này là myshop.com, sẽ được phân giải thành 127.0.0.1, tức là localhost của chúng ta.
Chỉ cần thêm 1 hàng mới là:
127.0.0.1 myshop.com
sau đó save lại là xong. Nếu bước 1 làm đúng, bạn vào trình duyệt gõ myshop.com thì nó sẽ load nội dung y chang đường dẫn http://localhost/.
Bước 2: Enable module vhost của apache
Bạn vào thư mục Apache trong localhost trên ổ cứng, nếu xài Appserv thì nó mặc định là : C:\AppServ\Apache2.2\conf\,
mở file “httpd.conf”
tìm dòng “#Include conf/extra/httpd-vhosts.conf“, bạn chỉ cần bỏ 1 ký tự dấu # ở đầu dòng này là đã enable module vhost của apache rồi.
Bước 3: Thêm cấu hình cho 1 virtual host
Tiếp tục, bạn vào thư mục “C:\AppServ\Apache2.2\conf\extra“, mở file “httpd-vhosts.conf“, thêm đoạn sau:
<VirtualHost *:80>
ServerName myshop.com
DocumentRoot "C:/AppServ/www/projects/freelanceproj/shopabc"
</VirtualHost>
Khởi động lại server là xong <– Lưu ý chỗ này đó. Ngoài cấu hình domain chính, bạn cũng có thể làm tương tự 3 bước cho các subdomain để test. Các bạn chú ý là có thể đường dẫn của các bạn sẽ khác mình bởi vì có thể các bạn sử dụng bộ localhost khác nhau nên nó install ở các folder khác, nhưng cấu hình ở bước 2,3 đều là cấu hình trong thư mục Apache, bạn thử tìm thì sẽ thấy thôi. Hy vọng bài viết này sẽ giúp ích cho mọi người. Mong nhận sự chia sẽ từ các bạn.
Lấy cảm hứng từ chiến hữu của tui nên viết bài này. Cảm ơn ba nhé!
Bài viết liên quan:
7 Lời bình cho bài viết “Cấu hình domain ảo ở localhost”
Viết lời bình
Danh mục
- Business (21)
- Flash (1)
- Graphic Design (14)
- IT Guys (1)
- Javascript (8)
- Miscellaneous (52)
- Photography (8)
- PHP (19)
- Review sách (11)
- Search Engine Optimization (2)
- security (2)
- software (4)
- User Interface Design & Usability (5)
- Web Design (22)
- Web Programming (35)
Lưu trữ
- August 2010 (6)
- July 2010 (5)
- June 2010 (2)
- May 2010 (5)
- April 2010 (7)
- March 2010 (8)
- February 2010 (4)
- January 2010 (10)
- December 2009 (12)
- November 2009 (12)
- October 2009 (15)
- September 2009 (16)
- August 2009 (11)
- July 2009 (15)
- November 2008 (1)
- October 2008 (1)
- September 2008 (3)




May 12, 2010 at 9:19 am
Bài viết rất hữu ích. Thanks Tuấn!
May 13, 2010 at 11:26 am
hix, sao mình chạy thử thì chỉ ra trang trắng thui
May 23, 2010 at 9:27 pm
cảm ơn diễn đàn
July 5, 2010 at 5:13 pm
hay
tnsk cau vi bai viet rat bo ich
July 17, 2010 at 12:06 pm
hi,
lần đầu tiên em vào blog học tập của anh,bài viết của anh hay quá.
Anh ơi cho em hỏi, anh “sử dụng” php được mấy năm rồi?. Hồi mới bắt đầu học anh tự học hay ra trung tâm học vậy?
July 17, 2010 at 10:59 pm
cảm ơn đã ghé thăm blog. PHP thì mình ngâm cứu khoảng 6 năm rồi, tất nhiên cách đây 6 năm thì có trung tâm nào dạy mới sợ
.
August 14, 2010 at 1:49 am
Hi, bài viết rất hay. Mình đã làm thử nhưng ko được. Có thể mình làm sai đâu đó.
. Nếu muốn test site bằng domain của mình trên localhost đơn giản nhất là chỉnh host file thành 127.0.0.1 -> domain. Chỉnh lại root trong http.conf là folder đặt trong root. Restart lại server -> Ok liền. 
Đóng góp chút
Thanks