A-AA+then

ในการทำงานเว็บที่มีหลายๆโปรเจ็ค หากเราจะต้องทำการเรียกโปรเจ็คผ่าน localhost ก็คงเป็นการลำบากไม่ใช่น้อยเนื่องจากต้องเรียกโปรเจ็คไล่ไปตามไดเร็คทอรี่ที่เก็บไฟล์ของ Server จะเป็นการดีกว่าหรือไม่ หากเราจะสามารถเรียกโปรเจ็คของเราด้วยชื่อโปรเจ็คหรือชื่อโดเมนแทน

ขั้นตอนแรก เปิดไฟล์ 000-default.conf เพื่อเพิ่มไซต์ที่ต้องการ
sudo gedit /etc/apache2/sites-enabled/000-default.conf
เพิ่มไซต์ที่ต้องการ ด้วย VirtualHost โดยมีรูปแบบตามรายละเอียดด้านล่าง
<VirtualHost *:80>
 ServerName goragod
 DocumentRoot /mnt/Server/htdocs/goragod.com
</VirtualHost>

goragod คือชื่อของโดเมนที่ต้องการเช่น http://goragod
/mnt/Server/htdocs/goragod.com คือที่อยู่ไดเร็คทอรี่ที่เก็บไฟล์ของโดเมนนี้ ซึ่งต้องอยู่ภายใต้ Document Root ของ Server (ตัวอย่างนี้จะเห็นว่าผมได้เมานท์ไดร์ฟ Server เพื่อใช้สำหรับเก็บไฟล์ฺของ Server โดยเฉพาะ)
ตัวอย่างด้านบนจะทำให้เราสามารถเรียกโปรเจ็ค goragod จาก URL http://goragod ได้เลย แทนที่ปกติที่เราจะต้องเรียก http://locahost/goragod.com

เราสามารถเพิ่มไซค์ได้ไม่จำกัดตามที่เราต้องการเลยครับ โดยแยก VirtualHost 1 รายการต่อ 1 ไซต์

ขั้นตอนที่สอง หลังจากนั้นเราจะต้องมาแก้ไข hosts ไฟล์เพื่อให้รู้จักโดเมนที่เราสร้างขึ้น
sudo gedit /etc/hosts
ทำการเพิ่มโดเมนที่เราสร้างลงไปในไฟล์ได้เลยครับ ต่อจากรายการ localhost ได้เลย
127.0.0.1    goragod
รายการที่เพิ่มขึ้น จะต้องมีจำนวนรายการตามที่กำหนดใน VirtualHost ไว้ และสามารถใช้รูปแบบโดเมน เช่น goragod.com หรือ ซับโดเมนเช่น demo.goragod.com ได้
คำเตือน : การเพิ่มชื่อโดเมนลงในไฟล์ host จะมีผลให้เราไม่สามารถเรียกไปยังที่อยู่โดเมนจริงๆที่ออนไลน์ได้ โดยจะเป็นการเรียกไปยังไซต์ภายในเครื่องแทน
ขั้นตอนสุดท้าย จากนั้นก็ Restart Apache
sudo service apache2 restart

Relate

^