วิธีแก้ไขเมื่อ Apache เกิด Error “Warn NameVirtualHost *:80 Has No VirtualHosts”

ผมต้องการสร้าง Virtual Host บน Apache Web Server เพราะมี Web Server อยู่หนึ่งตัวแต่ต้องการให้มี host name  (ชื่อของ Web server) อยู่บน Web Server ตัวนี้หลายชื่อ และอาจจะมีติดตั้ง SSL ด้วย

โดยวิธีการคือ เข้าไปแก้ไขที่ไฟล์ httpd.conf ซึ่งเป็นไฟล์คอนฟิกของ apache อาจจะอยู่ที่ /etd/httpd/conf/httpd.conf เมื่อลองสร้าง VirtualHost ปรากฏว่ามี Error “Warn NameVirtualHost *:80 Has No VirtualHosts” วิธีแก้ไขให้ลองเปลี่ยนตามดังนี้ครับ

แบบที่ 1 ไม่กำหนด IP

NameVirtualHost *:80
<VirtualHost *:80>
servername memo8.com
ServerAlias memo8.com
ErrorLog "/var/log/memo8.com-error_log"
CustomLog "/var/log/memo8.com-access_log" common
serverPath /public_html/
DocumentRoot /public_html/
</VirtualHost>

แบบที่ 2 กำหนด IP (ใช้ IP ของ server ตัวเอง)

NameVirtualHost *:80
<VirtualHost 183.90.121.229:80>
servername memo8.com
ServerAlias memo8.com
ErrorLog "/var/log/memo8.com-error_log"
CustomLog "/var/log/memo8.com-access_log" common
serverPath /public_html/
DocumentRoot /public_html/
</VirtualHost>

จากนั้นสั่ง Restart Apache

# /etc/init.d/apache2 restart

หรือ

# service httpd restart

หวังว่าข้อมูลเล็กๆน้อยๆนี้จะช่วยเหลือเพื่อนๆได้นะครับ อาจจะมีวิธีอื่นๆไว้ประสบพบเจอจะมาแบ่งปันให้อีกครั้งในโอกาสหน้า

อ้างอิง : http://www.cyberciti.biz/faq/apache2-namevirtualhost-80-has-no-virtualhosts/

อ้างอิง : http://www.mydigitallife.info/apache-warn-namevirtualhost-80-has-no-virtualhosts-error-when-start/