ผมจะรัน CGI ด้วยภาษาไพทอลบน windowXPได้อย่างไร ควรใช้ webserver อันไหนหรือใช้ IIS ได้และตั้งค่าอย่างไรช่วยทีครับ
Printable View
ผมจะรัน 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 ไว้ก่อนQuote:
ลิงค์ที่เคยให้ไว้ ตอนนี้เปลี่ยน 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