freebsd7.0+svn1.5+trac+Apache2搭建软件项目管理解决方案

freebsd7.0+svn1.5+trac+Apache2搭建软件项目管理解决方案

背景技术列教程版权归集思博客所有,请注明出处:集思博客(wwww.gishblogs.net)

1、FreeBSD是一种以稳定、强网络处理能力著称的类unix系统,是免费开源的软件产品。与Linux类似,不同于linux的众多发布版本,freebsd是由一个开发团队在维护和发展。当前最新的发布版本是7.0。

2、SVN(Subversion)是一款由CVS开发人员开发的软件管理工具,非常适合团队开发管理源代码。发布之后风靡开源社区,成为CVS的最理想的升级产品。当前最新版本1.5.3。

3、trac一款开源的项目管理软件。列教程版权归集思博客所有,请注明出处:集思博客(wwww.gishblogs.net)

4、Apache2是一款开源的web服务器,以功能强大、性能稳定著称。当前最新版本2.2

摘要

列教程版权归集思博客所有,请注明出处:集思博客(wwww.gishblogs.net)

利用freebsd+apache强大而稳定的网络性能,为公司搭建基于web的软件管理和项目管理解决方案。SVN用户源代码管理,trac用于项目管理,二者共同运用,为企业打造方便、安全的软件、项目管理解决方案。

部署步骤

第一步 安装freebsd

可以从freebsd的官方网站上下载最新的7.0,刻录成碟,进行最小化+ports+man的安装。已经有想当多这方面的技术文章,就不再详述。

记得更新一下ports树

列教程版权归集思博客所有,请注明出处:集思博客(wwww.gishblogs.net)

第二步 安装apache

注意要先安装apache,在装subversion,否则安装subversion的配置,会让系统自动安装apache2.0

dev# cd /usr/ports/www/apache22

dev# make install clean

会出来配置选项,选中AUTH_MODULES,DAV_MODULES,SSL_MODULES,BERKELEYDB=db42几个模块就行列教程版权归集思博客所有,请注明出处:集思博客(wwww.gishblogs.net)

第三步 安装subversion(svn)

dev# cd /usr/ports/devel/subversion

dev# make install clean会出配置选项,选中SVNSERVE_WRAPPER,MOD_DAV_SVN,APACHE2_APR

第四步 安装trac

dev# cd /usr/ports/www/trac
dev# make install clean
第五步 初始化SVN
dev# mkdir -p /svn/repos
dev# svnadmin create /svn/repos
dev# chown -R www:www /svn/repos
第六步 初始化trac
dev# mkdir -p /trac/projects/
dev# trac-admin /trac/projects initenv
dev# chown -R www:www /trac/projects/ (这一步很重要哦。如果没有修改owner下面和Apache集成之后会出现没有权限的错误不能正常显示)

操作中会提示一些信息,提示subversion 的 repository地址就是前面我们创建的repository /svn/repos 其他都不用设置这样就建立好了,启动standalone服务器tracd

dev# tracd --port 8000 /trac/projects 这样就可以通过http://you.host.nameOrIP:8000 查看到安装成功的trac了.这算是基本完成了。

列教程版权归集思博客所有,请注明出处:集思博客(wwww.gishblogs.net)
第七步 配置apache
设置 Apache 的配置文件 /usr/local/etc/apache22/httpd.conf,以下只显示了主体部分:.....
LoadModule usertrack_module libexec/apache22/mod_usertrack.so
LoadModule unique_id_module libexec/apache22/mod_unique_id.so
LoadModule setenvif_module libexec/apache22/mod_setenvif.so
LoadModule version_module libexec/apache22/mod_version.so
LoadModule ssl_module libexec/apache22/mod_ssl.so
LoadModule mime_module libexec/apache22/mod_mime.so
LoadModule dav_module libexec/apache22/mod_dav.so
LoadModule status_module libexec/apache22/mod_status.so
LoadModule autoindex_module libexec/apache22/mod_autoindex.so
LoadModule asis_module libexec/apache22/mod_asis.so
LoadModule info_module libexec/apache22/mod_info.so
.......
LoadModule alias_module libexec/apache22/mod_alias.so
LoadModule rewrite_module libexec/apache22/mod_rewrite.so
#LoadModule dav_module         libexec/apache22/mod_dav.so
LoadModule dav_svn_module     libexec/apache22/mod_dav_svn.so
LoadModule authz_svn_module   libexec/apache22/mod_authz_svn.so
注意:这里有两行“LoadModule dav_module         libexec/apache22/mod_dav.so”,
只能加载第一个,注销第二个,否则会出错。

第八步 使用htpasswd 创建验证用户

我们可以让svn和trac公用一套用户和密码

首先是配置.svpasswd文件,
#htpasswd -c /var/svn/.svnpasswd michael#输入口令
#htpasswd /var/svn/.svnpasswd lee (注意这里不在需要-c参数,它是用来第一次创建文件用的)
#输入lee用户的口令
#htpasswd /var/svn/.svnpasswd test#输入test用户的口令

创建好.svnpasswd文件

接着是配置.svnaccess文件,

运行 ee /var/svn/.svnaccess 编辑文件,加入下面的东西 [groups]
g_w = michael,lee
g_r = test

[test:/]
@g_w= rw
@g_r=rw

[toplee:/blog/]
michael=rw
lee=r
@g_r=r

[toplee:/mail/]
@g_w=rw
@g_r=w

列教程版权归集思博客所有,请注明出处:集思博客(wwww.gishblogs.net)

第九步 apache+svn+trac

在/usr/local/etc/apache22/Includes/目录下新建svn.conf、trac.conf、no-accf.conf

svn.conf内容
<Location /svn>
 DAV svn
 SVNParentPath /svn
 AuthType Basic
 AuthName "Subversion in test"
 AuthUserFile /var/svn/.svnpasswd
 AuthzSVNAccessFile /var/svn/.svnaccess
 Satisfy Any
 Require valid-user
</Location>


trac.conf内容
Alias /trac/chrome/common /usr/local/share/trac/htdocs
<Directory "/usr/local/share/trac">
        Order allow,deny
        Allow from all
</Directory>
#前面的内容必须用,否则没有访问权限
ScriptAlias /trac/test /usr/local/share/trac/cgi-bin/trac.cgi
<Location "/trac/test">
        SetEnv TRAC_ENV "/trac/projects"
</Location>
<Location "/trac/test/login">
        AuthType Basic
        AuthName "Trac"
        AuthUserFile /var/svn/.svnpasswd
        Require valid-user
</Location>
 

no-accf.conf内容
<IfDefine NOHTTPACCEPT>
   AcceptFilter http none
#   AcceptFilter https none
</IfDefine>
必须登陆才有权限

重启apache就有访问的权限

本解决方案,为集思博客原创,转载请注明来自集思博客(www.gisblogs.net)

列教程版权归集思博客所有,请注明出处:集思博客(wwww.gishblogs.net)

参考文章:

freebsdchina:FreeBSD配置subversion及trac系统   http://www.caisong.com/read.php/539.htm

Freebsd+Apache+Subversion+Trac http://blog.dayuer.com/freebsd-tooltips/freebsdapachesubversiontrac

FreeBSD上两种认证方式配置SVN笔记二 http://www.mscto.com/Unix_Linux/24680805.html

http://www.gisblogs.net/post/237.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值