純綠色安裝bugzilla
bigtall最近喜歡上了綠色軟件,主要原因是它可以最大限度地保證不拖累我的機器運行。因為bigtall個人工作的需要,在自己機器上安裝了一個svn的服務器,把七七八八的代碼全部塞到了里邊,裝起來很簡單,下載zip包直接解壓縮就可以了,不過這是題外話,跟本文無關。
我用的操作系統(tǒng)是vista旗艦版,要綠色安裝bugzilla,首先需要下載如下的東西:
請允許bigtall給大家解釋一下我們要下載的東西:
- xampp是一個綠色安裝版的集合,里邊包括了apache、mysql、php、perl、myphpadmin、ftp server、mail server等等,xampp是我們綠色軟件發(fā)燒友裝機必備的工具,老少咸宜,童叟無欺,安裝簡單,使用方便,是居家編程必備良友!
- 以上的xampp并不包含完整的perl環(huán)境,所以我們需要下載一個額外的包perl addon。
- bugzilla環(huán)境,就是我們本文的主要目的了。(如果有人看不懂,請舉手!)
- 國內朋友翻譯的中文包,可惜版本太老了,會出現(xiàn)一些錯誤,有人想要繼續(xù)漢化的請加油!
注意:目前xampp的最新版是1.6.4,但是請不要下載,因為其中的apache2.2.6包含了一個嚴重的bug,導致所有fast cgi接口的程序都無法使用,包括我們要用的perl。
隨后就是安裝步驟了,請大家跟bigtall一起按照步驟繼續(xù):
- 解壓縮xampp win32 1.6.3a到你指定的目錄,這里bigtall的目錄是d:\tools\net\xampp。下文的路徑都按照bigtall的實際安裝路徑,請大家操作時候注意更改。
- 解壓縮xampp perl addon到同一個目錄
- 運行目錄下面的setup_xampp.bat,它會遍歷里邊各個部件的配置文件,把里邊的路徑修改成正確的路徑。
- 啟動apache_start.bat和mysql_start.bat,然后瀏覽器中訪問http://localhost,你可以看到正常的頁面,并且phpinfo和perlinfo頁面都可以返回正確的內容的話。恭喜你,第一階段已經(jīng)完成了。如果你愿意用phpMyAdmin的話,記得去D:\tools\net\xampp\phpMyAdmin\config.inc.php文件中修改一下mysql的root用戶的密碼(默認沒有密碼)。
- 解壓縮bugzilla到你指定的目錄,這里bigtall解壓縮到d:\tools\net\bugzilla中。
- 接下來我們開始配置d:\tools\net\xampp\apache\conf\httpd.conf,在文件的最后一行加入
Include conf/extra/apache-bugzilla.conf
然后生成一個新文件D:\tools\net\xampp\apache\conf\extra\apache-bugzilla.conf,輸入如下的內容:Alias /bugzilla "d:/tools/net/bugzilla"
<Directory "d:/tools/net/bugzilla">
Options ExecCGI All
AllowOverride All
ScriptInterpreterSource Registry-Strict
Order allow,deny
Allow from all
</Directory>當然也可以把這個內容直接放到httpd.conf中的。
- 修改mysql的配置文件D:\tools\net\xampp\mysql\bin\my.cnf,把包含skip-innodb的行注釋掉(行首加#符號即可),然后把隨后的innodb_開頭的5行取消注釋(把行首的#去掉),set-開頭的5行取消注釋。保存修改。
- 切換到mysql\bin目錄下,運行命令mysql --user=root -p mysql,并在mysql>提示符下依次輸入如下的命令:
create database bugs;
grant all privileges on bugs.* to 'bugs'@'localhost' identified by 'sockmonkey';
flush privileges;
quit
然后重新用命令mysql --user=root -p mysql,在mysql>提示符下依次輸入
set password for 'bugs'@'localhost' = OLD_PASSWORD('sockmonkey');
quit
本步驟也可以通過phpMyAdmin來進行。 - 用notepad創(chuàng)建文件cgi.reg,輸入如下內容之后,用regedit導入:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.cgi]
[HKEY_CLASSES_ROOT\.cgi\Shell]
[HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI]
[HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command]
@="d:\\tools\\net\\xampp\\perl\\bin\\perl.exe -T" - 打開命令行cmd.exe,我們準備開始補全bugzilla所需的perl模塊。依次運行如下的命令:
set path=d:\tools\net\xampp\perl\bin;%path%
ppm rep add Bugzilla http://landfill.bugzilla.org/ppm
ppm install AppConfig
ppm install TimeDate
ppm install DBI
ppm install DBD-mysql
ppm install Template-Toolkit
ppm install MailTools
ppm install GD
ppm install Chart
ppm install GDGraph
ppm install Net::LDAP
ppm uninstall PatchReader
ppm install http://landfill.bugzilla.org/ppm/PatchReader.ppd如果運行出現(xiàn)ppm install failed字樣,則運行ppm.bat打開圖形界面,選擇安裝失敗的模塊重新安裝一下即可。
- 將當前目錄切換到bugzilla所在目錄,運行perl checksetup.pl檢查所需的perl模塊是否都安裝成功。這里要注意的是checksetup.pl結果報告中
***********************************************************************
* REQUIRED MODULES *
***********************************************************************和
**********************************************************************
* OPTIONAL MODULES *
**********************************************************************的區(qū)別,bigtall就是因為沒看清,結果為了一個可選的PerlMagick模塊忙乎了半天。我們只需要安裝必要的模塊。
- 在所有bugzilla所需的模塊都安裝好之后,checksetup.pl會在bugzilla目錄下生成一個localconfig文件。修改localconfig中的$db_name,$db_user和$db_pass為你在步驟8設置的內容,這里應該是"bugs","bugs"和'sockmonkey'。
- 使用xampp目錄下的apache_stop.bat和mysql_stop.bat停止apache和mysql,然后再重新用apache_start.bat,mysql_start.bat和mercury_start.bat分別啟動apache,mysql和mercury郵件服務。
- 在mercury的界面菜單configuration/manage local user界面中添加用戶bugzillaAdmin。
- 繼續(xù)運行perl checksetup.pl直到報告安裝成功。當腳本詢問管理員電子郵件的時候,輸入bugzillaAdmin@127.0.0.1。
- 瀏覽器訪問http://localhost/bugzilla,此時應該出現(xiàn)bugzilla的登錄頁面,用用戶名bugzillaAdmin@127.0.0.1登錄即可。
安裝時候可能會遇到如下的問題:
- 安裝perl模塊PathTools(其他模塊也有可能)的時候可能會出現(xiàn)如下錯誤提示:ppm install failed: File conflict; package File-Spec already provide
/perl/site/lib/File/Spec/Functions.pm
解決方法就是進入ppm圖形界面,把模塊File-Spec刪除之后重新安裝PathTools模塊。 - 訪問http://localhost/bugzilla的時候出現(xiàn)錯誤內容,提示couldn't create child process: 720003: index.cgi ,解決方法參考步驟9。
- 如果出現(xiàn)訪問時候報告500錯誤,apache日志中出現(xiàn)“Error reading ./data/params: Bad file descriptor at Bugzilla/Config.pm line 315.”字樣,則把bugzilla/data/params文件刪除掉,重新運行perl checksetup.pl即可修復,修復之后系統(tǒng)會提示需要重新設置幾個主要參數(shù)。
參考文獻:

公眾號:老翅寒暑
浙公網(wǎng)安備 33010602011771號