在apache下发布了bugzilla

author: emu(黄希彤)

终于要到一台新的项目服务器,把旧的东西一一挪到新服务器上来。在挪bugzilla的时候遇到一些问题。原来的服务器上面装的是2.18rc2版,使用的汉化模版却是2.18rc3版的,在老服务器上工作良好,但是在新服务器上中文版的模版无论如何都无法在IIS上发布出来,始终报告一个访问拒绝错误。去下了2.18rc3版的bugzilla过来,仍是相同的问题。本来就看着IIS很不爽了,试了几次不成功,换apache试试,结果和IIS抢端口了,干脆就把IIS给卸了。

跟着http://www.bugzilla.org/docs/win32install.html一步一步来。做到最后发布的时候没有看到发布成功的首页,却看到了一个错误页面。进Program Files\Apache Group\Apache2\logs下面看error.log:

[Tue Mar 15 18:55:04 2005] [notice] Child 4488: Starting 250 worker threads.
[Tue Mar 15 18:55:10 2005] [error] [client 127.0.0.1] (OS 3)系统找不到指定的路径。 : couldn't create child process: 720003: index.cgi
[Tue Mar 15 18:55:10 2005] [error] [client 127.0.0.1] (OS 3)系统找不到指定的路径。 : couldn't spawn child process: C:/bugzilla-2.18/index.cgi
[Tue Mar 15 18:59:05 2005] [notice] Parent: Received shutdown signal -- Shutting down the server.
[Tue Mar 15 18:59:05 2005] [notice] Child 4488: Exit event signaled. Child process is ending.
[Tue Mar 15 18:59:06 2005] [notice] Child 4488: Released the start mutex

couldn't create child process —— 原来是无法创建子过程。看来是没有找到perl.exe。在这个问题上,安装指南说:

In order for ScriptInterpreterSource Registry-Strict to work, you also need to add an entry to the Registry so Apache will use Perl to execute .cgi files.

Create a key HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command with the default value of the full path of perl.exe with a -T parameter. For example C:\Perl\bin\perl.exe -T

Create a key HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command嘛,所以我就创建了HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI项然后在下面加了一个Command的key。不过既然出错了,不妨试试另一种理解,创建一个HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command项,再在下面的默认key上给了一个C:\Perl\bin\perl.exe -T 。重起apache。果然就ok了。应该这段文档的描述是有问题的。

最后上http://www.glob.com.au/sendmail/下载了sendmail,解压到C:\usr\lib下,在sendmail.ini里面修改smtp_server、default_domain、auth_username、auth_password(后面两项默认的被用分号注释掉,如果使用的smtp需要身份验证的话就去掉分号并填上正确的用户名密码),把服务器防火墙的25端口打开。试试改个bug,邮件就发出去了,大功告成。

author: emu(黄希彤)

你可能感兴趣的:(apache,OS,cgi,perl,IIS)