Trac是Edgewall公司开发并维护的开放源码网页界面项目管理、缺陷追踪软件。要搭建Trac服务器平台,不仅仅需要Trac软件,还需要网络服务器和数据库的支持。这其中包括了很多软件的安装和配置,具体过程会在下面一一详述。
1.安装Trac
2.配置网络服务器首先是在单机上的trac安装和配置。 在Ubuntu下安装Trac十分简单,只需要输入下列命令即可:sudo apt-get install trac这样的话,Ubuntu会自动下载安装trac、apache、subversion等必要的软件,如果需要trac支持BZR,则还需要用下列命令安装BZR插件:
sudo apt-get install trac-gittrac安装完毕后就可以直接建立trac环境了,也就是建立一个完整的工程。一个Trac环境是在后台存储Trac像wiki pages,tickets,reports,settings等。一个环境基本上就是一个目录,包含一个可读的配置文件,以及其他各式各样的文件和目录。创建一个新的环境使用trac-admin命令:trac-admin /home/trac initenv我使用的路径是trac-admin /home/trac initenv,然后会出现建立工程的选项,只需要填写项目名称(myproject),其他的路径全部用默认的即可。然后会提示trac环境建立成功,而且会出现单机访问的连接:
tracd --port 8000 /home/trac点击访问链接,就可以看到我们刚刚建立的trac画面了:
点击myproject,就可以进入trac的主页了,只是现在是一个空的工程,什么内容都没有:
sudo apt-get install postgresql
为了让trac能访问Postgresql,则需要安装python-psycopg2模块:
sudo apt-get install python-psycopg2
然后启动Postgresql服务器daemon(命令中的版本号可能不同):
sudo /etc/init.d/postgresql start
sudo -u postgres sh (切换到postgres用户) createuser -A -D -P hcx(创建hcx用户,并提示输入密码,请输入123456以便和下文对应) Shall the new role be allowed to create more new roles? (y/n) y Createdb -O hcx trac (创建trac数据库) exit (退出postgres用户,回到正常用户提示行)要支持MysqL要先安装python-MysqLdb 只需输入下列命令:sudo apt-get install python-MysqLdb数据库配置完毕了,要将数据库和trac连接在一起。Trac用目录和数据库来储存项目信息,叫做”环境“。一个新的Trac环境是通过使用trac-admin创建出来的,Trac环境可以放至在任意位置,由于Trac是个Web应用,是通过Apache来访问的,考虑到空间的使用,我们将其设在/home目录中。具体命令及设置如下:cd /home sudo mkdir trac sudo chown -R www-data:www-data trac sudo -u www-data trac-admin trac initenv Project Name [My Project]> myproject (在这里输入你的项目名称) Database connection string [sqlite:db/trac.db]> postgres://hcx:123456@localhost/trac (输入Postgresql数据库的位置) Repository type [svn]> Path to repository [/path/to/repos]> Templates directory [/usr/share/trac/templates]>创建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 sudo htpasswd -c /home/trac/.htpasswd hcxsudo gedit /etc/apache2/sites-available/trac然后编辑如下的配置:<VirtualHost 127.0.0.1> ServerName hcx ServerAdmin hcx196@gmail.com DocumentRoot /home/trac <Location /> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnv/home/trac/ PythonOption TracUriRoot / SetEnv PYTHON_EGG_CACHE /tmp </Location> <Location /login> AuthType Basic AuthName "Trac Server" AuthUserFile /home/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 /home/trac/.htpasswd hcx将该虚拟主机激活: