2013年11月30日 星期六

在 Ubuntu 下安裝 Bugzilla

Bugzilla是一套bug追蹤軟體,有許多知名的公司有使用bugzilla來收集並解決bug(如:Mozilla, Linux Kernel, Eclipse等等),基於好奇心之下來研究一下bugzilla如何安裝以及使用,安裝過程還真的一堆地雷阿... 以下紀錄bugzilla的安裝過程。
  • 安裝環境
作業系統:Ubuntu 13.04
Bugzilla 版本:4.5.1

  • 安裝步驟
以下的安裝步驟都是用帳號 root 進行,如果還沒開啟 root 可參考前一篇文章。

Step 1:安裝MySQL

Step 1.1: 安裝 mysql-server

輸入指令
# apt-get install mysql-server

在安裝過程中會要求使用者輸入密碼,要記得密碼後面會用到。

Step 1.2: 安裝 mysql-client-core-5.5

輸入指令
# apt-get install mysql-client-core-5.5

Step 2:安裝 Apache

 輸入指令
 # apt-get install apache2

Step 3: 安裝 sendmail

輸入指令
 # apt-get install sendmail

Step 4: 檢查 Perl 版本

輸入指令
 # perl -v
一般 ubuntu 都已經自動安裝好 perl,所以這一步可以省略。

Step 5:安裝 Bugzilla

Step 5.1: 下載 bugzilla 壓縮檔

# wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-4.5.1.tar.gz
(P.S 當初下載bugzilla-4.4.1,可是perl會要求DBI的版本至少要1.614以上,可是我安裝的版本明明是1.63但perl卻認為是無效的版本,後來發現這是bugzilla在版本辨識上有bug,搞了很久還是沒法解決,後來換成bugzilla-4.5.1版後就沒這個問題。)

Step 5.2: 解壓縮 bugzilla 到路徑 /var/www

# tar -C /var/www/ -xvf bugzilla-4.5.1.tar.gz

Step 5.3: 更改 bugzilla 資料夾名稱

# cd /var/www
# mv bugzilla-4.5.1 bugzilla

Step 5.4: 編譯bugzilla

進入到 bugzilla 資料夾
# cd /var/www/bugzilla

執行 checksetup.pl
# ./checksetup.pl

這裡應該是問題最多的地方,應該會列出一堆必要元件還沒安裝,perl 會提示缺少的元件可以透過一個指令一次安裝完全,指令如下。
# /usr/bin/perl install-module.pl --all

但是理想 情況是一次就全部安裝,可惜天不從人願,還是會有一些漏網之魚沒有安裝,這時候就請google大神吧,就我的經驗缺少的元件基本上都可以透過指令 apt-get 來下載安裝,以下舉幾個例子。如果缺少元件 Template-Toolkit 的話可以透過下面的指令來安裝。
# apt-get install libtemplate-perl
 
 如果缺少元件 Email-Send的話
# apt-get install libemail-send-perl
 
在必要的元件都安裝完成之後再執行一次 checksetup.pl
# ./checksetup.pl

如果執行完後有出現文件 localconfig 的話就代表成功了。
接著修改 localconfig 的內容
# vim /var/www/bugzilla/localconfig
將 $webservergroup 這一個設定改成 $webservergroup = 'www-data'
儲存後離開。

接著建立 mysql 資料庫
# mysql -u root -p

接著就會進入 mysql 的介面,接著輸入以下指令建立資料庫
mysql> grant all on *.* to bugs@localhost identified by '';
mysql> flush privileges;
mysql> create database bugs;
接著就可以離開 mysql 介面(輸入exit)

然後修改 apache 的設定檔
# vim /etc/apache2/site-availibles/default

將以下的設定加入檔案 default 裡
<Directory /var/www/bugzilla>
    AddHandler cgi-script .cgi
    Options +Indexes +ExecCGI +FollowSymLinks
    DirectoryIndex index.cgi
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

接著回到路徑 /vat/www 裡
# cd /var/www

然後執行以下指令
# chown www-data:www-data bugzilla

然後再回到資料夾 bugzilla 裡
# cd /var/www/bugzilla

再執行一次 checksetup.pl
# ./checksetup.pl

這樣 bugzilla 就算建置完成了。


Step 6:重新啟動 Apache 和 MySQL

重新啟動 apache
# /etc/init.d/apache2 restart

重新啟動 mysql
# /etc/init.d/mysql restart

Step 7:驗證 bugzilla 是否安裝成功

終於到了最後一步了,首先查看主機的 IP 位址,假設為192.168.999.999
那麼隨便開啟一個瀏覽器,然後在地址欄裡輸入 http://192.168.999.999/bugzilla
如果有出現 bugzilla 的首頁那就代表安裝成功啦!接著就可以使用bugzilla的各種功能。

2013年11月29日 星期五

Ubuntu 啟動帳號 root


作業系統:Ubuntu 13.04

假設現在登入的帳號是oscar

Step 1: 設定root密碼
# sudo  passwd root
輸入 oscar  的密碼
輸入 root 的新密碼
再一次輸入新密碼

這樣就可以用root登入,可以用以下的指令試看看 root 有沒有設定成功
# su root

Step 2: 在開機時的登入畫面可以用root登入

編輯檔案
# vim /etc/lightdm/lightdm.conf

將下列的指令加入到 lightdm.conf 裡
greeter-show-manual-login=true

然後重新開機就可以在登入畫面用root直接登入。