Mini Howto Subject: การทำ Virtual Host บน Apache web server By: Pruet Boonma Date: Apr 3, 1998 Update from: - License: สงวนลิขสิทธิ์เอกสารนี้ โดย พฤษภ์ บุญมา การเผยแพร่เอกสารนี้จะต้องอยู่ภายไต้ เงื่อนไขของ GNU General Public License เวอร์ชั่น 2.0 ที่ออกโดย Free Sofware Foundation กรุฒาอ่านรายละเอียดของ GPL ที่ Introduction: Feature หนึ่งที่น่าสนใจของ Apache web server ที่มาพร้อมกับ Linux นั่นคือการทำ Virutal Host ซึ่งก็คือการที่ web server ตัวเดียว สามารถมือชื่อได้หลายชื่อ และแต่ละชื่อก็มี document root แยกกัน เช่น เครื่อง ds90.intanon.nectec.or.th ให้บริการ ชื่อ www.intanon.nectec.or.th และ webexpo.intanon.nectec.or.th พร้อม ๆ กับ ได้ เป็นต้น Prerequirement: 1. Apache web server ซึ่งปกติจะมาพร้อมกับ Linux อยู่แล้ว 2. Server name ต้องทำการ set server นั้นให้มีชื่ออย่างน้อยสองชื่อ ซึ่งทำโดยแก้ไข DNS data การทำ Virtual Host สมมุติว่าต้องการทำ server ที่มีชื่อว่า www ซึ่งมี document root อยู่ที่ /var/lib/httpd/htdocs มีชื่อว่า webexpo เพิ่มขึ้นโดย document root ของ webexpo อยู่ใน /var/lib/httpd/htdocs/webexpo สามารถทำได้โดยเริ่มจากการสร้าง directory /var/lib/httpd/htdocs/webexpo ขึ้นมาก่อน แล้วจึง ทำการแก้ไข file /var/lib/httpd/conf/httpd.conf ดังนี้ โดยเติมเข้าไปในส่วนท้าย file ServerAdmin lachanai@ds90.intanon.nectec.or.th DocumentRoot /var/lib/httpd/htdocs/webexpo ServerName webexpo.intanon.nectec.or.th ErrorLog logs/webexpo-error.log TransferLog logs/webexpo-access.log โดย จะหมายถึงว่า กำหนดให้ Virtual host ใหม่มีชื่อเป็น webexpo.intanon.nectec.or.th (ซึ่งต้องทำการ add เข้าไว้ใน DNS แล้ว) และในการกำหนด document root จะกำหนดใน /var/lib/httpd/htdocs/webexpo ดังนั้น ถ้ามีการ request http://webexpo.intanon.nectec.or.th/ web server ก็จะไปอ่าน file /var/lib/httpd/htdocs/webexpo/index.html ขึ้นมานั่นเอง ส่วน รายละเอียดอื่น ๆ นั้น ก็สามารถดูได้ตามตัวอย่างเลย มีข้อสังเกตุคือ การทำ Virtual Host สามารถนำไปใช้ในระบบ Intranet ได้เช่นกัน เช่นมี Linux Server ที่มี IP เป็น 202.44.48.33 ( IP จริิง สำหรับต่อ Internet) . 10.0.1.1 ( IP ปลอม สำหรับ Intranet ) และ 10.0.2.1 ( IP ปลอมสำหรับ network นักศึกษา ) ก็ทำการกำหนดใน DNS ให้ ชื่อ www.mptc.eng.cmu.ac.th เป็นของ 202.44.248.33 ,intranet.mptc.eng.cmua.c.th เป็น virtual host ที่อยู่บน IP 10.0.1.1 แล้วก็ทำ firewall กั้นไม่ให้ ผู้ทึ่ใช้ IP 10.0.2.0 เข้ามา access IP 10.0.1.1 ดังนั้น ผู้ที่ใช้ IP 10.0.2.0 เท่านั้น จึงจะเข้ามา access web page ที่อยู่ใน intranet.intanon.nectec.or.th ได้ เป็นต้น