最近項目問題比較多,須要用bug管理軟件進行問題管理。目前維護中的開源bug管理工具首選仍是bugzilla,只是其用的是perl,環境裝起來仍是有些費勁。最後的運行環境是httpd+mysql。html
##運行環境mysql
目前最新的版本是5.0.3的,官方的linux下安裝文檔還算詳細。linux
yum install httpd mysql-server mod_perl mod_perl-devel httpd-devel gd-devel mysql-devel rst2pdf graphviz patchutils gcc 'perl(Apache2::SizeLimit)' 'perl(Authen::Radius)' 'perl(Authen::SASL)' 'perl(Cache::Memcached)' 'perl(CGI)' 'perl(Chart::Lines)' 'perl(Daemon::Generic)' 'perl(Date::Format)' 'perl(DateTime)' 'perl(DateTime::TimeZone)' 'perl(DBI)' 'perl(Digest::SHA)' 'perl(Email::MIME)' 'perl(Email::Reply)' 'perl(Email::Sender)' 'perl(Encode)' 'perl(Encode::Detect)' 'perl(File::MimeInfo::Magic)' 'perl(File::Slurp)' 'perl(GD)' 'perl(GD::Graph)' 'perl(GD::Text)' 'perl(HTML::FormatText::WithLinks)' 'perl(HTML::Parser)' 'perl(HTML::Scrubber)' 'perl(IO::Scalar)' 'perl(JSON::RPC)' 'perl(JSON::XS)' 'perl(List::MoreUtils)' 'perl(LWP::UserAgent)' 'perl(Math::Random::ISAAC)' 'perl(MIME::Parser)' 'perl(mod_perl2)' 'perl(Net::LDAP)' 'perl(Net::SMTP::SSL)' 'perl(PatchReader)' 'perl(SOAP::Lite)' 'perl(Template)' 'perl(File::Which)' 'perl(Template::Plugin::GD::Image)' 'perl(Test::Taint)' 'perl(TheSchwartz)' 'perl(URI)' 'perl(XMLRPC::Lite)' 'perl(XML::Twig)'
###mysql和httpd 安裝mysql,httpd,建立數據庫略。web
###安裝bugzilla正則表達式
下載bugzilla的tar.gz包,解壓(最簡單是解壓到/var/www/html下)。sql
###漢化包 目前能找到的最近版漢化包是csdn上一個5.0.2根據繁體中文修改的,只能湊合用,並且還有兩個文件中掉了兩個END結束語句。解壓zh-CN放到template下。不須要漢化,這步能夠略過。數據庫
###安裝perl各類庫 運行裏面的checksetup.pl腳本檢查安裝環境;bash
$ cd /var/www/html/bugzilla $ checksetup.pl --check-modules
若是是在CentOS6.x,估計會有一堆錯,通常是perl的各類庫的缺失或版本太舊,若是是運行 install-module.pl --all 會使用cpan進行安裝,在國內基本慢到沒法安裝成功。使用cpanm加上國內鏡像,能較快解決這一問題。dom
安裝 cpanm 之後使用,簡單得不行了ide
$ wget http://xrl.us/cpanm --no-check-certificate -O /sbin/cpanm && chmod +x /sbin/cpanm
建議還在 .bashrc 中配置一下別名,指向 163 的 cpan 的鏡象
alias cpanm='cpanm --sudo --mirror http://mirrors.163.com/cpan --mirror-only'
安裝和升級各類包,具體看執行checksetup.pl檢查出來的缺失的必選包(如下是示例);
$ cpanm Date::Format $ cpanm Email::Sender $ cpanm Net::SMTP::SSL $ cpanm IO::Socket::SSL
perl環境搞定後,直接配置數據庫參數,先運行./checksetup.pl,它會在/var/www/html/bugzilla路徑下自動生成一個名爲localconfig的文件。編輯這個文件,裏面比較重要的參數是$db_driver (數據庫類型) 、 $db_name (庫名稱) 、$db_name(用戶名)、$db_pass(密碼), $webservergroup (httpd的運行用戶組)。修改完從新運行checksetup.pl腳本進行檢查,直到沒問題。
裏面還會提示管理員郵箱與密碼等。
###配置httpd服務
這個主要配置是加上目錄執行配置,其他的部分略;
<Directory /var/www/html/bugzilla> AddHandler cgi-script .cgi Options +Indexes +ExecCGI DirectoryIndex index.cgi AllowOverride Limit FileInfo Indexes </Directory>
配置完重啓httpd,使用bugzilla還能夠檢查服務是否正常:
./testserver.pl http://<your-bugzilla-server>/
###配置郵件發送
訪問bugzilla的服務,設置一些核心參數,像requirelogin(是否須要登陸才能訪問),還有就是發送郵件的設置,mail_delivery_method,通常是用SMTP,而後須要配置smtpserver,smtp_username,smtp_password,若是是用SSL還要把smtp_ssl打開。
設置完能夠去註冊一個新用戶,填入郵箱,看註冊郵件是否能發送成功。
若是是要限定註冊郵箱的地址,好比公司郵箱後綴的,能夠去User Authentication 功能中修改createemailregexp參數,使用正則表達式來驗證郵箱後綴是否能夠註冊。