Ubuntu上安装Trac
Trac是一个轻量级项目管理软件,使用Web界面,最近我发现用它来管理一下个人事务也是提不错的,因此就在自己的机器上安装了一个。对于像我这样的非专业人式来说,安装Trac实在是有点麻烦,有些问题我还是在得到专门人工的帮忙下才搞定,因此有必要记录一下。我的系统是Ubuntu 7.04,相信以下的安装过程在Debain上也是大同小异。
第一步: 安装Trac软件并初始化Trac系统
在Ubuntu上安装Trac软件很简单,只需运行:
sudo apt-get install trac
安装完后就可以建立Trac系统,我准备安装在/var/www/trac目录下。建立Trac系统主要使用trac-admin中的initenv命令。注意所有对Trac系统的操作我都用www-data用户来完成,因为Trac是一个Web应用,是通过Apache来访问的。详细过程如下:
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]> 在这里输入你的项目名称
Database connection string [sqlite:db/trac.db]>
Repository type [svn]>
Path to repository [/path/to/repos]> 在这里输入你的项目对应的Subversion地址
Templates directory [/usr/share/trac/templates]>
注意Trac默认情况下只能访问本机的Subversion仓库,在上面填写地址时不能加"file://"前缀。
第二步: 配置Apache
初始化Trac系统后,还需要在Apache中进行相应的配置才能使用。由于Trac使用CGI,因此首先要将Trac的CGI程序(/usr/share/trac/cgi-bin/trac.cgi)部署到Apache的cgi-bin目录中(做个符号链接即可)。过程如下:
cd /usr/lib
sudo mkdir cgi-bin
sudo chown -R www-data:www-data cgi-bin
cd cgi-bin
sudo -u www-data ln -s /usr/share/trac/cgi-bin/trac.cgi trac.cgi
然后在Apache配置中加入Trac站点的配置信息,在Ubuntu下站点配置通常放在/etc/apache2/sites-available/default这一文件中,可编辑该文件加入以下内容(这些内容在Trac的说明文档中都有,在/usr/share/doc/trac/README.Debian文件中):
Alias /trac/ "/usr/share/trac/htdocs/"
<Directory "/usr/share/trac/htdocs/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Location "/cgi-bin/trac.cgi">
SetEnv TRAC_ENV "/var/www/trac"
</Location>
<Location "/cgi-bin/trac.cgi/login">
AuthType Basic
AuthName "trac"
AuthUserFile /etc/apache2/trac.htpasswd
Require valid-user
</location>
上面配置使用Apache内建支持的基于htpasswd文件的Basic认证方式,使用/etc/apache2/trac.htpasswd为口令文件,因此需要创建这一文件,并创建用于访问Trac系统的用户名和密码。这通过htpasswd命令完成,如下所示:
cd /etc/apaceh2
sudo htpasswd -c trac.htpasswd 你的用户名
在这里输入用户密码
最后使用重新加载Apache配置:
sudo /etc/init.d/apache2 reload
然后就可以通过浏览器访问你的Trac了,地址是http://localhost/cgi-bin/trac.cgi。
第三步: 安装WebAdmin
按上面的方法安装后已经获得了一个全功能的Trac系统,但很多管理工作如增加模块,管理权限等都要通过trac-admin命令行工具来完成,不是很方便。为简化Trac使用,可以安装WebAdmin插件。
首先安装setuptools:
sudo apt-get install python-setuptools
然后从Trac的Subversion上下载WebAdmin的源代码进行编译,如下:
cd /tmp
sudo -u www-data svn co http://svn.edgewall.com/repos/trac/sandbox/webadmin/
sudo -u www-data python setup.py bdist_egg
编译完成后在dist目录下会产生一个TracWebAdmin-xxx.egg文件,将这一文件拷贝到trac系统的plugins目录。.egg文件为一个Python软件的打包方式,类似于Java开发EJB时的.ear等文件,在加载这一软件包时Apache会将其内容解压放到/var/www/.python-eggs目录下,因此如果你还没有创建/var/www/.python-eggs目录需要先创建一个。最后重新加载Apache配置,WebAdmin的安装就算完成了。
安装完WebAdmin后,对于那些有某些admin权限的用户,在登陆到Trac后将在顶总的导航栏出现"Admin"项,点击进入即可完成一些管理操作。但由于默认的用户都没有admin权限,因此首先要使用trac-admin工具为用户设置权限,才能用WebAdmin的管理功能。