最近找到了JTrac這個用Java寫的問題追蹤軟體,License是Apache License,使用的框架是Spring+Hibernate+Wicket,由於使用Hibernate所以理論上應該適用於所有Hibernate支援的資料庫,包括HSQLDB, MySQL, PostgreSQL等。
簡易安裝:
先安裝好JRE (Java Runtime Environment) 5.0 以上,然後直接由網站上下載編譯好的binary zip檔,解開後點start.bat即可以開始執行。JTrac的這個zip檔內附了Jetty這個Servlet Container及HSQLDB,如果您安裝的電腦上有安裝Skype的話,需要先停用Skype,因為Skype會佔用port 80。另外,原來的軟體還沒有正體中文介面,我花了一個晚上翻譯了一下,可由附加檔案下載,放置於jtrac/WEB-INF/classes目錄下。
正式安裝:
我的環境是Linux,資料庫是PostgreSQL,網頁伺服器及應用伺服器是Apache+Tomcat,照網站上的安裝說明,先把jtrac.war上傳到webapps目錄下,Tomcat會自動解開,產生一個jtrac目錄,這時再建立一個jtrac.home代表的目錄,為增加安全性,我們把它建在jtrac的WEB-INF下:
mkdir /home/andowson/www/jtrac/WEB-INF/data
chmod 775 /home/andowson/www/jtrac/WEB-INF/data
chown -R tomcat:tomcat /home/andowson/www/jtrac
接著編輯jtrac/WEB-INF/classes/jtrac-init.properties檔案,將剛剛的jtrac.home設定填上去:
jtrac.home=/home/andowson/www/jtrac/WEB-INF/data
這時可以先啟動一次jtrac以產生jtrac/WEB-INF/data/jtrac.properties這個資料庫連線設定檔(用的是HSQLDB),再修改成PostgreSQL或者乾脆自己產生一個,內容如下:
database.driver=org.postgresql.Driver
database.url=jdbc:postgresql://localhost:5432/jtrac
database.username=jtrac
database.password=jtrac
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.show_sql=false
如果PostgreSQL的JDBC Driver不是放在Tomcat common/lib下的話,或者想要單獨給jtrac使用自己的jar檔,可以下載PostgreSQL的JDBC Driver到jtrac/WEB-INF/lib下
cd jtrac/WEB-INF/lib
wget http://jdbc.postgresql.org/download/postgresql-8.2-507.jdbc3.jar
然後建立一個新的PostgreSQL使用者jtrac和資料庫jtrac(參考http://www.andowson.com/posts/list/190.page)
本來到這裡就可以啟動jtrac了,但是我實際上發現會有這個問題:
ERROR [org.hibernate.util.JDBCExceptionReporter] - ERROR: operator does not exist: integer = boolean
可透過修改jtrac/WEB-INF/classes/jtrac.hbm.xml將sql-type由integer改為boolean
最後記得修改/etc/httpd/conf.d/mod_jk.conf加上:
JkMount /jtrac/* loadbalancer
重新啟動Apache和Tomcat
使用說明:
存取http://localhost/jtrac或http://your.server.name/jtrac
預設帳號跟密碼是admin和admin
登入後點選項即可開始新開專案空間和使用者,以及狀態轉換的工作流程,另外可以設定郵件主機以便發送通知。接著就可以新增Issue(Ticket)了。