本文简要介绍了如何在FreeBSD上面安装Trac。Trac是一个具有增强的Wiki和问题跟踪系统的基于WWW的项目管理系统。
?它无缝集成了SVN版本控制系统,并且提供了一个浏览SVN源代码的页面。
?它提供了一系列的报表来协助项目的管理。
?它允许在问题描述中嵌入Wiki格式的内容。
?它允许在向SVN提交更改的信息中嵌入Wiki格式的内容。
目的
通过阅读或者参考本文,您可以最终在FreeBSD系统上面安装和运行一个Trac项目管理系统。
前置条件
安装这个系统需要您对于FreeBSD有基本了解,知道Python编程语言。在安装的过程中如果出现问题能够自己参考FreeBSD手册来解决。
系统需求
在安装Trac的时候,需要以下系统或者软件并且所有软件将会从FreeBSD Ports中来安装:
?FreeBSD 5.3最小安装版:如果使用最小安装版,您在安装的时候需要拥有连接因特网。
?portmanager
?Apache2
?Python
?SQLite: Trac用来存储数据的数据库系统。
?SVN: 也就是Subversion, 在CVS基础上重新设计的新一代版本控制系统。
?ClearSilver-python
?py-PySQLite: 用来支持通过Python语言访问SQLite数据库。
?Trac
详细步骤
1. 安装FreeBSD5.3。建议在安装之前阅读FreeBSD手册,因为我是从头安装起来的因此不存在保存、备份以前数据的问题。如果你没有空闲的机器,那么希望你能够找到其他方法;如果你已经有现成的FreeBSD5.3系统,则可以跳过第1节。
1.1 将安装光盘放入CD-ROM然后重新启动机器,如果你已经设置了光驱启动功能,那么机器重新启动后就可以进入内核配置界面截图如下:
我们不关系内核配置,因此选择第一行跳过内核配置进入安装界面截图如下:
1.2 在安装界面中选择Express进入安装过程,在这个过程中他会提示你进行磁盘分区等操作。遇到这些操作的时候按照提示进行即可。
1.3 进入选择安装方式的时候,系统提供你几个配置包供你选择。因为我们安装的是一个台项目管理服务器,因此不需要图形界面。因此我们选择安装最小的二进制文件和文档(User)就可以了。
1.4 在选择了安装User包以后,系统会提示你是否需要安装Ports集合,因为我们所有的基础系统都是从Ports中安装,因此这里选择“是(Yes)”。
1.5 在系统提示选择安装媒介的时候选择CD/DVD。然后经过大约十几分钟的安装,我们的FreeBSD系统安装差不多了好了。
1.6 系统安装完成以后我们还需要做几件事情:设置root用户密码; 激活网络,这样我们可以访问因特网已安装其他软件。
2. 安装Portmanager。由于是第一次使用ports来安装软件,因此我们先要找找这个portmanager在那里:
#whereis portmanager
#portmanager: /usr/ports/sysutils/portmanager
通过运行上面的命令,我们知道portmanager在/usr/ports/sysutils/portmanager目录里面,于是我们进入这个目录。然后运行命令
#make install clean
这样经过一段时间portmanager就安装好了。
3. 安装Apache2。同样方法我们找到apache软件在目录/usr/ports/www/apache2中,然后我们执行一下命令安装apache2:
#cd /usr/ports/www/apache2
#make WITH_BERKELEYDB=db4 install clean
这里我们在安装Apache2的时候,指定Apache2需要支持Berkeley DB4。因为后面安装的SVN系统需要使用db4,如果我们这里不一次方式安装,安装SVN的过程中会出现错误。
4. 安装Python:
#cd /usr/ports/lang/python
#make install clean
5. 安装SQLite:
#cd /usr/ports/database/sqlite
#make install clean
#cd /usr/ports/devel/subversion
#make WITH_PYTHON=yes WITH_MOD_DAV_SVN=yes install clean
提示:如果前面我们在安装Apache2的时候没有支持bdb4,那么SVN安装的过程中将出现错误以致无法继续。
7. 安装ClearSilver-python: 在Trac的官方安装文档上面将clearsilver和python支持库的安装时分开的,由于我不是很了解他们之间的关系,而且ports里面提供了clearsilver-python的安装包,因此我直接采用这个。
#cd /usr/ports/www/clearsilver-python
#make install clean
8. 安装pysqlite:因为Trac是用Python语言编写的,而且在其运行过程中需要访问SQLite数据库,我们也必须提供python 的支持。
#whereis py-PySQLite
#py-PySQLite: /usr/ports/database/py-PySQLite
#cd /usr/ports/database/py-PySQLite
#make install clean
LoadModule dav_module ...
LoadModule dav_fs_module ...
LoadModule dav_svn_module ...
LoadModule authz_svn_module ...
DAV svn
SVNPath /usr/home/svn
注意:这里没有关于安全认证的配置,关于这部分清参考书籍:Version Control with Subversion
10. 添加用户对svn进行管理:这里我建议不要用root来运行所有的软件,这样可以增强系统的安全性。因此我们这里需要增加新用户来管理svn.
10.1 增加用户组svn
10.2 增加用户svn, 将用户svn添加到组svn中。
11. 添加第一个SVN项目仓库:
#su - svn
$makedir cnfug
$svnadmin create cnfug
12. 添加完了仓库以后我们需要允许apachd2来读写这个仓库,因此我们需要通过以下方式来实现:
12.1 将apache2运行的账户www添加到组svn中来。
12.2 将目录/usr/home/svn/cnfug及其子目录的权限更改为“组可写”
#pw groupmod svn -M www
#su - svn
$chmod -R g+w cnfug
13. 添加第一个项目到SVN仓库cnfug:
#su - svn
$cd /tmp
$mkdir helloworld
$touch helloworld/helloworld.py
14. 重新启动Apache2:
#/usr/local/sbin/apachectl restart
16. 创建用户trac和用户组trac, 将用户trac添加到svn用户组中,以便于trac访问svn仓库。
17. 安装配置Trac,最后一步了加油阿!
17.1 安装Trac:
#whereis trac
#trac: /usr/ports/www/trac
#cd /usr/ports/www/trac
#make install clean
17.2 配置Trac并创建第一个项目:
#su - trac
$trac-admin /usr/home/trac/cnfug initenv
下来Trac在环境初始化的时候会询问你几个问题包括:项目名称,SVN仓库路径,Trac模版目录。然后环境就创建成功了。
18. 运行第一个Trac项目:
$tracd --port 8080 cnfug
经过以上的步骤,我们终于让我们的第一个Trac系统运行起来了。可能大家这里也注意到了我们这个Trac是基于tracd运行的,而更多人希望是能够和Apache结合起来。
我也希望在下一篇文章中能够介绍一下如何在现在的基础上和Apache2集成起来运行我们的Trac!
参考资料及资源
在本文的编写过程中参考或者使用了因特网上面的资源或文档,这里本人尊重相关资源所有者的所有权利并无意侵犯。这里列举其中一些已表示对于作者的感谢。
coolentboy 于 2006-08-05 10:08:13发表:
xiexie