64位FreeBSD 8.1下搭建SVN服务器

原创
系统 Linux
本文一步一步介绍了FreeBSD 8.1下SVN服务器的配置。SVN服务器是版本控制系统(可以看作是CVS的升级),一般用于开发环境,用于多人协同开发项目的源代码管理。本文使用的系统是64位FreeBSD 8.1,为了方便权限管理而采用了apache方式运行。

【51CTO独家特稿】本文一步一步介绍了FreeBSD 8.1下SVN服务器的配置。SVN服务器是版本控制系统(可以看作是CVS的升级),一般用于开发环境,用于多人协同开发项目的源代码管理。由于SVN服务器使用方便,它现在是版本控制系统的主流,尤其适用于集中式版本管理。当然Git也是后起之秀,它适用于更大的项目,多用于分布式环境。目前我们也在尝试进行Git的布署工作,不过本文还是先介绍SVN。有关CVS的配置方面,可以参考之前另一篇FreeBSD 8.1下配置CVS服务器的文章。

作者简介:余洪春(博客),网名抚琴煮酒,英文名Andrew.Yu,武汉某外企高级Linux/Unix系统管理员、项目实施工程师,红帽RHCE讲师,擅长负载均衡高可用和中小型证券类和商务网站架构,目前关注网站架构研究及网络安全。

推荐专题:企业内网开发环境部署与管理全攻略(FreeBSD+PHP)

安装前的准备工作

系统是64位的FreeBSD 8.1,相关优化及配置我这里也不多费笔墨了(具体可以参考51CTO的FreeBSD配置与优化专题)。将ports配置好,由于SVN可以独立运行,也可以以Apache附加的形式运行;我这里为了权限控制的方便,采用的是apache方式,所以这里第一步是配置Apache,注意FreeBSD 8.1第一次运行apache22还有点问题,下面会详细解释。

由于是内网环境,我这里直接以我的用户andrewy远程登陆,然后sudo su - 切换到root权限下操作;这个不是太推荐哈。

一、安装apache22

ports及vim优化是前提和基础,我这里不浪费时间解释。有兴趣的请搜索我以前的文章FreeBSD的优化策略。这里说下FreeBSD 8.1下Apache22的安装:

cd /usr/ports/www/apache22
make WITH_BERKELEYDB=db4 install clean

增加的选项就是为了subversion得用的一个库【有很多的默认配置信息,选择默认就可以了】

安装完毕后,

echo 'apache22_enable="YES" ' > /etc/rc.conf

习惯了sed的流编辑,不想用vim打开编辑,偷懒操作,呵呵。

FreeBSD8.1下启动apache22有个小bug,如果想像FreeBSD8下安装apache22一样直接就可以启动是不可能的。

解决方法:

vim /usr/local/etc/apache22/httpd.conf 

用#号注释掉这一句

LoadModule unique_id_module libexec/apache22/mod_unique_id.so

记得修改ServerName 127.0.0.1:80,不然启动时apache22会提示。

然后/usr/local/etc/rc.d/apache22 start没问题,可以用sockstat -4l验证。

二、用ports安装SVN

安装subversion

#cd /usr/ports/devel/subversion/
#make WITH_MOD_DAV_SVN=yes install clean

我这里由于是以Apache22的方式启动SVN,所以apache的配置文件后需要增加如下代码

#vim /usr/local/etc/apache22/httpd.conf
<Location /svn>
    DAV svn
    SVNParentPath /data/svn
    AuthzSVNAccessFile /data/svn/svn-acl-conf
    AuthType Basic
    AuthName "Ewizweb SVN Server"
    AuthUserFile /data/svn/svn-auth-file
    Require valid-user
</Location>
mkdir -p /data/svn
chmod -R 755 /data/svn

三、配置SVN的用户acl及用户权限文件

下面是控制用户的acl文件

vim /data/svn/svn-acl-conf
[groups]
bolan_dev = web,andrwy,cc
test=test
[produce:/]
@bolan_dev= rw
@test=r
[rest:/]
@bolan_dev = rw
@test=r

此文件可以控制你的内网不同的开发小组,只允许他们访问各自的project;有些特殊用户(比如Director,可以让他看代码)上面的文件很简单,相信大家一看就明白了。

下面则是SVN的用户验证文件,它是用Apache的htpasswd加密,这个过程大家玩Apache就应该很熟悉了。

Apache和SVN安装完后记得rehash,不然很多命令都看不到。

#htpasswd -c /etc/svn-auth-file andrewy

第一次添加用户时需要C参数,以后就不需要了。

添加用户

#htpaawd /etc/svn-auth-file test

正常启动SVN后就可以在windows下用TortoiseSVN正常连接SVN服务器,checkout及commit了,安装完TortoiseSVN后它会自动跟你的IE集成,你在你的工作目录新建一个目录—例如My_project,然后点右键“SVN checkout”,输入正确的http地址即可,如下图:

用TortoiseSVN正常连接SVN服务器 

总体感觉就是在FreeBSD下配置项目管理软件确实比Linux下方便多了,希望上面的文章对大家工作有所帮助。

【51CTO.com独家特稿,转载请注明原文作者和出处。】

【编辑推荐】

  1. FreeBSD 8.1下CVS服务器配置步骤与须知
  2. 实路出真知 FreeBSD8下Bridge配置openVPN
  3. FreeBSD 系统管理员都应该知道的那点秘密
  4. FreeBSD 8.0下jail虚拟机完全实践
责任编辑:yangsai 来源: 51CTO.com
相关推荐

2011-04-11 11:05:07

FreeBSD 8.1

2011-01-13 15:57:20

FreeBSD 8.1vsftpd

2011-01-07 09:44:13

2010-05-21 13:07:14

Windows下SVN

2010-05-25 08:46:12

2014-08-06 11:25:00

LinuxSVN服务器

2010-06-02 19:01:38

搭建SVN服务器

2010-06-02 19:48:23

搭建SVN服务器

2010-05-25 09:32:04

搭建SVN服务器

2010-06-02 18:51:35

搭建SVN服务器

2010-05-24 09:43:28

搭建SVN服务器

2010-05-24 09:59:54

SVN服务器搭建

2013-06-08 10:13:13

64位ARM服务器

2010-05-24 10:12:16

SVN服务器搭建

2010-05-28 10:49:29

SVN服务器搭建

2010-05-24 09:24:18

SVN服务器搭建

2013-11-12 16:03:35

红帽ARM服务器

2010-05-31 10:09:32

2012-11-05 10:54:36

戴尔AppliedMicr芯片

2013-11-25 17:19:50

红帽RedHatARM服务器
点赞
收藏

51CTO技术栈公众号