Trac+SVN+Apache架設進(jìn)階篇
準備工作
請先閱讀《Trac的安裝和配置》以及《SVN(subversion)的安裝和配置》這2篇文章,按照這2篇文章的描述搭建你的 Trac和SVN環(huán)境。
注意,SVN必須采用用戶(hù)登陸文件的認證方式,這是因為T(mén)rac不支持數據庫認證方式,否則它們都使用數據庫認證倒是一個(gè)不錯的主意!
步驟1、安裝setuptools
如果你的機器已經(jīng)安裝setuptools,此步可忽略,可以通過(guò)命令行補全功能看看你的機器是否已經(jīng)安裝setuptools
#easy_install[tab]
通常rhel5/centos5已經(jīng)安裝了easy_install-2.4,這樣的話(huà)此步可忽略,接下去的步驟可用easy_install-2.4 來(lái)安裝
如果沒(méi)有安裝easy_install或者easy_install-2.4的話(huà),執行下面的安裝步驟
#wget http://peak.telecommunity.com/dist/ez_setup.py
#python ez_setup.py
確保你的網(wǎng)絡(luò )暢通,如果安裝失敗,多試幾次
步驟2、安裝WebAdmin管理界面
#easy_install http://svn.edgewall.com/repos/trac/sandbox/webadmin/
步驟3、安裝AccountManager
#easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.10/
步驟4、安裝IniAdmin
#easy_install http://trac-hacks.org/svn/iniadminplugin/0.11/
筆者覺(jué)得這個(gè)插件有些問(wèn)題,不能在Trac的插件列表中顯示出來(lái),也可能我才疏學(xué)淺,沒(méi)有配置正確,這個(gè)插件用不到關(guān)系不大,不過(guò)等筆者研究好了,會(huì )第一時(shí)間貼出來(lái)的。
步驟5、安裝Gantt圖
#wget http://willbarton.com/files/TracGantt-0.3.2a-py${PYTHON_VERSION}.egg
#easy_install TracGantt-0.3.2a-py${PYTHON_VERSION}.egg
步驟6、Trac+SVN目錄結構圖
我們看到Trac的目錄結構是
|-/trac
|-projects //Trac項目庫父路徑
|-TelecomProjects //具體項目庫
|-OtherProjects
SVN的目錄結構是
|-/svn
|-.htpasswd //登陸用戶(hù)文件
|-svnaccess //svn訪(fǎng)問(wèn)控制文件
|-repos //SVN項目庫父路徑
|-TelecomRepositorys //具體Repositorys
|-OtherRepositorys
上面只是筆者的目錄結構圖,你可根據需要調整更適合自己的或者更好的目錄結構,比如
|-/var
|-trac
|-.htpasswd
|-svnaccess
|-projects //Trac項目庫父路徑
|-TelecomProjects
|-OtherProjects
|-repos //SVN Repository父路徑
|-TelecomRepositorys
|-OtherRepositorys
步驟7、Trac project的插件配置
把以下內容寫(xiě)入到/trac/projects/TelecomProjects/conf/trac.ini中
注意:iniadmin.iniadmin.iniadminplugin = enabled這句話(huà)因為iniadmin這個(gè)插件沒(méi)有正確被識別,所以并沒(méi)有什么作用;
trac.web.auth.LoginModule = disabled 這句話(huà)的意思是禁用trac的登陸模塊功能,如果你禁用掉http的認證功能,那么就需要把這句話(huà)設置為 trac.web.auth.LoginModule = enabled
步驟8、與Apache集成
在/etc/httpd/conf/httpd.conf中或者/etc/httpd/conf.d/subversion.conf中SVN的配置為 如下內容
在/etc/httpd/conf/httpd.conf中或者/etc/httpd/conf.d /python.conf中Trac配置為如下內容
請注意到在上面的配置中Trac是不允許被匿名訪(fǎng)問(wèn)的,哪是因為筆者不想讓Trac被匿名訪(fǎng)問(wèn),并且不允許有開(kāi)放注冊功 能,所以要想訪(fǎng)問(wèn)Trac必須先登陸(呵呵,這招是狠了點(diǎn));如果你想讓你的Trac被匿名訪(fǎng)問(wèn)并且開(kāi)發(fā)注冊功能的話(huà),把上面一段改成
這樣Trac就能被匿名訪(fǎng)問(wèn),并能開(kāi)放了注冊功能,注意LocationMatch 后面的"/trac/[^/]+/login"是個(gè)字符串,當然也是個(gè)正則表達式,表示是匹配trac登陸字符串,比如匹配"/trac /TelecomProjects/login"。
如果開(kāi)放了匿名訪(fǎng)問(wèn),那么要取消匿名使用者的部分寫(xiě)入權限,避免有人惡意搗亂,當然你也可以通過(guò)webadmin界面來(lái)設置權限。
#trac-admin /trac/projects/TelecomProjects permission remove anonymous TICKET_CREATE TICKET_MODIFY WIKI_CREATE WIKI_MODIFY
#trac-admin /trac/projects/TelecomProjects add authenticated TICKET_CREATE TICKET_MODIFY TICKET_VIEW WIKI_CREATE WIKI_MODIFY
步驟9、訪(fǎng)問(wèn)Trac
設置test1為管理員賬號
#trac-admin /trac/projects/TelecomProjects/ permission add test1 TRAC_ADMIN
重啟httpd Server
#service httpd restart
用test1登陸trac
http://localhost/trac
是不是在menu bar上看到了Admin和Gantt Charts菜單了呢!開(kāi)始你的Trac使用之旅吧!
Good Luck!
聯(lián)系客服