Chinaunix首页 | 论坛 | 博客
  • 博客访问: 542711
  • 博文数量: 48
  • 博客积分: 1249
  • 博客等级: 中尉
  • 技术积分: 1926
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-04 10:22
文章存档

2012年(3)

2011年(45)

分类: BSD

2011-12-15 03:47:33

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。

    本文一步一步介绍了FreeBSD 8.1CVS服务器的配置。SVN服务器是版本控制系统(可以看作是CVS的生级),一般用于开发环境,用于多人协同开发项目的源代码管理;目常由于SVN服务器的方便,它应该是版本控制系统的主流,尤其适用于集中式版本管理,当然Git也是后起之秀,它适用于更大的项目,多用于分布式环境。

安装前的准备工作

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

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

一、portsvim优化是前提和基础,我这里不浪费时间解释。有兴趣的请搜索我以前的文章或googel,这里说下freebsd8.1Apache22的安装

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

    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

mkdir -p /data/svn

chmod -R 755 /data/svn

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

下面是控制用户的acl文件

vim /data/svn/svn-acl-conf

[groups]

bolan_dev = webandrwy,cc

test=test

[produce:/]

@bolan_dev= rw

@test=r

[rest:/]

@bolan_dev = rw

@test=r

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

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

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

#htpasswd -c /etc/svn-auth-file andrewy,第一次添加用户时需要C参数,以后就不需要了。

添加用户

#htpaawd /etc/svn-auth-file test

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

总体感觉就是在FreeBSD下配置项目管理软件确实比Linux下方便多了,我基本上将工作中的SVN服务器全都迁徙到FreeBSD下了,希望这篇文档对大家有所帮助。

阅读(2832) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~