Trac的安装设置

原网页:http://wiki.ubuntu.org.cn/Trac%E7%9A%84%E5%AE%89%E8%A3%85%E8%AE%BE%E7%BD%AE

出自Ubuntu中文

 

目录

[隐藏]

[编辑] Trac简介

Trac是Edgewall公司推出的网页界面专案管理软件,尤其擅长软件BUG跟踪方面。

Trac使用Python编程语言开发。在2005年中以前,Trac以GPL发行;直到 0.9 版开始使用修改过的BSD许可证发布。基本上都是属于自由软件的许可证。该软件集成了增强的Wiki功能和版本控制功能,并可通过插件扩展其功能。

由于其插件众多、功能全面,甚至可以与很多商业的CMS系统媲美,安装也不复杂,因此应用也日益广泛。它的ticket管理及工作流插件(http://trac-hacks.org/) 使得它也可以很方便地进行简单的业务协作及流程控制。

[编辑] Trac安装

在Ubuntu下安装Trac十分简单,只需要输入下列命令即可:

sudo apt-get install trac

这样的话,Ubuntu会自动下载安装trac、apache、subversion等必要的软件(建议先行安装apach2、subversion),如果需要trac支持BZR,则还需要用下列命令安装BZR插件:

sudo aptitude install trac-bzr

同样的,如果要其支持GIT,则需要用下列使用安装GIT插件:

sudo aptitude install trac-git

本文以subversion为例,介绍Trac的安装过程。

[编辑] Trac设置

[编辑] 配置Subversion版本库

Subversion 文件仓库可以放在任意位置,其中有两个最常用的位置分别是:/usr/local/svn 和 /home/svn。为了在下面的描述中简单明了,假设您的 Subversion 文件仓库放在 /home/svn/repo,并且项目名称为“trac”。

[编辑] 设置访问Subversion版本库的用户和用户组

设置Subversion版本库的访问权限也有很多方法,通常的做法是,创建一个名为“Subversion”的组,并将该组拥有访问Subversion版本库所在的目录的权限,同时将需要访问Subversion版本库的用户加入到这个组中(在这里添加的是自己的本地用户和Apache2用户):

sudo groupadd subversion
sudo usermod -G subversion -a firehare
sudo usermod -G subversion -a www-data

[编辑] 创建Subversion版本库并设置访问权限

创建Subversion版本库目录十分简单,只需要输入下列命令即可:

sudo mkdir -p /home/svn/repo
sudo chown -R root:subversion /home/svn/repo
sudo chmod -R g+rws /home/svn/repo
sudo svnadmin create /home/svn/repo

[编辑] 配置PostgreSQL数据库

[编辑] 安装并启动PostgreSQL数据库

安装PostgreSQL数据库很简单,只需要:

sudo apt-get install postgresql

为了让trac能访问PostgreSQL,则需要安装python-psycopg2模块:

sudo apt-get install python-psycopg2

启动PostgreSQL服务器daemon(命令中的版本号可能不同):

sudo /etc/init.d/postgresql-8.3 start

[编辑] 添加PostgreSQL用户和数据库

添加PostgreSQL用户和数据库也很简单,只需要输入下列命令:

sudo -u postgres sh (切换到postgres用户)
createuser -A -D -P firehare (创建firehare用户,并提示输入密码,请输入123456以便和下文对应)
Shall the new role be allowed to create more new roles? (y/n) y
createdb -O firehare trac (创建trac数据库)
exit (退出postgres用户,回到正常用户提示行)

[编辑] 添加MYSQL用户和数据库

要支持MYSQL要先安装python-mysqldb 只需输入下列命令: sudo apt-get install python-mysqldb

[编辑] 创建配置Trac环境

Trac用目录和数据库来储存项目信息, 叫做”环境“。一个新的Trac环境是通过使用trac-admin创建出来的,同Subversion一样,Trac环境可以放至在任意位置,由于Trac是个Web应用,是通过Apache来访问的,所以通常将其设在/var/www目录中。具体命令及设置如下:

cd /var/www
sudo mkdir trac
sudo chown -R www-data:www-data trac
sudo -u www-data trac-admin trac initenv
Project Name [My Project]> cmet (在这里输入你的项目名称)
Database connection string [sqlite:db/trac.db]>postgres://firehare: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

[编辑] 配置Apache

创建Trac环境后,还需要在Apache2中进行相应的配置才能正常使用。配置Trac有两种方式:做为CGI(CGI、WSGI、FCGI)以及使用mod-python。在这里,我们使用apache2-mod-python方式来配置Apache2服务器:

sudo apt-get install libapache2-mod-python libapache2-mod-python-doc
sudo a2enmod python

然后配置虚拟主机站点,当然如果没有虚拟主机的话,也可以将之放在/etc/apache2/sites-available/default文件中,在这里我们还是新建一个虚拟主机:

sudo vi /etc/apache2/site-available/trac
 
<VirtualHost 10.10.3.29>
ServerName trac.firehare.name
ServerAdmin ubuntu.firehare@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>

设置Trac的访问权限

sudo htpasswd -c /var/www/trac/.htpasswd firehare

将该虚拟主机激活:

sudo a2ensite trac
sudo /etc/init.d/apache2 restart

由于使用了域名,则需要在DNS(域名)服务器上将trac.firehare.name指向本机即可,如果没有DNS服务器,又想测试一个效果,可以在/etc/hosts文档中加入以下配置:

127.0.0.1       trac.firehare.name

[编辑] 测试Trac

接下来就可以通过在浏览器地址栏中输入 http://trac.firehare.name (这个网址由您的虚拟主机名决定)来访问Trac了,

trac 的安装设置的更多相关文章

  1. 多trac的安装和配置

    其他相关网页: trac+svn: http://wenku.baidu.com/view/84389a81ec3a87c24028c43f.html apache(GCI):http://hi.ba ...

  2. hive安装--设置mysql为远端metastore

    作业任务:安装Hive,有条件的同学可考虑用mysql作为元数据库安装(有一定难度,可以获得老师极度赞赏),安装完成后做简单SQL操作测试.将安装过程和最后测试成功的界面抓图提交 . 已有的当前虚拟机 ...

  3. Fiddler的安装设置

    一.安装设置Fiddler2  下载完成后安装,安装完成后打开 如下图设置Fiddler 代理: 二.设置手机代理 快捷键win+r打开运行窗口à输入:cmdà确定 在界面上输入:ipconfig,查 ...

  4. PyCharm 2017 官网 下载 安装 设置 配置 (主题 字体 字号) 使用 入门 教程

    一.安装 Python 3.6 首先,要安装好 Python 3.6.如果你还没有安装,可以参考咪博士之前的教程 Python 3.6.3 官网 下载 安装 测试 入门教程 (windows) 二.官 ...

  5. Ubuntu 18.04 Numix主题安装设置

    Ubuntu 18.04 Numix主题安装设置 一.首先安装Numix主题 展现效果如下图 1.安装numix sudo add-apt-repository ppa:numix/ppa 2.安装主 ...

  6. [0412]SQL Server 2008 R2 安装 & 设置

    SQL Server 2008 R2 安装 & 设置 Sql Server 安装 安装环境: Windows 10 1709 64位 安装文件: Sql Server 2008 R2 Sql ...

  7. ActiveReports 报表控件V12新特性 -- 可定制的安装设置

    ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...

  8. Jenkins Maven安装设置

    Jenkins Maven安装设置 如果没有学习过 Maven 的朋友,可以先了解 Maven教程,然后再进一步学习本教程文章. 第1步:下载和设置Maven Maven的官方网站就是Apache M ...

  9. MinGW安装设置

    From:http://www.cnblogs.com/killerlegend/p/3746504.html Author:KillerLegend Date:2014.5.22 不得不吐槽一下学校 ...

随机推荐

  1. git 克隆一个新仓库

    1.登陆git网页版,点击右上角创建新项目 2.更改project path(如果需要),填写project name,其它选项默认. 3.到本地要创建存放项目的目录下,打开git命令框,输入git ...

  2. Servlet4.0 注解不生效解决

    当我们创建好一个4.0的servlet 生成的注解大概是这样  name=xxxxx 默认的是不具有效果的 你可以有两种方式 1.去掉属性name,3.0就是这样子的 2.非要有name属性 请加上u ...

  3. VirtualBox虚拟机安装CentOS 7

    新建虚拟机 因为比较简单,所以对于VirtualBox就不做过多介绍了,直接下载安装即可,安装好之后打开Oracle VM VirtualBox管理器,点击新建,选择Red Hat(根据windows ...

  4. 请教一下16aspx上的源代码要如何在自己的服务器上运行

    很正常呀,,我下载的也有运行不成功的你要去他们16aspx论坛发帖子问这里很少有人回答你这样的问题

  5. window下Kafka最佳实践

    Kafka的介绍和入门请看这里kafka入门:简介.使用场景.设计原理.主要配置及集群搭建(转) 当前文章从实践的角度为大家规避window下使用的坑. 1.要求: java 6+ 2.下载kafka ...

  6. tyvj——P1002 谁拿了最多奖学金

      P1002 谁拿了最多奖学金 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2005复赛提高组第一题 描述 某校的惯例是在每学期的期末考试之后发 ...

  7. Xamarin XAML语言教程通过ProgressTo方法对进度条设置

    Xamarin XAML语言教程通过ProgressTo方法对进度条设置 在ProgressBar中定义了一个ProgressTo方法,此方法也可以用来对进度条当前的进行进行设置,ProgressTo ...

  8. CV2

    Education 2008-09 - 2012-07  Xian Peihua University English  Junior CollegeTarget Jobs:  Project Man ...

  9. 你也许还不知道const_cast,static_cast,dynamic_cast,reinterpret_cast的区别吧?

    [QQ群: 189191838,对算法和C++感兴趣可以进来]       开篇立意: C++中各种转换令人眼花缭乱,看似差不多,实际差很多,而且在当今时间,做一个"差不多先生"其 ...

  10. 我也来说说js的事件机制

    原文链接:http://www.w3cfuns.com/notes/17398/8062de2558ef495ce6cb7679f940ae5c.html 学js,不懂事件机制,基本可以说学了js,就 ...