Trac 简介 ¶
Trac是Edgewall公司推出的网页界面专案管理软件,尤其擅长软件BUG跟踪方面。 Trac使用Python编程语言开发。在2005年中以前,Trac以GPL发行;直到 0.9 版开始使用修改过的BSD许可证发布。基本上都是属于自由软件的许可证。该软件集成了增强的Wiki功能和版本控制功能,并可通过插件扩展其功能。 由于其插件众多、功能全面,甚至可以与很多商业的CMS系统媲美,安装也不复杂,因此应用也日益广泛。它的ticket管理及工作流插件( http://trac-hacks.org/) 使得它也可以很方便地进行简单的业务协作及流程控制。
配置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
Trac快速安装 ¶
因为 0.12 开始支持 i18n,所以直接体验开发版了。其中 *表示 i18n 需要的步骤。
安装 easy install到下面的地址下载 setuptools-0.6c11.tar.gz
http://pypi.python.org/pypi/setuptools#using-setuptools-and-easyinstall$
tar zxf setuptools-0.6c11.tar.gz
$ cd setuptools-0.6c11
# python setup.py install
下载 CLDR 信息 * ¶
$ fetch http://www.lab.unb.br/pub/unicode/cldr/1.6.1/
$ mkdir cldr
$ cd cldr
$ unzip ../core.zip
安装 Babel,用于 i18n * ¶
$ fetch http://ftp.edgewall.com/pub/babel/Babel-0.9.4.tar.gz
$ tar zxf Babel-0.9.4.tar.gz$ cd Babel-0.9.4
$ python setup.py egg_info$ python scripts/import_cldr.py /home/kasicass/trac/src/cldr/
# python setup.py install
先装 genshi 模版系统 ¶
$ svn co http://svn.edgewall.org/repos/genshi/trunk genshi
$ cd genshi
# python setup.py install
配置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版本库目录十分简单,只需要输入下列命令即可: (如果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
配置Mysql数据库 ¶
* 这里假设您已经安装了Mysql数据库,如果没有安装数据库,请参照LAMP安装中关于Mysql安装的说明文档。
* 配置mysql字符集
在mysql安装的目录下,默认为/etc/mysql/my.d,打开此文件,添加以下信息:
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
#在此位置添加以下两行代码:
default-character-set=utf8
default-storage-engine=INNODB
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
* 添加Mysql用户和数据库
添加Mysql用户需要输入下列命令:
sudo mysql -u root
mysql > CREATE USER '${trac_user}'@'localhost' IDENTIFIED BY '${trac_pwd}';
mysql > grant all privileges on *.* to ${trac_user}@'localhost';
创建Mysql数据库需要输入下列命令:
sudo mysql -u root
mysql > create database ${trac_database};
再装 trac ¶
$ svn co http://svn.edgewall.org/repos/trac/trunk trac
$ cd trac$ python setup.py compile_catalog -f # ***
# python setup.py install
创建配置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]> ${your_project}(在这里输入你的项目名称)
Database connection string [sqlite:db/trac.db]>mysql://${trac_user}:${trac_pwd}@localhost/${trac_database}(输入PostgreSQL数据库的位置)
Repository type [svn]>
Path to repository [/path/to/repos]> ${your_svn_path} (在这里输入你的项目对应的Subversion地址,注意Trac默认情况下只能访问本机的Subversion仓库,在上面填写地址时不能加"file://"前缀。)
Templates directory [/usr/share/trac/templates]>/usr/share/pyshared/trac/templates
设置logo ¶
$ cp logo.png /home/kasicass/mytrac/htdocs
修改 conf/trac.ini
src = site/logo.png
然后配置虚拟主机站点,当然如果没有虚拟主机的话,也可以将之放在/etc/apache2/sites-available/default文件中,在这里我们还是新建一个虚拟主机:
sudo vi /etc/apache2/site-available/trac
<VirtualHost 10.10.3.29>
ServerName trac.firehare.name
ServerAdmin [email protected]
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
参考文档: ¶
http://ymwang78.spaces.live.com/blog/cns!BED5BD78E882CF07!4408.entry
http://babel.edgewall.org/wiki/SubversionCheckout
http://trac.edgewall.org/wiki/TracL10N