ผมจะรัน CGI ด้วยภาษาไพทอลบน windowXPได้อย่างไร ควรใช้ webserver อันไหนหรือใช้ IIS ได้และตั้งค่าอย่างไรช่วยทีครับ
ผมจะรัน CGI ด้วยภาษาไพทอลบน windowXPได้อย่างไร ควรใช้ webserver อันไหนหรือใช้ IIS ได้และตั้งค่าอย่างไรช่วยทีครับ
จากที่ลอง หาข้อมูลดูลองเข้าไปดูเว็บนี้ดูนครับhttp://www.cs.virginia.edu/~lab2q/lesson_1/
การตั้งค่า Apache สำหรับภาษาไพธอน
ขั้นที่ 1: ติดั้งไพธอน
ขั้นที่ 2: สคริปต์เก็บไว้ที่ไดรว์เดียวกัน
ขั้นที่ 3: ตรวจสอบ PATH ที่เรียก python.exe
ขั้นที่ 4: สร้างตัวแปร PYTHONPATH ใช้ค้นหา Python
ขั้นที่ 5: ใช้ ASSOC ในการติดตั้งไฟล์สำหรับไพธอน
ASSOC .py = PythonScript
ขั้นที่ 6: ใช้ FTYPE กับไพธอนที่สามารถเอ็กซีคิวส์ได้
FTYPE PythonScript = python.exe %1 %*
ขั้นที่ 7: เพิ่ม extension .py ในตัวแปร PATHEXT เช่น
PATHEXT = .EXE; .COM; .BAT; .CMD; .PY
ขั้นที่ 8: ติดตั้ง Apache ลงบน c:Apache
ขั้นที่ 9: แก้ไข C:WINNTsystem32driversetchosts โดยเพิ่ม IP Address ของเครื่องท่าน
ถ้าใน UNIX ให้ใช้ /etc/hosts
ขั้นที่ 10: แก้ไขไฟล์ access.conf ดังนี้
<Directory /apache/htdocs>
Options Indexes ExecCGI for Python/CGI scripts>
ขั้นที่ 11: แก้ไขไฟล์ httpd.conf โดยแก้ดังนี้
ServerRoot /apache
ขั้นที่ 12:ไฟล์ srm.conf เปลี่ยนต่อไปนี้ PYTHONPATH ใช้คำสั่ง SetEnv แทน มี 2 การตั้งค่า คือ Extension ของ CGI เช่น .cgi แน่ใจว่าท่านใช้ python ใน unbuffered mode (SetEnv PYTHONUNBUFFERED 1)
PYTHONPATH เป็นตัวแปรระบบ ดังนี้
DocumentRoot /apache/htdocs
ScriptAlias /cgi-bin/ /apache/cgi-bin/
PassEnv PYTHONPATH
SetEnv PYTHONUNBUFFERED 1
AddHandler cgi-script .py
AddHandler cgi-script .cgi
ขั้นที่ 13: เขียนสคริปต์เว็บไว้ใน cgi-bin
ขั้นที่ 14: ถ้าใช้ UNIX ต้องเขียนบรรทัดแรกเพื่อบอกตำแหน่งไพธอนอินเตอร์พรีเตอร์
ขั้นที่ 15: ท่านสามารถตั้ง server ให้รันสคริปต์เฉพาะจาก cgi-bin ไดเร็คทอรี่โดยการใส่โค๊ดต่อไปนี้ใน access.conf
<Directory /path/to/your/httpd/cgi-bin> Options Indexes FollowSymLinks
</Directory>
แทนด้วย
<Directory /path/to/your/httpd/cgi-bin> Options FollowSymLinks ExecCGI
</Directory>
ถ้าท่านต้องการรันสคริปต์จากไดเร็คทอรี่อื่น ๆ แน่ะนำให้ใช้การตั้งค่าเป็น
<Directory /path/to/your/httpd/htdocs> Options All </Directory>
ขั้นที่ 16:กำหนดสิทธิในการอ่านและเอ็กซีคิวส์ในระบบ Unix ท่านควรใช้
chmod 755 yourscript.py
ถึงขั้นตอนนี้ท่านสามารถอ่านเว็บบราวเซอร์ด้วยการใช้ CGI Script
ในระบบ UNIX ถ้า Apache และ Python ติดตั้งอย่างถูกต้อง ท่านต้องวางสคริปต์ไพธอนไว้ที่ cgi-bin และกำหนดสิทธิให้ถูกต้อง
mod_python
mod_python เป็นโมดูลที่สร้างโดยคุณ Gregory Trubetskoy ซึ่งฝังภาษาไพธอนไว้ใน Apache Server อนุญาตให้ไพธอน handlers ที่เขียนด้วยไพธอน มันอยู่ใกล้กับ handler ของ Apache
mod_python เพิ่มความยืดหยุ่น ในการรัน Python1.52 และ apache 1.3
mod_pyapache
ใช้เพิ่มความเร็วในการเอ็กซีคิวส์สคิปต์ CGI ที่เขียนด้วยภาษาไพธอน เพราะว่าเซอร์เวอร์ได้ฝังไพธอนอินเตอร์พรีเตอร์ ดังนั้นประสิทธิภาพจะดีขึ้น
โมดูลนี้มีข้อดีที่ CGI compatible มันทำงานได้ดีเมื่อ CGI Scripts ง่ายและใช้ CGI Control ทังหมด อย่างไรก็ตามโมดูลนี้มีข้อจำกัด เรื่องไม่หลีกเลี่ยงความช้าที่เกิดจากการเชื่อมต่อฐานข้อมูล
AOLserver Web Server
ศึกษาเพิ่มเติมได้ที่ http://pywx.sourceforge.net.
Microsoft IIS และ PWS
ท่านสามารถใช้ได้ทั้ง IIS และ PWS เรียกไพธอนให้ทำงานได้
1. เรียกโปรแกรม REGEDIT.EXE
2. ค้นหาคีย์
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW3SVCParameters
ScriptMap
3. เลือก Edit, New, String Value และใส่ค่าต่อไปนี้
.py :REG_SZ: c: path to python.exe -u %s %s
ตอนนี้ท่านสามารถรันสคริปต์ Python ได้แล้ว ท่านต้องแน่ใจว่าเก็บไฟล์ไว้ในไดเร็คทอรี่ที่สามาร Execute ได้
-u กำหนด unbuffered และ binary mode สำหรับ stdin และป้องกัน cr-nl จากการแปลงขึ้นบรรทัดใหม่
ลำดับต่อไปเปลี่ยน .py เป็น .cgi
.cgi :REG_SZ: c: path to python.exe -u %s %s
=====================
Third-Party Internet Applictions
=====================
Grail Web Browser
Zope Web Application Server
Mailman - GNU Mailing List Manager
LDAP (Lightweight Directory Access Protocol) รันบน TCP/IP
WebLog ล็อกไฟล์
WebDAV/PyDAV
Zebra เป็น XML-based preprocessing language
Linbot เป็น site management tool ใช้วิเคราะห์ site และ user
Python-Friendly Internet Solution Providers (ISPs)
FastCGI
ขอบคุณ nprotech มากเลยครับ จริงๆผมจะหาทางติดต่อเหมือนกันคือ ผมอยากจะขอเอาบทความมาลงให้เผยแพร่นะครับ แต่จาก link ที่เคยทำไว้มันเข้าไม่ได้แล้วไม่ทราบว่ายังมีเก็บไว้ไหมครับ
ลิงค์ที่เคยให้ไว้ ตอนนี้เปลี่ยน Host ไปแล้ว และตอนนี้ผมไม่มีสิทธิ์เข้าไป update อะไรที่นั่นแล้วครับ..
บทความที่เคยให้ไว้ก็เลยถูกลบทิ้งไปด้วยครับ
ขอแสดงความเสียใจด้วยนะครับเป็นผมเองก็ เศร้าเหมือนกันที่ บทความดีๆที่เขียนโดนลบโดยไม่ได้ backup ไว้ก่อนลิงค์ที่เคยให้ไว้ ตอนนี้เปลี่ยน Host ไปแล้ว และตอนนี้ผมไม่มีสิทธิ์เข้าไป update อะไรที่นั่นแล้วครับ..
ไม่ทราบว่าตอนนี้นี้ คุณ nprotech ใช้ host ของที่ไหนอยู่หรือเปล่าครับถ้ายังผมยินดี add ให้เป็น server ที่ support php mysql cgi ด้วยครับ
ตอนนี้ผมไม่มีโฮสนะครับ..
ตอนแรกคิดว่าจะเช่าปีละพันกว่าบาท แต่ก็ยังไม่รู้ว่าจะทำเริ่มอย่างไรล่ะครับ
ถ้าคุณ admin จะกรุณาเอื้อเฟื้อพื้นที่และสคริปต์ต่าง ๆ บนเว็บ ติดต่อผมได้ที่เมล์ nprotech@yahoo.com ครับ
ปล. ผมใช้เครื่อง Touch Panel ความเร็วต่ำและลง window95 ดังนั้น IE จึงเป็นเวอร์ชั่น 3 ไม่แน่ใจว่าโพสเข้ามาแล้วจะอ่านได้หรือเปล่านะครับ.. ถ้าไม่ได้อย่างไรเดี๋ยวผมจะตอบอีกรอบที่เครื่องที่ใช้ประจำครับ
ผมยินดีที่จะ add account ให้ฟรีโดยไม่คิดค่าใช้จ่ายครับ
เพราะอยากจะส่งเสริมคนดีให้ได้เผยแพร่บทความดีให้คนอื่นได้อ่านครับ เดี๋ยวผมจัดการให้แล้วกันนะครับ อาจจะส่ง username password ไปให้ทาง private message ของ webboard นี้ (Private Messages) จะจัดการให้เร็วที่สุดนะครับ
ขอขอบพระคุณอย่างสูงครับ
ไม่เป็นไรครับ ไม่ทราบว่าใช้ MSN หรือเปล่าครับ คืออยากจะหาทางติดต่อสะดวกๆนะครับ
ปล. ตอนนี้ผมรออยู่ในห้อง chat http://202.44.15.205/%7Ecitec/chat/NormalA..._position=38:38
Actions : (View-Readers)
There are no names to display.