在windows2003Server上安装bugzilla+apche

前言:今天终于搞定了bugzilla在apache下的配置,真是$%*(^*(!      唉~废话不说了,切入正题:


安装环境:

1. apache_2.0.61-win32-x86-no_ssl.msi    (PS:为什么这个版本?因为这个版本据我发现兼容性最强……新出的版本很多应用不能部署)

2. ActivePerl-5.8.4.810-MSWin32-x86.msi (PS:新版本下某些模块可能找不到,推荐使用这个版本!)

3. bugzilla3.0.2 (最新的3.0.3出来了,但是刚好是在我下了3.0.2以后两天出来的…… 在windows2003Server上安装bugzilla+apche - Edison - 飞)

4. Mysql5.0.22


安装步骤

1. 把bugzilla解压缩后放到自己的目标位置,在我这里是C:\www\下面;

2.提前给bugzilla创建好数据库:

c:\mysql -u root -p

Enter password:*****

mysql>create database bugs;

mysql>grant all on bugs.* to 'bugs'@'localhost' identified by 'bugs';

OK,搞定。注意,自己要改密码哦。我这里设置的密码是'bugs'。

3.安装ActivePerl,安装完成后,打开CMD,运行bugzilla目录下的checksetup.pl,这个操作会告诉你安装bugzilla所需要的所有的模块的安装情况。参考提示,增加新的ActivePerl的后台:

 ppm repo add theory58S http://theoryx5.uwinnipeg.ca/ppms

然后将theory58S这个后台调整到首位置:

 ppm repo up theory58S

运行个几次,知道看到theory58S处于【1】

4. 在刚才打开的CMD里面输入ppm ,再新开一个CMD运行checksetup.pl(方便观察哪些模块需要安装),然后开始安装模块,命令如下:

 ppm>install DBI

可以看到bugzilla有必须安装的模块和选装的模块,按照他们的名字依次install。

PS:一些朋友可能使用代理上网(像可怜的偶,公司的网必须通过代理,慢不说,而且屏蔽了N多网站, 在windows2003Server上安装bugzilla+apche - Edison - 飞555),这时就需要设置代理,在环境变量里面增加如下:(别问我如何增加环境变量,BS你 在windows2003Server上安装bugzilla+apche - Edison - 飞

 Variable name: http_proxy

 Variable path: http://edison:abcd@10.171.20.10:8080

确定以后,重新开一个CMD,这时proxy才能生效,注意自己的username和password哦,可别把我的抄上去了。我的密码?废话,当然不可能是真的,嘿嘿! 在windows2003Server上安装bugzilla+apche - Edison - 飞

5. 按照checksetup.pl提示的模块依次安装后,再次运行checksetup.pl,看看还差什么不。如果必须安装的组件已经安装完毕,会提示你在bugzilla目录下产生一个localconfig的配置文件,那么,离胜利不远了~

6. 到bugzilla目录下打开localconfig文件,修改如下行:

 $db_pass='bugs';                           这个是刚才创建的bugs用户的密码

$db_port=3306;                               对应你机子上mysql的端口,也可以不改

$index_html=1;                                这个可以生成html页面,可以不改

保存关闭后,再次运行checksetup.pl,如果成功,会看到开始创建bugzilla的数据库。


OK,到了最让人BS的地方了,本人就是在这里费了N长时间,郁闷啊~ 在windows2003Server上安装bugzilla+apche - Edison - 飞

bugzilla在apache下的安装方式有两种,一种是使用CGI模式,一种是用per_mod,前者配置比较麻烦,后者配置简单,但是据说很占系统资源,没有亲试。


一 使用CGI方式配置:

1. 打开apche的http.conf文件,找到

 #AddHandler cgi-script .cgi

将其前面的#号去掉,表示apache会处理cgi的脚本文件

2. 在http.conf文件末尾添加如下内容:

 Alias /bugzilla "C:\www\bugzilla-3.0.2"
<Directory "C:\www\bugzilla-3.0.2">
Options +Indexes +ExecCGI +FollowSymLinks
DirectoryIndex index.cgi index.html index.html.var
AllowOverride Limit
Order allow,deny
Allow from all
ScriptInterpreterSource Registry-Strict
</Directory>

重新启动apche!

PS:注意到ScriptInterpreterSource Registry-Strict这一行,这一行本来是注册CGI文件到注册表去,然而实际上没起作用! 我试过手工添加

HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command修改默认值为%perl的安装路径%\bin\perl.exe -T

但是实际上在登录http://localhost/bugzilla/时,还是会出现500错误!!!!!

查error.log可以发现原来系统还是没有执行.cgi文件!

怎么办呢?——直接改.cgi文件!!!!!这个方法是在我历经千辛万苦之后终于发现的……我的个神啊!这样的问题最让人郁闷啊! 在windows2003Server上安装bugzilla+apche - Edison - 飞

3. 下个文件批量修改工具吧! 在windows2003Server上安装bugzilla+apche - Edison - 飞把bugzilla文件夹下所有的.cgi文件中开头的

 #!usr/bin/perl -wT

改成

 #!C:\Perl\bin\perl -wT

即你机子上perl.exe的位置!!!

好了,这次再登录http://localhost/bugzilla,看到那只恶心的蚂蚁了吧? 在windows2003Server上安装bugzilla+apche - Edison - 飞


二 使用mod_perl

在下载安装模块时,如果下载了mod_perl,会提示你文件放置的位置,选则到apache的module文件夹下。

1. 打开apache的http.conf文件,增加:

  LoadFile   "C:\perl\bin\perl58.dll"  
  LoadModule   perl_module   modules/mod_perl.so  
   
  AddHandler     perl-script     .pl  
   
  Alias   /bugzilla  "C:\wwwroot\bugzilla-3.0.2"  
  <Location   /bugzilla>  
      SetHandler   perl-script  
      PerlResponseHandler   ModPerl::Registry  
      Options   +ExecCGI  
      PerlOptions   +ParseHeaders  
  </Location>  

 

PS:这部分我自己没做通,头大了 在windows2003Server上安装bugzilla+apche - Edison - 飞,apache竟然提示说找不到mod_perl.so!OMG!这里是从别的地方摘抄来的资料。

不做了,有兴趣的朋友如果做通了请留言,让偶也学习学习~


OK,大功告成,来嘴个吧?  在windows2003Server上安装bugzilla+apche - Edison - 飞
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值