การทำ Virtual Host บน Apache

ผมได้ vps linux มาตัวครับของออฟฟิต ซึ่งผมขอไว้ลองทำนู้นทำนี่เล่นบน server linux เพื่อลองฝีมือและก็ฝึกทักษะไปในตัวตัว server จะเป็น Centos5.3 32bit และได้ลองทำ vitual host กับเขาบางซึ่งไม่เคยทำมาก่อนเลย แต่พอได้ทำแล้วก็อืม...ไม่ยากแหะ โดยการทำ virtual host นั้นมีวิธีการทำอยู่สองแบบก็คือทำ IP เดียวมีหลายโฮส และ มีหลาย IP บนเครื่องเดียวและก็มีจำนวน host เท่ากับจำนวน IP ผมได้ลองทำแบบแรกครับคือ ทำ IP เดียวมีหลายโฮส เพราะลูกค้าบางคนที่ผมเจอต้องการมี vps linux แต่ไม่ต้องเสียเงินค่า CP ในการควบคุม ผมเลยต้องสอนเขาทำ virtual host และคิดว่าจดลงบล็อกตัวเองดีกว่าเดียวลืม

ทำ IP เดียวให้มีหลาย host (Using name-based virtual hosts)

สิ่งที่เราจะมีในการทำตอนนี้ก็คือ โดเมน 1 โดเมนที่ทำการชี้ DNS มายัง IP 122.200.xxx.xx ของ server ตัวนี้แล้วน่ะครับ สมมติชื่อโดเมน myweb.co.cc ต่อมาเราจะมาทำ Virtual host กัน

1. ให้ทำการแก้ไขไฟล์ /etd/httpd/conf/httpd.conf ของ apache ครับ

# vi /etd/httpd/conf/httpd.conf

2. จากนั้นลงไปบรรทัดล่างสุด ให้เพิ่ม คำสั่งด้านล่างลงไป

[pre] ServerAdmin webmaster@myweb.co.cc DocumentRoot /var/www/html/myweb.co.cc ServerName snappytux.co.cc ErrorLog /var/log/httpd/myweb.co.cc/error_log CustomLog /var/log/httpd/myweb.co.cc/access_log common [/pre]

เท่านี้ก็จะสามารถเรียกเว็บผ่าน Domainname ได้แล้ว เช่น http://www.myweb.co.cc ก็จะวิ่งมาที่ server เรา เมื่อเรียก web ในรูปแบบนี้ browser ก็จะถามไปที่ DNS ถ้า DNS รู้จักก็จะชี้มาที่เครื่องของเรา จากนั้นเจ้าตัว Apache ก็จะทำการดูว่า DocumentRoot มันอยู่ที่ไหนจาก Virtual Host เท่านี้ก็จะสามารถใช้งานได้แล้ว แล้วเราก็จะสร้าง Virtual Host เท่าไรก็ได้ โดยทำการเพิ่มต่อท้ายไปเรื่อย ปรับค่า DocumentRoot ตาม path ของเว็บที่เราต้องการ ในส่วนของ log file นั้นจะไว้ที่ไหนก็ได้ครับ ไม่ต้องทำตามตัวอย่างทั้งหมด

via : http://www.itwizard.info/technology/linux/apache_vhost.html

2

Add new comment

Sat, 01/16/2010 - 00:35

แก้ไขให้นะครับ

/etd/httpd/conf/httpd.conf

เป็น

/etc/httpd/conf/httpd.conf

นะครับ

ส่วน VirtualHost นั้นถ้าหากว่าเพิ่มตามตัวอย่างนั้นแล้วไม่สามารถใช้งานได้

ให้ทำการใส่ code

<Directory "/var/www/html/myweb.co.cc">
allow from all
Options +Indexes
</Directory>

ลงไปในไฟล์ข้างต้นด้วยนะครับ -.-