如何安装 trac_svn_postgresql

一、Trac安装
    apt-get install trac
这样的话,Ubuntu会自动下载安装trac、apache、subversion等必要的软件
二、Trac设置
1、配置Subversion版本库
Subversion 文件仓库可以放在任意位置,其中有两个最常用的位置分别是:/usr/local/svn 和 /home/svn。为了在下面的描述中简单明了,假设您的 Subversion 文件仓库放在 /home/svn/repo,并且项目名称为“trac”
a、设置访问Subversion版本库的用户和用户组
    设置Subversion版本库的访问权限也有很多方法,通常的做法是,创建一个名为“Subversion”的组,并将该组拥有访问 Subversion版本库所在的目录的权限,同时将需要访问Subversion版本库的用户加入到这个组中(在这里添加的是自己的本地用户和 Apache2用户):
    groupadd subversion
    usermod -G subversion -a firehare
    usermod -G subversion -a sooof
    usermod -G subversion -a www-data
b、创建Subversion版本库并设置访问权限
    mkdir -p /home/svn/repo
    chown -R root:subversion /home/svn/repo
    chmod -R g+rws /home/svn/repo
    svnadmin create /home/svn/repo
c、配置PostgreSQL数据库
    apt-get install postgresql
为了让trac能访问PostgreSQL,则需要安装python-psycopg2模块:
    apt-get install python-psycopg2
d、启动PostgreSQL服务器daemon(命令中的版本号可能不同):
    /etc/init.d/postgresql-8.4 start
e、添加PostgreSQL用户和数据库
    apt-get install python-psycopg2
    sudo -u postgres sh (切换到postgres用户)
    createuser -A -D -P sooof (创建sooof用户,并提示输入密码,请输入123456以便和下文对应)
    Shall the new role be allowed to create more new roles? (y/n) y
    createdb -O sooof trac (创建trac数据库)
    exit (退出postgres用户,回到正常用户提示行)
f、创建配置Trac环境
Trac用目录和数据库来储存项目信息, 叫做”环境“。一个新的Trac环境是通过使用trac-admin创建出来的,同Subversion一样,Trac环境可以放至在任意位置,由于 Trac是个Web应用,是通过Apache来访问的,所以通常将其设在/var/www目录中。具体命令及设置如下:
    cd /var/www
    mkdir trac
    chown -R www-data:www-data trac
    sudo -u www-data trac-admin trac initenv
Project Name [My Project]> ME (在这里输入你的项目名称)
Database connection string [sqlite:db/trac.db]>postgres://sooof:123456@localhost/trac (输入PostgreSQL数据库的位置)
Repository type [svn]>
Path to repository [/path/to/repos]> /home/svn/repo (在这里输入你的项目对应的Subversion地址,注意Trac默认情况下只能访问本机的Subversion仓库,在上面填写地址时不能加"file://"前缀。)
Templates directory [/usr/share/trac/templates]>/usr/share/pyshared/trac/templates
g、配置Apache
创建Trac环境后,还需要在Apache2中进行相应的配置才能正常使用。配置Trac有两种方式:做为CGI(CGI、WSGI、FCGI)以及使用mod-python。在这里,我们使用apache2-mod-python方式来配置Apache2服务器:
    apt-get install libapache2-mod-python libapache2-mod-python-doc
    a2enmod python
然后配置虚拟主机站点,当然如果没有虚拟主机的话,也可以将之放在/etc/apache2/sites-available/default文件中,在这里我们还是新建一个虚拟主机:
    vim  /etc/apache2/sites-available/trac
<VirtualHost 192.168.130.151>
    ServerName trac.sooof.name
    ServerAdmin soootf@gmail.com
    DocumentRoot /var/www/myproject
    <Location />
        SetHandler mod_python
        PythonInterpreter main_interpreter
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnv /var/www/trac/
        PythonOption TracUriRoot /
        SetEnv PYTHON_EGG_CACHE /tmp
    </Location>
    <Location /login>
        AuthType Basic
        AuthName "CMET_WZU Trac Server"
        AuthUserFile /var/www/trac/.htpasswd
        Require valid-user
    </Location>

    ErrorLog "/var/log/apache2/trac_errors.log"
    CustomLog "/var/log/apache2/trac_accesses.log" common
</VirtualHost>

h、设置Trac的访问权限
    htpasswd -c /var/www/trac/.htpasswd sooof
i、将该虚拟主机激活:
    a2ensite trac
    /etc/init.d/apache2 restart
由于使用了域名,则需要在DNS(域名)服务器上将trac.sooof.name指向本机即可,如果没有DNS服务器,又想测试一个效果,可以在/etc/hosts文档中加入以下配置:
    127.0.0.1       trac.sooof.name
测试Trac
接下来就可以通过在浏览器地址栏中输入 http://192.168.130.151/(这个网址由您的虚拟主机名决定)来访问Trac了