自己動手架設Mantis和BugTracker

  1. 自己動手架設Mantis和BugTracker
    1. Mantis
      1. 第一關 安裝LAMP
      2. 第二關 調整時區
      3. 第三關 設定發送郵件伺服器SMTP
    2. Bug Tracker
      1. 安裝步驟

自己動手架設Mantis和BugTracker

原文連結: https://darkblack01.blogspot.com/2014/09/bugtracker.html
移植時的最後更新日期: 2014-09-20T12:25:26.893+08:00

有一天,建議公司(其實只是跟主管說)灌issue tracking,可以讓派工過程更可以掌握,也可以量化唷!

Mantis

原本是選了Mantis,它可以線上試用還有MantisHub可以用線上服務唷!

不過,不要被MantisHub的css騙了!哈~~

它有外掛的支援,還不錯啦!而且超好灌
灌Mantis的過程,簡單的說

第一關 安裝LAMP

就是Apache+MySql+Php的部份,不過現在有懶人包了![1]
Apache的詳細教學,可以驗證一下自己是不是灌成功了唷![9]

之後就是設定它。(Google一下就有教學囉!)
<Mantis path>/config.inc.php
安裝過程先建立好Mantis會幫你建立MySql的帳號、資料庫、資料表,非常簡單!

第二關 調整時區

如果不修改時區設定,就會出現一排warning在頁面上。
要設定在哪呢?在php的設定檔上面。
要怎麼知道php的設定檔呢?[7]
在網站的根目錄建立一個php頁,內容只要打上

<?php phpinfo(); ?>

再用瀏覽器讀取它,裡面就會寫php.ini放在哪囉!
想要完整了解php.ini內容的朋友可以參考這篇翻譯[8]

找到之後,用vim打開修改如下

# 時區設定,不加首頁會有warning
date_default_timezone_set(“Asia/Taipei”);

# 設定語系為繁體中文
g_default_language = "chinese_traditional";

第三關 設定發送郵件伺服器SMTP

就是帳號的mail身份認證啦!
一樣在config.inc.php設定

g_phpMailer_method = PHPMAILER_METHOD_SMTP;
gsmtphost=smtp.mailhost;</span><br/><spanstyle="fontfamily:CourierNew,Courier,monospace;fontsize:xsmall;">g_smtp_host = 'smtp.mailhost';</span><br /><span style="font-family: Courier New, Courier, monospace; font-size: x-small;">g_smtp_username = ‘userid’;
gsmtppassword=userpwd;</span><br/><spanstyle="fontfamily:CourierNew,Courier,monospace;fontsize:xsmall;">g_smtp_password = 'userpwd';</span><br /><span style="font-family: Courier New, Courier, monospace; font-size: x-small;">g_smtp_port = 25;

這裡的g_smtp_username和g_smtp_password真的就是給它一組帳號密碼,提供Mantis發信使用。像是設定Outlook一樣。其它的設定,要看你要使用的smtp是什麼而決定參數唷!網路上有一些教你用gmail的可以參考一下。

想不到灌好了沒多久,主管就說「為什麼不可以刪掉bug?處理到最後不就有堆積如山的bug(處理完的)?」

主管上網Google了一下,挑了一套不錯的,說「用這一套試試吧!它可以刪掉bug耶!」

Bug Tracker

第二套,選用的是Bug Tracker,它提供了線上試用,有興趣可以上去用用看唷!

主管會選的原因,除了上述的「可以刪除bug」之外,還有介面更有親和力、有中文(作者是台灣人)所以,最大最大說服力的,就是完全是騙人的功能特色第一點

我們來說說,怎麼灌的吧!
不要相信官網的「容易」

為了不要給官網漏氣!我們在這也像官網介紹的一樣只要四個步驟就可以灌好了囉!

安裝步驟

1. 和Mantis一樣,要灌LAMP(Linux+Apache+MySql+Php)[1]
2. 將整個站台下載下來,放在apach給你的www目錄  (我是放在www/bugTracker
3. 修改<Bug Tracker path>/include/config.php
沒有做這一步,在/setup的時候,網頁會讀取失敗。

<?
SYSTEM_VERSION = "2.7.1";  //Bug Tracker 的版本號

GLOBALS[‘BR_dbserver’] = “127.0.0.1”;                 // Bug Tracker 這個網站連到資料庫伺服器用的 IP
GLOBALS['BR_dbtype'] = "mysqlt";                      // Type of database (postgres, mysqlt, mysqli)
GLOBALS[‘BR_dbuser’] = “bt_root”;                     // Bug Tracker 這個網站資料庫的使用者
GLOBALS['BR_dbpwd'] = "bt_root";                      // Bug Tracker 這個網站資料庫密碼
GLOBALS[‘BR_dbname’] = “bugTracker”;                  // Bug Tracker 所要使用的資料庫名稱
GLOBALS["SYS_PROJECT_PATH"] = '/var/www/bugTracker';  // Bug Tracker 在"系統"中的絕對路徑
GLOBALS[“SYS_URL_ROOT”] = “/bugTracker”;              // Bug Tracker 在"網頁"中的絕對路徑(www當作/)
GLOBALS['BR_dbdebug'] = false;                        // 運作是否要顯示debug訊息
GLOBALS[“smtp_debug”] = FALSE;                        // 寄信時是否要顯示debug訊息
?>


到這,都和官網講的一樣。世界"似乎"是這麼和平的運轉著…
我一開始執行4. 的步驟時,就出錯了!所以請跟著我走…

3.1 建立資料庫(資料表會自己建立)

先建立資炓庫,再建立使用者,提供使用既有資料庫的權限

用root進入mysql
mysql -u root -proot

建立資料庫,在此要注意編碼的問題[2],如果沒有指定utf8,灌好之後調成中文,會變成「?????」[3]
mysql>create database bugTracker character set utf8 collate utf8_unicode_ci

3.2 到Linux的mysql,建立config.php裡的帳號、權限

建立足夠權限的使用者(在此,增加了,所有的權限)[4]
指令的意思是
「在mysql這個資料庫的user資料表中,加入bt_root這個使用者」
「指派bt_root使用者可以使用bugTracker資料庫」
「刷新資料庫」
mysql >use mysql;
insert into user (host,user,password) values('%','bt_root',password('bt_root'));
GRANT ALL ON bugTracker.* TO 'bt_root'@localhost IDENTIFIED BY 'bt_root' WITH GRANT OPTION;
FLUSH PRIVILEGES;

另外,提供重灌時會用到的指令

刪除資料庫[5]
mysql>drop database bugTracker;

刪除使用者[6]
mysql>delete from mysql.user where user='bt_root' and host='localhost';

4. 使用瀏覽器連到快速設定精靈 http://your.domain.com/bugTracker/setup/index.php,並依畫面指示完成一部份的安裝

4.1 開啟http://your.domain.com/bugTracker/index.php
就可以用admin/admin進去玩了耶~~YA!!!!

你以為結束了嗎?還沒!
Bug Tracker分成兩大系統,一個是開發者用的處理回報,一個是提供給客戶的使用回報。
目前才完成開發者的處理回報而已。

4.2 修改<Bug Tracker path>/feedback_site/include/config.php
沒有做這一步,到feedback_site系統時,網頁會讀取失敗。

GLOBALS[‘BR_dbserver’] = “127.0.0.1”;  // IP Address of database server
GLOBALS['BR_dbtype']   = "mysqlt";     // Type of database (postgres, mysqlt)
GLOBALS[‘BR_dbuser’]   = “bt_root”;    // User name to access the database
GLOBALS['BR_dbpwd']    = "bt_root";    // Database password
GLOBALS[‘BR_dbname’]   = “bugTracker”; // Database name for bug tracker
$GLOBALS[‘BR_dbdebug’]  = false;        //資料庫使用時是否要提供除錯訊息

4.3 回到http://your.domain.com/bugTracker/index.php
使用admin進去設定smtp(提供客戶的mail身份認證機制)

系統資訊>基本設定>郵件通知設定>寄發郵件方式
選擇「使用Bug Tracker的寄信函式」
設定下面兩個參數
SMTP伺服器
SMTP通訊埠
先試一下,不行再設定身份認證的部份…
(我自己的經驗,是在這就OK了,設定身份證認反而不能用)




這樣,才可以使用客戶回報介面申請帳號。
到這邊,整個系統才會完全跑起來唷!


你看,真的非常非常非常容易吧!和官網說的一樣,超容易DER。


剩下的看官方說明就可以了。

參考資料:
[1] Ubuntu 快速安裝 LAMP Server ( Apache + MySQL + PHP5 )
[2] MySQL 超新手入門(7)字元集與資料庫
[3] 安装后语言除了英文其它都是???
[4] MySQL 新增使用者與權限設定 (筆記)
[5] 18.5. 刪除資料庫
[6] 200703301134刪除mysql的使用者
[7] 如何找出PHP配置文件php.ini的路径?
[8] php.ini設定檔中文說明
[9] Apache Http Server