安裝配置Tracpython
Trac是一個很是優秀的源代碼瀏覽工具,如今也很流行.在安裝前,須要注意的是,Trac須要如下幾個軟件的支持,安裝前必定要先安裝好web
要預先安裝的軟件包在trac-0.11.2的INSTALL文件裏有列出,以下:sql
* Python, version >= 2.3.chrome
+ Please keep in mind, that for RPM-based systems you will also need數據庫
python-devel and python-xml packages.apache
* Genshi, version >= 0.5api
* Optionally, Subversion, version >= 1.0. (>= 1.1.x recommended)and Subversion瀏覽器
SWIG Python bindings (not PySVN).服務器
* PySQLite, version 2.x for SQLite 3.xsession
* A web server capable of executing CGI/FastCGI scripts, or Apache HTTPD withmod_python. (Trac also comes with a standalone server)以上各包,一個也不能少,除非你不用apache來作web(而使用tracd,這是trac自己都不建議使用的httpd),固然咱們用CGI方式來運行python腳本,因此省掉一個mod_python.
補充說明下,光有PySQLite而沒有SQLite顯然是不行的
這裏操做系統已經安裝了Python,以前也裝了apache(包括cgi)和subversion,因此不用安裝了,主要安裝以下的軟件:
python-devel
python-xml
Genshi
PySQLite
SQLite 3.x
python-devel 、python-xml sqlite-3.2.8-15.2.i586.rpm sqlite-devel-3.2.8-15.2.i586.rpm 這4個文件能夠在suse10 sp2的光盤裏面能夠找到,都是rpm包,至於安裝我這裏就不說了,安裝其餘的軟件包
安裝 Genshi
# tar zxvf Genshi-0.5.1.tar.gz
# cd Genshi-0.5.1
# Python setup.py install
安裝PySQLite
# tar zxvf pysqlite-2.5.5.tar.gz
# cd pysqlite-2.5.5
# python setup.py install
安裝trac
# tar zxvfTrac-0.11.2.1.tar.gz
# cd Trac-0.11.2.1
# python ./setup.py install
關於trac自己的安裝就這麼簡單,詳情請參考trac-0.11.2.1/INSTALL文檔.其中還有後續章節所涉及內容的詳述,包括如何使用 trac-admin初始化一個trac項目,如何啓動tracd服務,以及如何配置使用apache來提供trac的web服務.
trac安裝的缺省路徑是/usr/local,trac-admin和tracd都在/usr/loca/bin目錄,trac的模版等都在/usr/local/share/trac目錄.
使用trac-admin命令能夠初始化一個trac項目,一個trac項目對應一個SVN repository,這是應用中應該注意的.
# mkdir -p /home/trac
#trac-admin /home/trac/my_project initenv
這個命令便可啓動初始化/home/trac/my_project項目的交互進程,是創建trac項目,運行後提示以下:
Project Name [My Project]> 輸入項目名稱 //隨便起個名字
Database connection string [sqlite:db/trac.db]> //直接回車
Repository type [svn]> //倉庫類型svn回車
Path to repository [/path/to/repos]> //倉庫路徑 輸入剛纔SVN路徑
初始化完成後,能夠經過修改/home/trac/my_project/conf/trac.ini來改變設置,甚至能夠改變svn repository的設置,你須要作的只是在改完後使用trac-admin /home/trac/my_project resync來從新同步trac項目和svn repository.
#chown -R svn:svnrw /home/svn
trac有兩種方式提供web服務,其一是trac自帶的tracd,它自己就是一個httpd,啓動方式以下:
#tracd --port 8000 /home/trac/my_project
或者你有兩個項目,則在後面加一個目錄:
#tracd --port 8000 /home/trac/my_project1 /home/trac/my_project2
這種方式很簡單,但問題是trac自己都不建議你用,由於tracd不夠完善.
但無論怎麼樣,你能夠試用一下tracd,看看你的安裝配置是否是均可以work了,畢竟加上apache,是件相對複雜不少的事情,因此,在這以前用tracd來檢驗一下仍是必要的。
啓動服務後,你就能夠在一臺客戶機上使用瀏覽器來來瀏覽你開啓的web服務了。好比:
http://IP:8000/my_project
若是能夠看到trac的默認首頁,就說明是OK的,而後就開始將trac集成到apache.
把trac集成到apache有不少方法,可使用mod_python模塊,可使用cgi模塊或者fast-cgi模塊,這裏使用了cgi模式,這個方法比較簡單.若是你須要速度快一點,那使用fast-cgi好了.
首先把trac源代碼目錄中cgi-bin目錄下的兩個文件拷貝到你存放cgi的地方,好比/usr/local/apache2/cgi-bin目錄下.
# vi /usr/local/apache2/conf/httpd.conf
而後添加如下內容:
#
### Trac settings
#
Alias /trac/chrome/common "/usr/share/trac/htdocs"
<Directory "/usr/share/trac/htdocs">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /trac /usr/local/apache2/cgi-bin/trac.cgi
<Location "/trac">
SetEnv TRAC_ENV_PARENT_DIR "/home/trac"
</Location>
<Location "/trac/*/login">
AuthType Basic
AuthName "Trac Login"
AuthUserFile /etc/svntrac.htpasswd
Require valid-user
</Location>
密碼文件svntrac.htpasswd咱們和svn共享,這樣就只須要管理一套密碼了.
保存,退出,重啓apache.再訪問http://IP/trac看看是否是能夠獲得trac的默認首頁,而後點擊"browse source",你應該能夠看到svn倉庫裏的資源.
這裏須要注意的是:
SetEnv TRAC_ENV "/home/trac/my_project" #單個項目時用這樣寫
SetEnv TRAC_ENV_PARENT_DIR "/home/trac" #多個項目時這樣寫
還有若是多個項目使用一個密碼文件能夠這樣配置"trac/*/login",單個的話就"tra/login"
對於多個項目的話當在瀏覽器裏輸入http://IP/trac時顯示的是一個簡單的Available Projects頁面
管理Trac訪問許可
Trac的許可權限管理簡單而有效,它可經過trac-admin命令來管理。用trac-admin可管理用戶的許可權限,但用戶的管理是經過 Apache的htpasswd命令設置的,根據上面的Apache CGI配置,用戶名和密碼是存放在/etc/svntrac.htpasswd文件中。下面這個命令可用來列出當前有效的許可權限和已設置的許可權限。
# trac-admin /home/trac/my_project permission list
User Action
--------------------------
anonymous BROWSER_VIEW
anonymous CHANGESET_VIEW
anonymous FILE_VIEW
anonymous LOG_VIEW
anonymous MILESTONE_VIEW
anonymous REPORT_SQL_VIEW
anonymous REPORT_VIEW
anonymous ROADMAP_VIEW
anonymous SEARCH_VIEW
anonymous TICKET_CREATE
anonymous TICKET_MODIFY
anonymous TICKET_VIEW
anonymous TIMELINE_VIEW
anonymous WIKI_CREATE
anonymous WIKI_MODIFY
anonymous WIKI_VIEW
Available actions:
BROWSER_VIEW, CHANGESET_VIEW, CONFIG_VIEW, FILE_VIEW, LOG_VIEW,
MILESTONE_ADMIN, MILESTONE_CREATE, MILESTONE_DELETE, MILESTONE_MODIFY,
MILESTONE_VIEW, REPORT_ADMIN, REPORT_CREATE, REPORT_DELETE, REPORT_MODIFY,
REPORT_SQL_VIEW, REPORT_VIEW, ROADMAP_ADMIN, ROADMAP_VIEW, SEARCH_VIEW,
TICKET_ADMIN, TICKET_APPEND, TICKET_CHGPROP, TICKET_CREATE, TICKET_MODIFY,
TICKET_VIEW, TIMELINE_VIEW, TRAC_ADMIN, WIKI_ADMIN, WIKI_CREATE,
WIKI_DELETE, WIKI_MODIFY, WIKI_VIEW
上面列出的內容是還沒進行許可權限設置時的狀況,Available actions段的內容就是有效許可權限的列表,每一個權限的解析可查詢TracGuide中的TracPermission節的內容。其中 TRAC_ADMIN許可至關於Linux中的root用戶,擁有最高的權限。若是咱們要把TRAC_ADMIN許可授予wiliiwin用戶,則可這樣設置:
~# trac-admin /home/trac/my_project permission add wiliiwin TRAC_ADMIN
WIKI_ADMIN是WIKI系統的管理員,具備WIKI_CREATE,WIKI_DELETE, WIKI_MODIFY, WIKI_VIEW權限。也就是WIKI頁面的建立、刪除、修改和查看四種權限,授予方式同上。
刪除用戶的許可可用remove關健字,如:
~# trac-admin /home/trac/my_project permission remove wiliiwin TRAC_ADMIN
在Trac的權限管理中能夠設置組以簡化權限配置,下例將設置一個admin組,具備TRAC_ADMIN許可權限,把wiliiwin用戶加入到該組中,使他們也具備TRAC_ADMIN許可權限:
~# trac-admin /home/trac/my_project permission add admin TRAC_ADMIN
~# trac-admin /home/trac/my_project permission add wiliiwin admin
在Trac的用戶中,有兩個默認的用戶,一個是anonymous,表示匿名用戶;一個是authenticated,表示全部已經過驗證的用戶。咱們能夠把許可權賦予這兩個用戶,從而簡化咱們的許可權限配置。
備份和恢復Trac
Trac系統的備份和恢復也可以使用trac-admin工具來完成,還可支持熱備份。備份命令以下:
~# trac-admin /home/trac/my_project hotcopy ~/backup
執行該命令時,Trac會自動鎖住SQLite數據庫,並把/home/trac/my_project目錄拷貝到~/backup目錄。恢復備份也很簡單,只需中止Trac進程,如Apache服務器或tracd服務器。接着把~/backup整個目錄恢復回/data/trac目錄就能夠了。
到此trac也配完了.
如今說下關於trac的一些插件,trac的官方網站提供了不少的trac插件,用戶更加方便的來使用trac,這裏我僅僅以Account Manager 這個插件(此插件用來替代apache的用戶添加,經過web頁面來進行用戶的添加以及密碼的修改)爲例,插件的下載地址是http://trac-hacks.org,在首頁找到plugin這欄尋找Account Manager,找到之後打開這個插件的分頁,往下看能夠看到
Downloads:
這裏提供了不一樣版本trac的插件,因爲上面裝的是trac 0. 11版本的,因此這裏下載0.11版本的插件.插件名字爲: accountmanagerplugin_0.11-r8268.zip,把此插件的包放到你trac項目的plugin目錄下.
# unzip accountmanagerplugin_0.11-r8268.zip
# cd accountmanagerplugin/0.11
# python setup.py install //這樣就安裝好了Account Manager插件了.
進入trac web頁面,用上面apache建立的admin用戶進行登陸,登陸以後點擊導航欄的admin選項卡,以下圖所示:
點擊admin以後,出現以下的分頁,
咱們這裏選擇plugins,出現以下的分頁
點擊下面的TraccountManager插件,出現以下的頁面,關於這些選項是什麼意思,你們能夠到trac的官方網站上查詢,這裏存儲密碼我使用了db方式,還有其餘3種方式:htDigestStore、HtPasswdStore、HttpAuthStore.
選擇須要的選項以後,點擊下面的Apply Changes按鈕,進行選項的保存
而後咱們到trac項目的conf目錄下面,打開trac.ini配置文件,因爲
trac 0.11插件能夠自動把相關的配置參數加到這個配置文件裏面,
因此咱們基本沒有用手動添加,這裏把主要
的配置參數貼出來,要是沒有哪行的配置參數,須要本身手動添加下:
[account-manager]
password_store = SessionStore
hash_method = HtPasswdHashMethod
[components]
acct_mgr.admin.accountmanageradminpage = enabled
acct_mgr.api.accountmanager = enabled
acct_mgr.db.sessionstore = enabled
acct_mgr.htfile.htpasswdstore = enable
acct_mgr.notification.accountchangelistener = enabled
acct_mgr.notification.accountchangenotificationadminpanel = enabled
acct_mgr.pwhash.htdigesthashmethod = enabled
acct_mgr.pwhash.htpasswdhashmethod = enabled
acct_mgr.web_ui.accountmodule = enabled
acct_mgr.web_ui.loginmodule = enabled
acct_mgr.web_ui.registrationmodule = enabled
trac.web.auth.loginmodule = disable //這裏必定要是
disable,不然致使
插件不可用
修改apache配置文件
#<Location "/trac/*/login"> //把這些配置都用#註釋起來
# AuthType Basic
# AuthName "Trac Login"
# AuthUserFile /etc/svntrac.htpasswd
# Require valid-user
#</Location>
重啓apache服務,使插件生效
# service httpd stop
# service httpd start
再轉回到trac web的頁面,這個時候就會多出一個導航
而後咱們點擊users,出現以下的頁面:
能夠在右邊進行用戶的添加以及用戶密碼的修改,大大方便了管理
任務.至於其餘插件與此插件的安裝方式大同小異,至於配置參數可
以到官方站點進行查詢.