在windows 上安装bugzilla

 在网上找了一些如何在windows 上安装bugzilla的文章,感觉不是太麻烦,就是细节不太清楚,花了几天时间终于在windows 2003上安装好了bugzilla,把我的安装过程详细的写下来,这样大家就不用走弯路了。这篇文章只针对bugzilla 2.18rc3,别的版本我没有试过。另外,我也不懂perl脚本。


一、安装Mysql
1、下载Mysql(http://www.mysql.com/),我下载的是mysql-4.0.15-win.zip,直接安装即可。同时可以下载安装MySQL Administrator 1.0,这是mysql的管理软件,挺好用的。
2、修改mysql的root用户密码
E:\>cd mysql
E:\mysql>cd bin
E:\mysql\bin>mysql -u root mysql
mysql>UPDATE user SET Password=PASSWORD('<new_password'>) WHERE user='root';
mysql>FLUSH PRIVILEGES;
其中<new_password>为root用户的新密码。更改密码后,要用root用户访问mysql,必须使用mysql -u root -p,按提示敲入正确的root密码。
3、创建bugs用户,并赋给相应的权限
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX, ALTER,CREATE,DROP,REFERENCES,LOCK TABLES,CREATE TEMPORARY TABLES ON bugs.* TO bugs@localhost IDENTIFIED BY '<bugs_password>';
mysql> FLUSH PRIVILEGES;
要记住bugs用户的密码,在下面的bugzilla配置文件要用。
4、创建bugs数据库
mysql>create database bugs;

二、下载Bugzilla(www.bugzilla.org
现在最新版是bugzilla-2.18rc3,下载下来后解压到e:\Bugzilla

三、安装Perl (这一节可以参考bugzilla的文档)
1、下载ActivePerl(http://www.activestate.com/),我下载的是ActivePerl-5.8.4.810-MSWin32-x86.msi,安装到e:\Perl(安装路径可自定,以下同)
在e:\bugzilla目录下执行
e:\bugzilla>perl checksetup.pl

此脚本会检查需要的模块是否已经安装,同时初始化数据库,最后要求输入管理员的邮件地址、用户名和密码。第一次会说连不到数据库,找到 e:\Bugzilla\localconfig文件,打开找到$db_pass = '';这一行,在引号中填入前面一步中给bugs用户分配的密码,保存。

仔细看返回的提示信息,看看哪些模块还没有安装。然后,安装必须的模块,先执行
c:\>ppm repository add oi http://openinteract.sourceforge.net/ppmpackages

然后用以下命令安装:
c:\>ppm install <模块名>

如果你要安装可选的模块:
执行以下命令添加下载模块的地址
C:\>ppm rep add glob http://glob.com.au/ppm

然后用以下命令安装:
c:\>ppm install <模块名>

每个模块安装成功后会显示类似下面一行的信息:
Successfully installed AppConfig version 1.52 in ActivePerl 5.8.4.810.

四、配置IIS
1、打开控制面板->管理工具->Internet Information Services, 再Default Web Site右键选择Properties-> Home Dictory-> Configuration,在App Mappings中可以看到扩展名为.pl和.plx的文件已经添加到了这里面,双击.pl这一行,打开其属性对话框,在“动作”中选“全部动作”,同样 修改.plx这一行;然后再添加一行,参数如下:

可执行文件: D:\Perl\bin\perl.exe -T "%s" %s
扩展名: .cgi
动作: 全部动作

注意:这个“-T”一定要加,否则访问时会报错:Too late for "-T" option at e:\bugzilla-2.18rc3\index.cgi line 1.(网上很多文章都没有提到这个,害我找了半天)

2、在Default Web Site右键选择“新建-》虚拟目录”,你可以给这个虚假目录起一个名字,例如“bugzill”,指向e:\Bugzilla目录,在默认页中加入“index.cgi”。

3、打开浏览器,在地址栏输入:http://localhost/bugzilla,看到bugzilla的页面就表示安装成功,现在可以正常使用了。

五、邮件发送配置
由于bugzilla默认使用的是sendmail来发送邮件的,在windows上要想能发送邮件还要修改几个地方。
1、打开e:\bugzilla-2.18rc3\目录下的CGI.pl、\Bugzilla\BugMail.pm和\Bugzilla\Token.pm文件,找到如下内容(可能略有不同):

    open SENDMAIL, "|/usr/lib/sendmail -t -i";
    print SENDMAIL $msg;
    close SENDMAIL;

换成

 use Net::SMTP;
 my $smtp_server = 'smtp.163.com';  # 这里换成你自己使用的邮件服务器地址

 # Use die on error, so that the mail will be in the 'unsent mails' and
 # can be sent from the sanity check page.
 my $smtp = Net::SMTP->new($smtp_server) ||
   die 'Cannot connect to server \'$smtp_server\'';

 $smtp->auth('youname@163.com', 'password') or die "auth error\n";   # 这里换成你自己使用的邮件服务器上的用户名和密码
 $smtp->mail('younam@163.com'); # 这里换成你自己使用的邮件地址

 $smtp->to($login); #注意这里,每个文件中的login参数名称是不一样的
 $smtp->data();
 $smtp->datasend($msg); #注意这里,每个文件中的msg参数名称是不一样的
 $smtp->dataend();
 $smtp->quit;

2、安装perl的 Net::SMTP 模块
在DOS窗口中,执行以下命令添加下载模块的地址
C:\>ppm rep add glob http://glob.com.au/ppm

然后用以下命令安装:
c:\>ppm install Net::SMTP

会提示说找到了多个模块(有3个),并列出这些模块的名称

3、根据上一步中列出的模块名称,再次用ppm install<模块名> ,把列出的这三个模块全部安装上。

4、把下面的内容保存到c:\test.pl文件中,

#test.pl

#!/usr/local/bin/perl -w   
use Net::SMTP;   

$smtp = Net::SMTP->new('smtp.163.com');    # 这里换成你自己使用的邮件服务器地址

    $smtp->auth('yourname@163.com', 'password') or die "auth error\n"; # 这里换成你自己使用的邮件服务器上的用户名和密码
    $smtp->mail('yourname@163.com'); # 这里换成你自己使用的邮件地址
    $smtp->to('yourname@163.com'); #这里是接收地址
    $smtp->data();      
    $smtp->datasend("To: yourname@163.com\n");
    $smtp->datasend("\n");
    $smtp->datasend("中文内容一\nsecond line\n第三行third line");
    $smtp->dataend();   
    $smtp->quit;

然后运行 c:\>perl test.pl

5、到你的邮箱中看看是不是收到了一封新邮件?收到了就表示邮件可以正常工作了。如果没有收到,检查2、3、4步。

六、汉化
1、把e:\bugzilla-2.18rc3\template\en 在原目录下复制一份,目录为e:\bugzilla-2.18rc3\template\cn。
http://www.sourceforge.net, 找到bugzilla-cn,目前版本只有2.17.99,不过一样可以使用(有部分页面会和2.18不一样),文件名是:bugzilla-2.17- cn-0.99-withCSS.tar.gz。下载下来后解开到e:\bugzilla-2.18rc3\template目录下,覆盖cn目录下的文 件。

2、打开浏览器,在地址栏输入:http://localhost/bugzilla,点击页面下方的“Parameters”链接,修改其中的“languages”和“defaultlanguage”的属性值为“cn”,提交页面,就可以看到中文页面了,如果没有看到中文,刷新一下就应该可以了。


参考:
http://www.kuihua.net/bbs/dispbbs.asp?boardid=1&rootid=1035&id=1035&star=1&skin=

http://blog.csdn.net/ycw/archive/2004/02/07/4187.aspx

http://blog.csdn.net/s00n/archive/2004/09/20/111065.aspx


posted @ 2014-10-08 11:56  湖心北斗  阅读(1282)  评论(0编辑  收藏  举报