建DB
可以在command line下,輸入”mysql -u root -p”,再輸入以下兩個指令//跟trac有關的DB都以trac開頭,這只是我的習慣來設定
CREATE DATABASE `(專案目錄)` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON `(專案目錄)` . * TO '(使用者帳號)'@'localhost' WITH GRANT OPTION ;
建Trac專案
trac-admin (trac的安裝目錄)/(專案目錄) initenv#填入project name: (專案名稱)
#填入db: mysql://(帳號):(密碼)@localhost/(專案目錄)
#所有跟trac相關的都用trac來管理
copy舊的trac.ini檔(這是自己先copy好的設定檔,在安裝前就設好的)
cp (trac的安裝目錄)/conf_bak/conf/trac.ini (trac的安裝目錄)/(專案目錄)/conf新增Trac的admin及@knopath這個group的權限
trac-admin (trac的安裝目錄)/(專案目錄) permission add admin TRAC_ADMINtrac-admin (trac的安裝目錄)/(專案目錄) permission remove anonymous '*' //要執行這個才能讓此trac在未登入的人完全無法使用
trac-admin (trac的安裝目錄)/(專案目錄) permission add @user LOG_VIEW FILE_VIEW WIKI_VIEW WIKI_CREATE WIKI_MODIFY SEARCH_VIEW REPORT_VIEW REPORT_SQL_VIEW
trac-admin (trac的安裝目錄)/(專案目錄) permission add @user TICKET_VIEW TICKET_CREATE TICKET_MODIFY BROWSER_VIEW TIMELINE_VIEW CHANGESET_VIEW ROADMAP_VIEW MILESTONE_VIEW
註:上述@user 可以自行定義,這個也算是使用者
copy舊的authz檔
cp (svn repository目錄)/conf/authz (svn repository目錄)/conf/(專案名稱)_authz更動trac.ini的內容
vim (trac的安裝目錄)/(專案目錄)/conf/trac.iniauthz_file = (svn repository目錄)/conf/(專案目錄)_authz
database = mysql://(帳號):(密碼)@localhost/(專案目錄)
descr = (專案簡介)
name = (專案名稱)
更動此project目錄的權限
chown -R apache.apache (trac的安裝目錄)/(專案目錄)更新此project的資料
trac-admin (trac的安裝目錄)/(專案目錄) upgrade更動svn hooks
為了要讓svn上傳code時,能夠對上ticket,log上要加refs(fixed等) #1這幾個字外,還要在svn repository中的hooks放入post-commit,請執行copy底下這個file去你的svn repository中的hooks目錄下
post-commit的內容如下:
REPOS="$1"REV="$2"`export LANG=zh_TW.UTF-8`LOG=`/usr/bin/svnlook log -r $REV $REPOS`AUTHOR=`/usr/bin/svnlook author -r $REV $REPOS`TRAC_ENV='(trac的安裝目錄)/(專案目錄)' /usr/bin/trac-admin $TRAC_ENV changeset added "$1" "$2"
一些跟trac有關的指令
trac-admin (trac的安裝目錄)/(專案目錄) repository resync "(svn repository)"
這些可以再寫成shell script來自動化。
沒有留言:
張貼留言