用Apache配置Roundup
我觉得我需要的指导比文档里提供的要多一些,而且关于Roundup和Apache的具体内容很难找到。
我现在想做的就是让Apache显示独立服务器在运行roundup-server support=C:/Roundup/
时的效果。
我是在Windows XP上运行Apache 2.2和Python 2.5,使用的是Roundup 1.4.6。
我没有其他特别的备注,所以如果有人已经成功运行了这个,能不能请你分享一下你的配置,我看看能不能从中找到解决办法 :) 在我确认我的httpd.conf
文件是正确之前,我不指望有人来分析我遇到的403禁止访问错误。
提前谢谢大家!
2 个回答
1
在Apache服务器上运行roundup其实很简单,只要你使用mod_wsgi这个工具。
不过可惜的是,我已经不再使用roundup了,所以手头没有我的wsgi脚本可以给你参考。不过你可以通过这个mod_wsgi邮件列表的讨论来找到相关的信息,应该能帮你搞明白的。
3
首先,需要启用以下模块:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
接下来,需要添加以下几行代码,以确保对 /issues/ 的任何请求都能指向已经在运行的 roundup-server 线程。Apache 实际上并不处理代码,它只是把请求转发过去!就像下面这样,我现在只关心让一个追踪器运行,至于其他的就不考虑了,因为它是在一个有其他模块的服务器上运行的,我真的不太确定如何在我的域名上设置虚拟主机。
<IfModule mod_proxy.c>
# proxy through one tracker
ProxyPass /issues/ http://localhost:80/issues/
# proxy through all tracker(*)
#ProxyPass /roundup/ http://localhost:80/
</IfModule>
就这样 :) 只要确保你在后台运行着 roundup-server -p 8080 issues=C:/Roundup/,它就应该能通过 Apache 接受请求。