Configure Apache Web Server สำหรับ CGI
เพื่อให้ Server รัน CGI Scripts ได้อย่างถูกต้อง ต้อง Configure Web Server เราจะพูดถึงวิธี Configure Apache Web Server ให้รัน CGI Scripts
การใช้ ScriptAlias
คุณอาจตั้งค่า Directory เป็น ScriptAlias Directive (ตัวเลือกสำหรับ Configure Apache) วิธีนี้ Apache จะเข้าใจว่าไฟล์ทั้งหมดใน Directory นั้นเป็น CGI Scripts อาจเป็นวิธีที่ง่ายที่สุดในการรัน CGI Scripts บน Apache บรรทัด ScriptAlias ปกติจะมีลักษณะดังนี้ในไฟล์ httpd.conf ของ Apache Web Server
ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/
การรัน CGI จาก Directory เฉพาะที่ไม่ใช่ Default
คุณอาจใช้การตั้งค่าต่อไปนี้เพื่อเตรียม Directory เฉพาะให้รัน CGI Files
<Directory /usr/local/apache2/htdocs/somedir>
Options +ExecCGI
</Directory>
ที่ 'somedir' คือ Directory ที่คุณต้องการ
หากใช้การตั้งค่าข้างต้น ต้องระบุเพิ่มเติมดังนี้ เพื่อบอก Server นามสกุลไฟล์ CGI ที่ต้องการรัน
AddHandler cgi-script .cgi .pl
บรรทัดข้างต้นบอก Apache ให้รันไฟล์ที่มีนามสกุล .cgi และ .pl เป็น CGI
User Directories
หากต้องการรัน CGI Files จาก User's Directory ให้ใช้ดังนี้ -
<Directory /home/*/public_html>
Options +ExecCGI
AddHandler cgi-script .cgi
</Directory>
ข้างต้นบอก Apache ให้รันไฟล์ .cgi ทั้งหมดใน User's Directory เป็น CGI
อีกครั้ง หากต้องการรันไฟล์ทั้งหมดใน User's Directory เป็น CGI ให้ใช้ -
<Directory /home/*/public_html/cg-bin>
Options +ExecCGI
SetHandler cgi-script
</Directory>
การใช้ .htaccess
หากไม่มีสิทธิ์เข้าถึง httpd.conf ไฟล์ อาจใช้ .htaccess เพื่อรัน CGI Scripts เพื่อใช้ไฟล์บางนามสกุลเป็น CGI ตั้งค่า .htaccess ดังนี้ -
Options +ExecCGI
AddHandler cgi-script cgi pl
หากต้องการรันไฟล์ทั้งหมดใน Directory เป็น CGI ให้ใช้ -
Options +ExecCGI
SetHandler cgi-script