在網上找了一些如何在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
作者Blog:http://blog.csdn.net/acsu/