การตั้งค่าให้ apache และ IIS ทำงาน port 80 ร่วมกัน

image_pdfimage_print

การใช้งาน web service ไม่ว่าจะเป็น apache หรือ iis แต่ละตัวมีความสามารถที่จะทำเป็น virtualhost ในรูปแบบต่าง ๆ เช่น

  • virtualhost by port เช่น 80,81 ,82
  • virtualhost by name เช่น www,www2,www3
  • virtualhost by ip เช่น 192.168.1.1 , 192.168.1.2

ถ้าใครพยายามที่จะรัน apache พร้อมรัน IIS ด้วยนั้นจะเกิดปัญหา ตัวที่รันทีหลัง จะไม่สามารถทำงานได้ ดัง Event ในรูปนี้

iisapache01iisapache02

แต่ก็มีปัญหาบางประการเช่นความต้องการใช้ php แต่เครื่องแม่ข่ายเป็น iis ถึงแม้จะติดตั้ง extentions ของ php เข้าไปก็ตาม ยังสู้ใช้งาน php ผ่าน apache ไม่ได้ จึงมีคำถามว่า จะสามารถใช้ apache ร่วมกับ IIS โดยใช้พอร์ต 80 ร่วมกันได้หรือไม่  คำตอบคือ ได้ แต่ต้องมีขั้นตอนปรับแต่งเล็กน้อยครับ

iisapacheความต้องการเบื้องต้นของระบบ

  • ระบบปฏิบัติการวินโดว์ 2003
  • 1 LAN Card (2 IP Address)
  • apache (appserv)
  • ไฟล์ SUPPORT.CAB ในแผ่นวินโดว์ 2003 (ดาวน์โหลดไฟล์ได้จากที่นี่ [download id=”3″])

เมื่อทุกอย่างพร้อมแล้วก็มาเริ่มกันเลยครับ

  • ถ้ามีการ์ดแลน 2 ใบก็ง่ายเลยครับ แต่ถ้าใครมีการ์ดใบเดียว ก็ให้ทำการเพิ่มไอพีให้กับแลนการ์ด ให้สามารถใช้งานได้พร้อมกัน 2 ไอพี (ดูตัวอย่างจากรูปครับ คลิ๊กเพื่อดูขนาดใหญ่)

iisapache00

  • ให้ทำการตั้งค่าของ IIS โดย ซึ่งถ้าเป็นเครื่องที่ยังไม่ได้ทำงานอะไรก็จะมี Default อยู่แล้ว และมันก็รันบนพอร์ต 80 ครับ โดยเราต้องทำการเลือกว่า จะให้เว็บที่รันโดย IIS นี้ ใช้งานไอพีอะไร สามารถเลือกได้ตามรูปครับ

iisapache03iisapache05iisapache04

  • ต่อไปให้ทำการปรับแต่งค่าของ apache โดยค้นหาคำว่า Listen โดยปกติแล้วก็จะรันบนพอร์ต 80 เช่นเดียวกัน

iisapache06

  • คอนเซ็ปของเราคือ (ไอพีไม่เหมือนกับรูปนะครับ เพราะรูปเอามาจากที่ติดตั้งจริง)
    • IIS ให้รันที่ไอพี 192.168.1.1
    • apache ให้รันที่ไอพี 192.168.1.2
  • จากนั้นให้ดาวน์โหลดไฟล์ [download id=”3″] แล้วแตกไฟล์ไว้ที่ไดร์ฟ C:/  (จะเอาไว้ที่ไหนก็ได้ครับ แต่ต้องตามไปให้ถูกตำแหน่งนะครับ)

iisapache091

  • ต่อไปให้ทำตามขั้นตอนดังนี้
    • เปิดคอมมานด์พร็อม ขึ้นมาครับ โดยไปที่    run–> cmd
    • cd c:support
    • httpcfg set iplisten -i 192.168.1.1     ( โดยไอพีนี้คือไอพีที่รันโดย IIS)
    • net stop http /y
    • net start w3svc

iisapache07

  • แล้วทดสอบการใช้งานดูครับ จะพบว่าสามารถใช้งานได้ทั้ง IIS และ Apache แล้วครับผม
    • ทดสอบโดยเปิดเบราเซอร์แล้วเรียก
      • http://192.168.1.1      (IIS)   ** ขออภัย ไม่ได้เอาภาพมาให้ดูครับ
      • http://192.168.1.2     (Apache)

iisapache08

Leave a Reply