Clicky

Running Drupal Test Sites within XAMPP | suksit dot com

Running Drupal Test Sites within XAMPP

มีคนโพสต์ถามปัญหาการติดตั้ง Drupal บน XAMPP (ไปตอบไว้แล้วในกระทู้) แต่คิดว่ามาโพสต์เก็บไว้ที่นี่ด้วยน่าจะดี

ปกติคนทำเว็บแต่ละคนคงมีวิธีการสร้าง test site ในเครื่องของตัวเองอยู่แล้ว สำหรับผมที่ใช้ XAMPP เป็นหลัก จะใช้วิธีการสร้าง virtual host สำหรับแต่ละ site ที่ทำงานอยู่ โดยมีขั้นตอนดังนี้

1. เพิ่ม virtual host ในไฟล์ %XAMPP_INSTALL_DIR%\apache\conf\extra\httpd-vhosts.conf โดยมี virtual host สำหรับหน้า admin ของ XAMPP 1 อัน ที่เหลือเป็นของแต่ละเว็บไซต์

<VirtualHost *:80>
    ServerAdmin admin@xampp.local
    DocumentRoot "C:/Program Files/XAMPP/htdocs"
    ServerName xampp.local
</VirtualHost>
 
<VirtualHost *:80>
    ServerAdmin admin@drupal.local
    DocumentRoot "D:/www/drupal-6.6"
    ServerName drupal.local
</VirtualHost>
  • virtual host อันแรก ชี้ไปที่ directory ที่ติดตั้ง XAMPP ซึ่งเรียกใช้ได้ทาง http://xampp.local
  • virtual host อันที่สอง ชี้ไปที่ directory ที่ติดตั้ง Drupal ซึ่งเรียกใช้ได้ทาง http://drupal.local
  • สามารถตั้ง URL เป็นอะไรก็ได้ โดยแก้ตรง ServerName

2. เพิ่ม <Directory> ในไฟล์ %XAMPP_INSTALL_DIR%\apache\conf\httpd.conf

<Directory "D:/www/drupal-6.6">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
  • ไม่ต้องเพิ่ม directory ของ XAMPP เพราะมันมีอยู่แล้วในไฟล์ httpd.conf

3. แก้ไฟล์ hosts เพื่อให้ Windows รู้จัก URL ของ virtual host ที่เรามั่วขึ้นมาเอง โดยเพิ่มข้อมูลในไฟล์ C:\WINDOWS\SYSTEM32\Drivers\etc\hosts ให้ URL ดังกล่าว ชี้มาที่ localhost (127.0.0.1)

127.0.0.1 localhost loopback xampp.local drupal.local

เสร็จเรียบร้อยก็รีสตาร์ท Apache แล้วลองเรียก URL ดังกล่าวได้เลย ผมชอบวิธีนี้เพราะแต่ละไซต์จะแยกกันอย่างเด็ดขาด, เรียกใช้งานได้สะดวก และน่าจะดูแลรักษาง่ายกว่าการรวมทุกอย่างไว้ใน directory htdocs ที่เดียว

1 comment

iGeek2s's picture
iGeek2s (visitor) says:

ใช้วิธีเดียวกันเยย!!

Post new comment

The content of this field is kept private and will not be shown publicly. If you have a Gravatar account associated with the e-mail address you provide, it will be used to display your avatar.