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:
13 Lời bình cho bài viết “Cấu hình domain ảo ở localhost”
Viết lời bình
Bình luận mới nhất
- phpmailer gởi mail SMTP bằng Gmail/Google Apps
"@trung, nếu vậy thì thử tes" - admin - phpmailer gởi mail SMTP bằng Gmail/Google Apps
"SMTP Error: Could not connect to SMTP host. mình đã làm đủ cách như e" - trung - Cấu hình domain ảo ở localhost
"Chào Cho mình hỏi mình co 1 server window dang chay IIS web asp.net " - Minh Phuong - dotProject - Online Project Management
"@tùng, lỗi quá rõ ràng rồi " - admin - dotProject - Online Project Management
"mình install báo lỗi: not create database.Mình không biết xử lý thế nà" - tùng - Review sách: Hiểu về trái tim - Minh Niệm
"may ban cho minh hoi la : minh nho` nguoi nha di mua sach dum, vi minh" - Tracy - Làm IT nên đọc ebook của nhà xuất bản nào?
"@Lê Hoàng Dũng, Mình cũng" - long - Hội thảo: Heavy Web Optimization – Back-end
"Đã là slide thì sao mà chi tiết được, thế mới gọi là thuyết trình chứ," - DaiGiaCaiBang - Hội thảo: Heavy Web Optimization – Back-end
"Nếu có thể thì anh Tuấn nên viết slide chi tiết hơn tí để mọi người kh" - ichuot - FBNC - Kênh truyền hình TPHCM "pro" nhất hiện nay!
"neu ban dung cap SCTV, ban co the xem SCTV8, day la kenh VITV phat son" - nga
Danh mục
- android (3)
- Business (24)
- Flash (1)
- Graphic Design (16)
- IT Guys (1)
- Javascript (9)
- Miscellaneous (58)
- Photography (9)
- PHP (41)
- Review sách (13)
- Search Engine Optimization (2)
- security (3)
- software (5)
- User Interface Design & Usability (8)
- Web Design (28)
- Web Programming (50)
Lưu trữ
- May 2012 (1)
- March 2012 (2)
- February 2012 (1)
- January 2012 (1)
- December 2011 (1)
- November 2011 (2)
- September 2011 (2)
- August 2011 (1)
- July 2011 (4)
- June 2011 (2)
- May 2011 (2)
- April 2011 (2)
- March 2011 (2)
- February 2011 (2)
- January 2011 (4)
- December 2010 (6)
- November 2010 (3)
- October 2010 (3)
- September 2010 (5)
- 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!
[Reply]
May 13, 2010 at 11:26 am
hix, sao mình chạy thử thì chỉ ra trang trắng thui
[Reply]
May 23, 2010 at 9:27 pm
cảm ơn diễn đàn
[Reply]
July 5, 2010 at 5:13 pm
hay
tnsk cau vi bai viet rat bo ich
[Reply]
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?
[Reply]
admin Reply:
July 17th, 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ợ
.
[Reply]
TMQuang Reply:
September 16th, 2010 at 11:59 am
Chào Tuấn,
Lâu ko gặp rồi nhỉ. Con số 6 năm của Tuấn cũng đáng nể, nhưng nếu Tuấn nói cách đây 6 năm mà ko 1 trung tâm nào dạy PHP thì có lẽ Tuấn chưa học qua hay ko muốn học.
Vì mình là bằng chứng sống đây, năm 2003 mình bắt đầu học thiết kế web cao cấp do trung tâm tin học và ngoại ngữ IDC dạy và mình học PHP từ trong đó.
Một chút đóng góp và sẻ chia
[Reply]
admin Reply:
September 16th, 2010 at 12:03 pm
Hihi, hồi đó ở Nha Trang, có chỗ dạy PHP mới là lạ,keke. Cảm ơn đã chia 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
[Reply]
January 19, 2011 at 10:08 am
cảm ơn bạn nhiều..!
nếu bạn biết cách cài đặt apache sao cho 2 wed chạy trên 1 server thì bài đó hay hơn nữa..
[Reply]
July 17, 2011 at 1:58 pm
@Duy Vo,
“nếu bạn biết cách cài đặt apache sao cho 2 wed chạy trên 1 server thì bài đó hay hơn nữa..”
bạn có thể làm đc rất nhiều website chạy trên 1 server theo ý bạn bằng cách tạo nhiều cấu hình cho file “httpd-vhosts.conf”
ServerName domain1
DocumentRoot “dir1″
ServerName domain2
DocumentRoot “dir2″
ServerName domain3
DocumentRoot “dir3″
….
[Reply]
February 2, 2012 at 7:17 pm
Hi, bài viết rất hay. Xin cảm ơn bạn nhiều..!
[Reply]
May 18, 2012 at 9:45 pm
Chào
Cho mình hỏi mình co 1 server window dang chay IIS web asp.net
nay mình muốn cấu hình chay PHP mình đã cài Appserver chạy localhost rất ok-
Nhưng tới bước cấu hình tên miền lai ko dc mong cac bạn hướng dẫn minh đã làm gionng o trên
Khi mình cấu hình xong http://www.tenmien.com:8080/index.php thi ok nhung ko chay dc http://www.tenmien.com/index.php nhu vậy khac phuc làm sao mong dc huong dẫn…
[Reply]