注:要安装最新版请看官网说明.安装方法完全不一样!
 
一、trac 概念
Trac 是用Python写的一个基于Web的事件跟踪系统,它使用WiKi作为文档的格式,Subversion作为版本控制系统。可帮助开发人员进行源码版
本管理、Bug跟踪和讨论。Debian
如果你的系统是Debian则用apt-get install trac命令安装即可,Trac依赖的所有软件包系统会自动安装。安装完成后,就可进行配置了。
Trac可以设置成Standalone服务器,只供本机使用。也可以与Apache等Web服务器集成,如果与Apache集成,则可配置成CGI、FastCGI或
Mod_Python等方式 。
本人文采用:
redhat 9
apache 2 (mod_python)
mysql 5 (mysql_python)
Subversion 1.4
trac 0.10.4
   
二、trac 官网安装方法
   
[url]http://trac.edgewall.org/wiki/TracInstall[/url]
    它所依赖的包:
    *Python, version >= 2.3   //Please keep in mind, that for RPM-based systems you will also need python-devel and python-
xml packages.
   *ClearSilver, version >= 0.9.3    //With python-bindings (./configure --with-python=/usr/bin/python)
   *A web server capable of executing CGI/FastCGI scripts, or Apache HTTPD with mod_python. 
   * Subversion, version >= 1.0. (>= 1.1.x recommended)
   * Subversion SWIG Python bindings (not PySVN).
   *必须的数据库支持(SQLite,PostgreSQL,MySQL(0.10.4以上版本的trac完全支持).
   在安装之前要先确认这些包是否满足trac 的要求。
   我的就是RH9 版本太低了,结果依赖的包超多。
    所有包整理如下:
    python:[url]http://download.chinaunix.net/down.php?id=24851&ResourceID=35&site=1[/url]
    clearsilver:[url]http://www.clearsilver.net/downloads/[/url]
    subversion:
[url]http://liuyu.blog.51cto.com/183345/48326[/url]    mysql_python:[url]http://osdn.dl.sourceforge.net/sourceforge/MySQL-python/MySQL-python-1.2.2.tar.gz[/url]
    mod_python:[url]http://apache.mirror.phpchina.com/httpd/modpython/mod_python-3.3.1.tgz[/url]
三、各个包的安装方法:
    1、python:
       # tar xjvf Python-2.5.tar.gx
       # cd Python-2.5
       # ./configure --with-apxs=/usr/local/apache/sbin/apxs
       # make;make install

    2、clearsilver:
       如果报此错就说明clearsilver没有安装好 TracError: ClearSilver not installed (No module named neo_cgi) 
      
# tar xfz clearsilver-0.10.5.tar.gz  
      # cd clearsilver-0.10.5
      # ./configure --disable-apache --disable-csharp --disable-ruby --prefix=/usr --with-python=/usr/local/bin/python
      #sed -i "s@/usr/local/bin/python@/usr/bin/env python@g" scripts/document.py
      #make || return 1
      #make install
       #cd python
     #PYTHON_SITE=`/usr/local/bin/python -c \
     "import sys; print [path for path in sys.path if path.find('site-packages') != -1][0]"`
     # python setup.py install
     
    3、mysql_python:
        # tar xfz MySQL-python-1.2.1.tar.gz
       # cd MySQL-python-1.2.1
       # python setup.py build
       # python setup.py install

     在安装mysql_python之前一定要装好mysql_client
     如果提示无法找到mysql_config
     vi site.cfg
     #mysql_config = /usr/local/bin/mysql_config
     去掉注释,改为你mysql_config 所在的路径
    4、mod_python:
        
# tar zxvf mod_python-3.3.1.tar.gz
         # cd mod_python-3.3.1
         # ./configure --with-apxs=/usr/local/apache/sbin/apxs
         # make
         # make install        
         在apache配置文件里加入模块
         vi /usr/local/apache2/conf/httpd.conf
         LoadModule python_module modules/mod_python.so
  

四、创建数据库:
   
# cd /usr/local/mysql  
    # mysqladmin create dbname
    # mysql -uroot -p
    > passwd  
    > grant all privileges on dbname.* to dbuser@dbhost identified by 'dbpass';
    > use dbname;
    > ALTER DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    > quit
以本机为例:
    # mysqladmin create trac
    # mysql -uroot -p
    > root(mysql-root 密码)
    > grant all privileges on trac.* to
trac@localhost identified by 'trac';
    > use trac;
    > ALTER DATABASE DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    > quit
    注:一定要记住这里创建的数据库名(trac),用户名(trac),密码(trac),主机名(localhost)
       因为之后创建trac表的时候需要用到
五、trac的安装及初始化
     # tar zxvf trac-0.10.4.tar.gz
     # cd trac-0.10.4
     # python ./setup.py install
如此处报错请检查以上安装是否有误。
      trac初始化:
     # trac-admin /usr/local/trac initenv    (/usr/loca/trac 目录会自动创建) 
     Project Name [My Project]> test
     Database connection string [sqlite:db/trac.db]> mysql://trac:trac@localhost/trac  //前面创建数据库所用的到信息
     Repository type [svn]>     //这里为空,直接回车
     Path to repository [/path/to/repos]> /usr/local/apache2/svnroot/test   //SVN仓库地址
     Templates directory [/usr/local/share/trac/templates]>       //这里为空,直接回车,事先请确认这个路径
 如果以上配置都正确的话,这步是不会报错的,那么trac 就已经正常安装了。
 剩下的只是apache的配置了。
     
六、配置 trac虚拟主机并启动
   
# vi /usr/local/apache2/conf/httpd.conf  
   在未尾加入 :
    <Location /trac>
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnv /usr/local/trac      //trac 安装目录
    SetEnv PYTHON_EGG_CACHE /tmp
    PythonOption TracUriRoot /trac
    AuthType Basic
    AuthName "test's trac"                
    AuthUserFile /usr/local/apache2/svnroot/test/passwd   //SVN用户密码目录
    Require valid-user
    </Location>
   重启apache  #  service httpd restart
   
[url]http://ip/trac[/url] 就可以看到trac界面啦。。