先前 svn server 上面已經有 apache2 + svn 了,現在要加入 trac (拜 kmwang 大神的建議,招喚祭品是一顆統一布丁)

安裝 trac

在 Ubuntu 上面裝 trac 很簡單(?),只要下一行指令就好:

# apt-get install trac

安裝好以後挑個目錄 (我自己是放在 /var/local/trac 底下) 準備開新專案,基本上開新專案的方式跟 svn 差不多

# trac-admin project_name initenv

卻發生這樣的錯誤訊息:
Traceback (most recent call last):
  File "trac-admin", line 21, in ?
    from trac.scripts.admin import run
ImportError: No module named scripts.admi

求助 google 大神以後,應該是新舊版本的問題 (看來有人曾經在這台機器上面裝 trac 卻留下一堆垃圾),於是:

# apt-get remove trac
# find / -type d -name "trac"

先移除 trac,然後找出不必要的目錄屍體,砍除以後:

# apt-get install trac

再次測試 trac-admin 是否會出錯,這次就正常無誤了。

讓 apache 支援

設定 site-enabled
# cd /etc/apache2/sites-available
# vim trac.conf

編輯如下:

ScriptAlias /trac "/usr/share/trac/cgi-bin/trac.cgi"
<Location "/trac">
    SetEnv TRAC_ENV_PARENT_DIR "/var/local/trac"
    AuthType Basic
    AuthName "Trac"
    AuthUserFile "/etc/trac/passwd"
</Location>

Alias /trac/chrome/common "/usr/share/trac/htdocs"

<Directory "/usr/share/trac/htdocs">
    Order allow,deny
    Allow from all
</Directory>


DirectoryIndex trac.cgi
ErrorLog /var/log/apache2/error.trac.log
CustomLog /var/log/apache2/access.trac.log combined

--
其中 /etc/trac/passwd 可以跟 svn 指定同一個檔案。

接著連結到 apache2 的 site-enabled/ 去

# cd /etc/apache2/sites-enabled
# ln -s /etc/apache2/sites-enabled/trac.conf .
# /etc/init.d/apache2 force-reload

連上 http://yourhost/trac 看看是否能連線成功就OK了。

設定 trac 權限

# cd /var/local
# trac-admin project_name

這樣會進入 trac 設定

> permission list  (查看目前權限列表)
> permission remove anonymous '*' (移除匿名使用者的所有權限)
> permission add limit TRAC_ADMIN (增加 limit 這個使用者,有 trac admin 的權限)

其他權限列表請參照 trac guide

一些應用的方法可以參考 關閉 Source Code View,其他功能都可以使用的參數設定 | Tsung's Blog
FreeBSD 使用者也可以參考這篇 在 FreeBSD 下架設 trac | Tsung's Blog

創作者介紹
創作者 bigair 的頭像
bigair

我的特技就是全身上下都能吃

bigair 發表在 痞客邦 留言(1) 人氣()