หลังจากที่ปวดหัวกับการทำ Guestbook และ Webboard อยู่เป็นนานเพราะต้อง แก้ไขและ Upload ขึ้นไปที่เซิร์ฟเวอร์เพื่อทดสอบดูผลงานซ้ำแล้วซ้ำเล่าจนเบื่อหน่าย อยากจะ ทดลองในเครื่องก็ทำไม่ได้ มีหลายคนแนะนำให้ใช้โปรแกรมจำลองเซิร์ฟเวอร์ในเครื่องของเราที่มี Windows 95-98 ทดสอบจนได้ผลจริงค่อยเอาขึ้นบนเซิร์ฟเวอร์จริง โดยใช้ OmniHTTPd และ ActivePerl หลังจากที่ได้ดาวน์โหลดมาติดตั้ง และทดลองแล้วได้ผลดี ก็เลยได้ความคิดว่า น่าจะเผยแพร่เพื่อประโยชน์ของพวกเรา "นักสร้างบ้านสมัครเล่น" กันครับ
อันดับแรกก็ไปดาวน์โหลดไฟล์จากหน้า ชอปปิ้งโปรแกรมฟรี ในหัวข้อ Web Tool กันก่อนครับ เมื่อเสร็จแล้วเราจะเข้าสู่ขั้นตอนการติดตั้งกันเลย โดยการดับเบิ้ลคลิกที่ไฟล์ทั้งสอง
ตัว ActivePerl เมื่อการติดตั้งเสร็จจะไม่มีการแก้ไขอะไรให้เป็นค่าดีฟอลต์ของ โปรแกรม เราจะปรับแต่งเฉพาะ OmniHTTPd ซึ่งจะมีหน้าตาดังนี้
- รัน OmniHTTPd แล้วเข้าไปแก้ config. ที่ admin --> properties --> default --> edit
- ที่กรอบโต้ตอบ Configuration ให้คลิกที่ Localhost เลือกปุ่ม Edit
- ให้แก้ไขค่าต่างๆ ในแถบ Server ดังภาพข้างล่าง
- เลือกแถบ Standard CGI ตั้งค่าตามภาพได้เลย
- จากภาพในข้อ 2 คลิกที่ปุ่ม Web Server Global Setting ที่แถบ Advanced เลือกทุกหัวข้อ ยกเว้นข้อที่ 2 Disabled Insecure SSI Commands
การทดสอบเราจะต้องเก็บไฟล์ต่างๆ ไว้ในห้อง CGI-BIN และที่ root (root directory บน Windows 95-98 คือ c:\httpd\htdocs\) แล้วทำตามข้อกำหนดของโปรแกรมต่อไป
เมื่อนำมาใช้บน Windows ต้องแก้ไข Source ในไฟล์ *.pl หรือ *.cgi ใหม่นิดหน่อยครับ คือ
- เมื่อ script มีการอ้างอิง dirrectory เช่นต้องใช้ /mydataเราก็ต้องสร้าง directory ชื่อ mydata ไว้ใน C:\httpd\htdocs แล้วเราก็ต้องมาแก้ตรง script ที่ใช้อ้างอิง เช่น
#!/usr/local/bin/perl
$BASEDIR="../mydata";
ต้องแก้ path ใหม่เป็น
#!/usr/local/bin/perl
$BASEDIR="../htdocs/mydata";
เมื่อจะนำไปใช้บน server ก็เปลี่ยนกลับเป็นของเดิม
- ถ้าเป็น path ของ cgi-bin ก็ปรกติ ไม่ต้องเปลี่ยนอะไร
สำหรับท่านที่ใช้ perl บน Personal Web Server (PWS) ต้องเข้าไปแก้ที่ Regedit เพื่อให้ run script ดังนี้ครับ
- เมื่อ Run Regedit แล้วให้เข้าไปที่
HKEY_LOCAL_MACHIME\SYSTEM\CurrentControlSet\Services\W32VC\ Parameters\Script Map
- เพิ่มเข้าไปนะครับ Name Data
.cgi "C:\Perl\bin\Perl.exe %s %s"
.pl "C:\Perl\bin\Perl.exe %s %s"
.plx "C:\Perl\bin\PerlIS.dll"
แล้วลอง Boot เครื่องใหม่จะสามารถใช้ได้ทั้ง *.cgi และ *.pl
ขอขอบคุณผองเพื่อนที่ช่วยกันตอบคำถามและแนะนำผม จนปล้ำกับ CGI ได้สำเร็จ (บางเรื่องเล็กน้อยเท่านั้นแหละ ฮ่า ฮ่า) ก็จะพยายามต่อไปครับ
|