วิธีลงอ่านมาจาก http://code.google.com/p/modwsgi/wiki/IntegrationWithTurboGears. ที่เขียนนี้ผมยังไม่ได้ลองใช้ userdir เลย คิดว่าน่าจะซับซ้อนขึ้นมาก. จริงๆ แล้วแค่เปลี่ยน url จาก localhost ไปเป็น localhost/tg ก็เจ๊งแล้ว :-P.
เริ่มจากแก้ไฟล์ /etc/apache2/mod_enabled/mod-wsgi.conf:
<IfModule mod_wsgi.c>
WSGIScriptAlias / /home/veer/tg/tgapp/apache/tg.wsgi
<Directory /home/veer/tg/tgapp/apache>
Order deny,allow
Allow from all
</Directory>
</IfModule>
เสร็จแล้วก็สร้าง folder ชื่อ /home/vee/tg (mkdir /home/veer/tg) แล้วก็สร้าง python-eggs ใน /home/veer/tg ไว้เป็น cache แล้วผมก็เปลี่ยน permission ของ python-eggs เป็น 777 เลย เพราะว่า user id ของ folder กับ apache ต่างกัน … จริงๆน่าจะมีวิธีแก้ที่ดีกว่านี้ แต่ผมคิดว่าเอาง่ายให้ได้ก่อนดีกว่า
จากนั้นใน /home/veer/tg ก็เรียก tg-admin quickstart tgapp ตอบๆ อะไรไปหน่อยก็จะได้ folder ชื่อ /home/veer/tg/tgapp ขึ้นมา ในนั้นก็สร้าง /home/veer/tg/tgppp/apache/tg.wsgi ขึ้นมา ข้างในก็ลองมาตามตัวอย่างเลย แต่ก็แอบแก้ path กับชื่อ project นิดหน่อย
import sys
sys.path.append('/home/veer/tg/tgapp')
sys.stdout = sys.stderr
import os
os.environ['PYTHON_EGG_CACHE'] = '/home/veer/tg/python-eggs'
import atexit
import cherrypy
import cherrypy._cpwsgi
import turbogears
turbogears.update_config(configfile="dev.cfg", modulename="tgapp.config")
turbogears.config.update({'global': {'server.environment': 'production'}})
turbogears.config.update({'global': {'autoreload.on': False}})
turbogears.config.update({'global': {'server.log_to_screen': False}})
import tgapp.controllers
cherrypy.root = tgapp.controllers.Root()
if cherrypy.server.state == 0:
atexit.register(cherrypy.server.stop)
cherrypy.server.start(init_only=True, server_class=None)
application = cherrypy._cpwsgi.wsgiApp
เสร็จแล้วก็ restart apache ( sudo /etc/init.d/apache2 restart ) แล้วก็เปิดเว็บดูที่ localhost ก็ดูได้ตามรูป
แต่ว่าก็ยังเหลืออะไรที่ต้องแก้อีกมากมาย พื้นก็เปลี่ยน url จาก localhost ไปเป็น localhost/tgapp ผมก็ยังทำไม่ได้เลย :-P

[...] ทำให้ Turbogears + mod_wsgi ใช้งานกับ non-root mounted app Filed under: Uncategorized — वीर @ 3:16 pm Tags: apache, deploy, mod_wsgi, non-root mounted app, python, turbogears, web framework, wsgi วิธีทำจริงๆ ก็อ่านจาก http://www.lucasmanual.com/mywiki/TurboGears#head-57ee578707aa057229eb1171a8e4aeb553bd6d3a มาเกือบหมด. แต่ว่าเขียนเสียหน่อยเพื่อความต่อเนื่องจากที่เขียนไว้เดิม. เริ่มจากแก้ /home/veer/tg/tgapp/apache/tg.wsgi: [...]
Pingback โดย ทำให้ Turbogears + mod_wsgi ใช้งานกับ non-root mounted app « वीर — 18 มิถุนายน 2008 @ 15:16
ลองดูแล้วพบว่า userdir ทำงานร่วมกับ fastcgi เวิร์คสุดครับ เสียแต่ช้าหน่อย
Comment โดย LewCPE — 18 มิถุนายน 2008 @ 16:31
[...] ด้วยพื้นฐานจากการใช้ mod_wsgi+userdir , การใช้ mod_wsgi กับ Turbogears และ การใช้ mod_wsgi กับ Turbogears แบบ non-root-mount. [...]
Pingback โดย mod_wsgi + userdir + Turbogears « वीर — 18 มิถุนายน 2008 @ 17:26
fastcgi ใช้กับ userdir แล้วต่างจาก mod_wsgi อย่างไร? (ผมก็พึ่งเคยลองเล่นพวกนี้ครั้งแรกอะ ยังไม่ได้ลอง mod_python กับ fastcgi เลย)
Comment โดย वीर — 18 มิถุนายน 2008 @ 18:21