Trac on FreeBSD实践  ZT

薛建敏 < xuejm # cnfug.org >

概要

本文简要介绍了如何在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

6. 安装SVN: 这里我安装的时候直接选择支持Python和Apache,这样子安装以后我们就只要在小修改一下httpd.conf就可以让Apache和SVN一起协作了。
#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

9. 配置Apache2以支持SVN: 打开配置文件httpd.conf,找到LoadModule那部分将将一下模块的加载语句前面的注释去除:
LoadModule dav_module ...
LoadModule dav_fs_module ...
LoadModule dav_svn_module ...
LoadModule authz_svn_module ...

下来我们需要添加配置以便让Apache直到我们的SVN仓库的位置信息,添加以下内容到httpd.conf
<Location /svn>
DAV svn
SVNPath /usr/home/svn
</Location>

注意:这里没有关于安全认证的配置,关于这部分清参考书籍: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
$svn import helloworld http://localhost/svn/cnfug/helloworld -m "Importing of 1st project"

 

14. 重新启动Apache2:

#/usr/local/sbin/apachectl restart

 

15. 访问http://localhost/svn/cnfug, 你应该可以看到我们刚才添加的目录helloworld。这个表明我们对于SVN和Apache2的安装已经成功!

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

 

19. 这样子我们第一个Trac项目就运行起来了!!让我们登陆到http://localhost:8080/上去就可以看到如下图片中的内容。


经过以上的步骤,我们终于让我们的第一个Trac系统运行起来了。可能大家这里也注意到了我们这个Trac是基于tracd运行的,而更多人希望是能够和Apache结合起来。

我也希望在下一篇文章中能够介绍一下如何在现在的基础上和Apache2集成起来运行我们的Trac!

参考资料及资源

在本文的编写过程中参考或者使用了因特网上面的资源或文档,这里本人尊重相关资源所有者的所有权利并无意侵犯。这里列举其中一些已表示对于作者的感谢。

·FreeBSD ISO: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/5.4/
·FreeBSD手册: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html
·Trac: http://projects.edgewall.com/trac/
·Trac Installation Guide: http://projects.edgewall.com/trac/wiki/TracInstall
·SVN: http://subversion.tigris.org/
·SQLite: http://www.sqlite.org/
·PySQLite: http://sourceforge.net/projects/pysqlite
·ClearSilver: http://www.clearsilver.net/
·Python: http://www.python.org/
·Apache2: http://httpd.apache.org/

你可能感兴趣的:(FreeBSD)