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