การสร้าง Virtual Host สำหรับ Yii2 Basic Application Template

คู่มือการเรียนรู้ Yii Framework 2 (Yii2)

บทเรียนดีๆ สำหรับผู้ที่ต้องการแบ่งปัน บทเรียนของคุณอาจมีค่าสำหรับอีกหลายๆ คน

beta version

การสร้าง Virtual Host สำหรับ Yii2 Basic Application Template

มานพ กองอุ่น yii2 1305

สำหรับ Virtual Host นั้นเป็นการจำลองการเรียก Web Applicationผ่าน Domain URL เช่น http://yii2-basic.dev เป็นต้น สำหรับวิธีการนั้นทำได้ไม่ยาก มี 2 ขั้นตอนดังนี้

แก้ไขไฟล์ httpd-vhosts.conf

    สำหรับไฟล์นี้จะบรรจุอยู่ใน d:/wamp/bin/apache/apachex.x.x/conf/extra/httpd-vhosts.conf แต่ก่อนที่จะไปแก้ไขไฟล์นี้ ต้องทำให้แน่ใจก่อนว่าได้เปิดการใช้งานแล้วในการตั้งค่าในไฟล์ httpd.confที่อยู่ใน d:/wamp/bin/apache/apachex.x.x/conf/httpd.conf

จากนั้นแก้ไขโดยยกเลิก Comment ในบรรทัด 513 เพื่อให้เรียกไฟล์ httpd-vhosts.confได้

ทำการบันทึกไฟล์ httpd.conf

จากนั้นเปิดไฟล์ httpd-vhosts.confและทำให้แน่ใจว่ามีคำสั่งต่อไปนี้อยู่หากไม่มีให้เพิ่ม

<VirtualHost *:80> ServerName localhost DocumentRoot "d:/wamp/www/" </VirtualHost>

จากนั้นเพิ่มคำสั่งในการสร้าง Virtual Host ดังนี้

<VirtualHost *:80> ServerAdmin webmaster@yii2-basic.dev DocumentRoot "d:/wamp/www/yii2-basic/web" ServerName yii2-basic.dev ErrorLog "logs/yii2-basic.log" CustomLog "logs/yii2-basic.log" common </VirtualHost>

ส่วนที่สำคัญคือ DocumentRootคือ Root ของ Web Applicationและ ServerNameคือ ชื่อ Domain ที่เราต้องการแล้วทำการบันทึกไฟล์ httpd-vhosts.conf

แก้ไขไฟล์ c:/windows/system32/driver/etc/hosts

เปิด Notepad แบบ Administrator คลิกขวา Run as administrator

จากนั้นไปที่ File->Open แล้วไปเปิดไฟล์ hosts ใน c:/windows/system32/driver/etc/ แล้วเพิ่มข้อมูลต่อไปนี้

จากนั้นบันทึก แล้วทำการ Restart Apache โดยคลิก W สีเขียวแล้วเลือก Restart All Services

หมายเหตุ ชื่อ Domain ใน httpd-vhosts.confกับ ชื่อ Domain ใน hosts นั้นต้องเป็นชื่อเดียวกัน

จากนั้นทดลองเข้า URL ตามชื่อ Domain http://yii2-basic.dev จะได้หน้า Web Applicationดังนี้

การจัดการ URL แบบสวยงาม (Pretty URL)

    สำหรับการจัดการ URL ให้สวยงามนั้นเรียกว่า Pretty URL โดยมีตัวอย่างการเรียกใช้งานเช่น

http://yii2-basic.dev/site/about

จะเห็นว่า index.phpไม่มี และตัวแปร ?r= ก็ไม่มีเช่นกัน ทำให้ URL ดูสวยงามมากยิ่งขึ้นโดยเป็นการใช้งาน rewrite_module ของ Apache ดังนั้นก่อนทำขั้นตอนนี้ควรเป็น rewrite_module ของ Apache ก่อน ถ้าเป็น WAMP Server ให้กด W->Apache->Apache modules ทำให้แน่ใจว่ามีเครื่องหมายถูกหน้า rewrite_module

สำหรับ Pretty URL นั้นมีประโยชน์กับ Search Engine ในการรวบรวมข้อมูลต่างๆ ใน Web Applicationและทำให้ URL มีความสวยงามมากยิ่งขึ้นสำหรับวิธีการจัดการนั้นสามารถทำได้ดังนี้

เพิ่ม UrlManager

    ทำการเพิ่ม UrlManagerในส่วนของ Componentในไฟล์ config/web.phpดังนี้

 

สร้างไฟล์ .htaccess

ทำการสร้างไฟล์ .htaccessในโฟลเดอร์ web ดังนี้

โดยการใส่ข้อมูลดังนี้

หมายเหตุ ดูเพิ่มเติมเรื่องการสร้าง Virtual Host สำหรับ Yii Basic Application Templateที่จะได้ URL http://yii2-basic.dev
หากบทเรียนรู้มีความผิดพลาดประการใด หรือมีข้อเสนอแนะกรุณาแจ้ง contact@programmerthailand.com
กลับขึ้นบน