Cấu hình IIS và Apache chạy trên cùng một máy
Tôi là một người đam mê lập trình, có vẻ như nó đã ngấm vào máu rồi hay sao ấy. Ngoài lập trình các ứng dụng WinForm, tôi gần đây lại có nhiều thời gian làm việc với các ứng dụng nền Web hơn. Ôi thôi thì đủ cả: ASP.NET forum, DotNetNuke, VBulletin, phpBB, Joomla,… Do đó tôi phải cài đặt, cấu hình và sử dụng cả 2 webservers khá phổ biến hiện nay là IIS và Apache.
Nếu đã từng “đụng chạm” đến IIS và Apache ắt hẳn bạn cũng biết được rằng không thể chạy cả 2 webservers này tại cùng thời điểm vì sẽ xảy ra sự đụng độ port 80. Có nhiều cách để giải quyết vấn đề này:
1. Không chạy đồng thời IIS và Apache tại 1 thời điểm (cách này đơn giản quá)
2. Cấu hình IIS chạy trên port 80, Apache trên port khác 80 (thường là 8080)
3. Cấu hình IIS và Apache trên cùng port 80
Phần tiếp theo của bài viết này sẽ tập trung vào phương án số 2.[separator]
Để bắt đầu thử nghiệm này, tôi xem như bạn đã cài đặt hoàn tất IIS, Apache trên máy, IIS đang chạy trên port 80 và Apache đang chờ được cấu hình. Nếu bạn cài Apache một cách “chính tắc” thì hãy lưu ý thư mục cài đặt của nó C:\Program Files. Hoặc nếu bạn sử dụng các gói cài đặt như xampp, Server2Go, WebOnStick,… thì cũng nên xác định được thư mục chứa Apache (ví dụ với xampp là C:\xampp\apache).
Bước đầu tiên, bạn cần xác định được tập tin cấu hình của Apache. Đó là httpd.conf. Mở tập tin đó bằng một trình soạn thảo văn bản nào bạn có, đơn giản nhất là dùng notepad.
Bước tiếp theo, dùng chức năng Find/Search để tìm đoạn Listen
Hình trên, cho thấy Apache của bạn đang lắng nghe (listen) trên port 80. Hãy sửa số 80 thành một số khác. Ví dụ 8080, 1234. Nhớ save lại.
Sau đó khởi động Apache, mở trình duyệt và thử duyệt địa chỉ: http://localhost:8080 hoặc http://localhost:1234
Lúc này bạn đã hoàn tất với một số thao tác rất đơn giản.
10 Comments
caothao1309 · 15/09/2010 at 21:10
Em cũng đã làm theo các bước của anh sao apache vẫn không chạy được nhỉ? Anh chỉ giúp em với. Thanks anh nhiều.
Việt Coding · 16/09/2010 at 08:51
Bạn nói chung chung thế này thì thánh cũng không giúp được huống chi là Việt Coding 🙂
caothao1309 · 16/09/2010 at 09:07
em vẫn cấu hình cho apache ở port 8080, còn IIS vẫn giứ nguyêb ở port 80. tức em cài cái xampp và IIS không chạy cùng lúc được, thế giờ làm sao à. mà quen, lúc tối thấy giáo em có cấu hình tương tự lại được rồi, nhưng em sáng dậy khởi động lại máy lại ko được , hic…
caothao1309 · 16/09/2010 at 09:32
hehe, được rùi anh à, em lại cấu hình IIS 8080 còn apache 80. trùi, Thanks
Firefoc · 13/02/2012 at 14:08
Mình cài IIS (port 80) và Apache (gói XAMPP listen port 8080). Lúc trước chỉ có apache thôi thì mình dùng virtual host được (ví dụ mysite.mydomain). Nhưng bây giờ khi chuyển apache qua port 80 thì không dùng được virtualhost nữa. Mình đã chỉnh trong httpd-vhost.conf :
#
# Use name-based virtual hosting.
#
NameVirtualHost *:8080
…
DocumentRoot “C:/xampp/htdocs/mysite/”
ServerName mysite.domain
Việt coding giúp mình với. Thanks!
Việt Coding · 23/02/2012 at 13:29
Bên trên bạn nói Apache dùng port 8080 sao bên dưới Apache lại vẫn dùng port 80 ? Vậy thực ra Apache đang listen ở port nào ? 🙂
Firefox · 23/02/2012 at 14:16
Mình đã config được virtual host cho apache rồi.
Trong httpd-vhost.conf để như sau:
DocumentRoot “C:/xampp/htdocs/myweb/”
ServerName myweb.domain
Trong file hosts thì : 127.0.0.1 myweb.domain
Chạy thì cứ : myweb.domain:8080
Việt Coding cho mình hỏi giờ mình muốn chạy virtual host bên IIS thì làm thế nào?
Việt Coding · 23/02/2012 at 17:21
Bạn làm theo bài hướng dẫn đến bước nào rồi ?
– Bạn đã add thêm 1 IP cho server chưa ?
– Thực hiện cấu hình để IIS chỉ listen trên đúng IP đó chưa ?
HoàngNN · 26/12/2012 at 01:08
cho mình hỏi với:
mình có 1 domain buctuong.net, trên server mình cài iis7 port 80 và apache port 8080.
Giờ mình trỏ forward domain buctuong.net về địa chỉ IP của server thì iis sẽ nhận. Vậy phải cấu hình như nào để IIS redirect tới apache?
Vì website của mình là PHP.
thanks!
thanh · 27/02/2014 at 09:58
thêm IP của domain vào file host của window chưa
VD: 127.0.0.1 sites.domainname