由于公司扩大,机器不够用了,原来的bugzilla服务器腾出来供新同事开发,于是只好把bugzilla迁移到项目的服务器上。迁移中间遇到了一些不大不小的问题折腾了半天,都记在这里。 1 原来的服务器是windows2000server,默认带了IIS,新服务器是windows2003enterprise。在装IIS的时候与2000下面有一点小小的不同: 在2000下面是在“控制面板--添加或删除程序--添加/删除windows组件”里面直接在IIS的选择框中打钩,在2003下IIS组件的位置转为“控制面板--添加或删除程序--添加/删除windows组件--应用程序服务器--详细信息”。放安装盘,打上钩,顺利过关。如果没有可用的smtp服务器的话还可用同时安装smtp服务。 2 安装mysql。一开始是在2003下面安装4.1.7正式版,结果有时是服务发起失败,有时是应用安全策略失败,装成功后perl checksetup.pl也一直连不上数据库,这一步浪费的时间最多,回想起来可能因为安装了服务器实例造成的吧,这个版本的mysql运行在一太计算机上安装多个mysql服务的实例,那么连接数据库的时候应该是要指定服务器地址和实例名的,没有心情再回头去尝试了。最后卸载了4.1,并从注册表中清理掉所有的mysql项目后重新安装了4.0.22版才配置成功(4.0没有提示安装实例,大概不支持吧?)。装好后配了bugs用户名和密码已经bugs数据库。 3 安装activeperl。没有去网上找最新版,因为之前用5.8版一直很稳定,多一事不如少一事。 4 把原来的bugzilla目录拷贝到新服务器下。因为原来自己做了一些汉化和本地化的工作,所以没有重新去解下载包而是拷贝原来旧的发布目录。 5 perl checksetup.pl,安装各种ppm。从前折腾的最厉害的一步,现在已经简单多了。根据运行后的提示去找到 http://landfill./ppm,把所有的ppd文件都下载到本地,再把x86目录下面的gz包全部下载到本地的x86目录下(保持ppd和gz文件的相对位置不变就对了),然后逐个 ppm install ***.ppd。不过当时GDGraph.ppd下载后没有安装成功,是用了 ppm install http://landfill./ppm/GDGraph.ppd 才安上的。 6 配localconfig和checksetup.pl,老红宝书上说的$mysql_binaries = "D://mysql//bin//mysql"; 和 $mysqlpath = "D://mysql//bin" 项已经过时很久了,新DBI自己能连到mysql,不用去调mysql命令。所以其实只要配localconfig中的数据库地址、用户名和密码就行了。我用了localhost/bugs/bugs。然后改了 $index_html = 1。$webservergroup好像忘了改,可是也跑的挺欢,可能有默认值吧?配成功后perl checksetup.pl会自动创建表。等它创建完了我把mysql服务停掉,把data目录下的bugs目录删调,拷贝原 来的mysql上的data目录下的bugs目录过来,再开mysql服务,于是新服务就用上了老数据了。 7 修改perl文件这一步在老服务器上做了,只是确认了一下直接拷贝过来的cgi文件都是改好了的。 8 配置IIS,参见红宝书。配完后发现无法访问bugzilla虚拟目录。进一步研究发现其实bugzilla目录下 的两个图片都可以发布,js文件也能下载,因此问题出在perl命令没有被执行。重新检查IIS后发现 windows2003下的IIS有个“服务器扩展”项目,默认所有的CGI功能包括perl和asp都是禁止的。启用了与 perl相关的两项后bugzilla正常运行。 9 配置邮件。其实http://www./docs/2.18/html/os-specific.html上说的很清楚了 把 print SENDMAIL trim($msg) . "/n"; use Net::SMTP; # Use die on error, so that the mail will be in the 'unsent mails' and $smtp->mail('bugzilla-daemon@mycompany.com'); # change this |
|
来自: 云起云落721 > 《svn&bugzilla》