Trac+SVN+Apache架設(shè)進(jìn)階篇
準(zhǔn)備工作
請(qǐng)先閱讀《Trac的安裝和配置》以及《SVN(subversion)的安裝和配置》這2篇文章,按照這2篇文章的描述搭建你的 Trac和SVN環(huán)境。
注意,SVN必須采用用戶登陸文件的認(rèn)證方式,這是因?yàn)門rac不支持?jǐn)?shù)據(jù)庫(kù)認(rèn)證方式,否則它們都使用數(shù)據(jù)庫(kù)認(rèn)證倒是一個(gè)不錯(cuò)的主意!
步驟1、安裝setuptools
如果你的機(jī)器已經(jīng)安裝setuptools,此步可忽略,可以通過命令行補(bǔ)全功能看看你的機(jī)器是否已經(jīng)安裝setuptools
#easy_install[tab]
通常rhel5/centos5已經(jīng)安裝了easy_install-2.4,這樣的話此步可忽略,接下去的步驟可用easy_install-2.4 來(lái)安裝
如果沒有安裝easy_install或者easy_install-2.4的話,執(zhí)行下面的安裝步驟
#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/
筆者覺得這個(gè)插件有些問題,不能在Trac的插件列表中顯示出來(lái),也可能我才疏學(xué)淺,沒有配置正確,這個(gè)插件用不到關(guān)系不大,不過等筆者研究好了,會(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目錄結(jié)構(gòu)圖
我們看到Trac的目錄結(jié)構(gòu)是
|-/trac
|-projects //Trac項(xiàng)目庫(kù)父路徑
|-TelecomProjects //具體項(xiàng)目庫(kù)
|-OtherProjects
SVN的目錄結(jié)構(gòu)是
|-/svn
|-.htpasswd //登陸用戶文件
|-svnaccess //svn訪問控制文件
|-repos //SVN項(xiàng)目庫(kù)父路徑
|-TelecomRepositorys //具體Repositorys
|-OtherRepositorys
上面只是筆者的目錄結(jié)構(gòu)圖,你可根據(jù)需要調(diào)整更適合自己的或者更好的目錄結(jié)構(gòu),比如
|-/var
|-trac
|-.htpasswd
|-svnaccess
|-projects //Trac項(xiàng)目庫(kù)父路徑
|-TelecomProjects
|-OtherProjects
|-repos //SVN Repository父路徑
|-TelecomRepositorys
|-OtherRepositorys
步驟7、Trac project的插件配置
把以下內(nèi)容寫入到/trac/projects/TelecomProjects/conf/trac.ini中
注意:iniadmin.iniadmin.iniadminplugin = enabled這句話因?yàn)閕niadmin這個(gè)插件沒有正確被識(shí)別,所以并沒有什么作用;
trac.web.auth.LoginModule = disabled 這句話的意思是禁用trac的登陸模塊功能,如果你禁用掉http的認(rèn)證功能,那么就需要把這句話設(shè)置為 trac.web.auth.LoginModule = enabled
步驟8、與Apache集成
在/etc/httpd/conf/httpd.conf中或者/etc/httpd/conf.d/subversion.conf中SVN的配置為 如下內(nèi)容
在/etc/httpd/conf/httpd.conf中或者/etc/httpd/conf.d /python.conf中Trac配置為如下內(nèi)容
請(qǐng)注意到在上面的配置中Trac是不允許被匿名訪問的,哪是因?yàn)楣P者不想讓Trac被匿名訪問,并且不允許有開放注冊(cè)功 能,所以要想訪問Trac必須先登陸(呵呵,這招是狠了點(diǎn));如果你想讓你的Trac被匿名訪問并且開發(fā)注冊(cè)功能的話,把上面一段改成
這樣Trac就能被匿名訪問,并能開放了注冊(cè)功能,注意LocationMatch 后面的"/trac/[^/]+/login"是個(gè)字符串,當(dāng)然也是個(gè)正則表達(dá)式,表示是匹配trac登陸字符串,比如匹配"/trac /TelecomProjects/login"。
如果開放了匿名訪問,那么要取消匿名使用者的部分寫入權(quán)限,避免有人惡意搗亂,當(dāng)然你也可以通過webadmin界面來(lái)設(shè)置權(quán)限。
#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、訪問Trac
設(shè)置test1為管理員賬號(hào)
#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菜單了呢!開始你的Trac使用之旅吧!
Good Luck!
聯(lián)系客服