在Windows XP上运行Python CGI脚本
我有一台装了Windows XP的电脑,上面通过VisualSVNServer安装了Apache。我想在浏览器里运行一个简单的Python CGI脚本,比如这个链接:http://build.procepts.com.au:8080/hg/cgi-bin/test.cgi。可是,不管我尝试了多少推荐的方法,浏览器总是只显示CGI脚本的纯文本。为了找到解决办法,我还按照这里的说明进行了尝试。我的最终目标是希望能用Apache服务器来提供一个新的Mercurial安装的仓库。既然Apache已经通过VisualSVNServer安装好了,我想干脆利用它。请问还有什么其他的方法可以让这个工作正常吗?
2 个回答
0
我不确定这是否适用于VisualSVNServer,但在一般的Apache服务器上,你至少需要做以下几件事:
在Apache配置文件中取消对CGI模块的注释:
LoadModule cgi_module modules/mod_cgi.so (or similar)
允许在你的目录中执行CGI脚本,并为.py脚本添加一个处理器:
<Directory /path/to/scripts/directory> Options +ExecCGI AddHandler cgi-script py </Directory>
在要执行的脚本中插入一个shebang行:
#!/usr/local/bin/python
1
VisualSVNServer自带的Apache服务器是一个简化版,只能满足基本的SVN仓库服务需求。它不支持cgi功能。
不过,添加cgi支持(或者其他模块)其实很简单。
具体来说,要添加cgi支持,你需要获取一个为Apache 2.2 Win32构建的“mod_cgi.so”文件,并把它放到“C:\Program Files\VisualSVN Server\bin”这个文件夹里。然后在:
LoadModule cgi_module bin/mod_cgi.so
ScriptAlias /cgi-bin/ cgi-bin/
中添加一段代码到“C:\Program Files\VisualSVN Server\conf\httpd-custom.conf”文件里。重启VisualSVN后,它就应该可以正常工作了。