今天自己在vm(centos5.1)中做了一个svn,感觉还不错,所以把过程写下来,希望能对他人有所帮助。
     svn(subversion)版本管理工具。有利于系统管理员更好的管理共享的技术文档、开发的项目等等。
     我安装的svn是基于apache的。
步骤如下:
一、安装lamp环境(linux+apache+myslq+php)。mysql和php可以不装。在编译apache的是注意一点:configure的时候加上--enable-dav
 
二、下载svn软件。下载地址 http://download.chinaunix.net/download/0001000/23.shtml我下载的是subversion-1.5.0.tar.bz2。
安装subversion
tar  -jxvf subversion-1.5.0.tar.bz2
cd subversion-1.5.0
./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2
make && make install
 
三、查看svn是否安装成功
/usr/local/subversion/svnserver --version
出现下面的画面就说明成功了.
svnserve, version 1.5.0 (r31699)
   compiled Apr 21 2010, 05:50:24
Copyright (C) 2000-2008 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet ( http://www.Collab.Net/).
The following repository back-end (FS) modules are available:
* fs_fs : Module for working with a plain file (FSFS) repository.
Cyrus SASL authentication is available.
 
四、创建svn仓库
/usr/local/subversion/svnadmin create /data/svnroot/svn1
这里你可以建立多个
例如:/usr/local/subversion/svnadmin create /data/svnroot/svn2
 
五、配置apache的httpd.conf
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so     //*这2个so模块在subversion安装完以后就会自动加载到httpd.conf中*//
<Location /svn>
DAV svn
SVNParentPath /data/svnroot
AuthzSVNAccessFile /data/svnroot/authz.conf    //用户访问控制文件
AuthUserFile /data/svnroot/authfile                       //用户名密码文件
Require valid-user
AUthName "Subversion repository"
AuthType Basic
</Location>
 
六、配置authz.conf和authfile文件
htpasswd -c /data/svnroot/authfile username
password
password
这个时候会在/data/svnroot下生成一个authfile文件如果你还想添加多个用户
htpasswd -m /data/svnroot/authfile username
 
好了 现在来说说authz.conf文件
touch authz.conf
它的内容如下
[groups]                   设置组
group_one = username      group_one成员(username是authfile中的用户)
[svn1:/]                               svn1 根目录
@group_one = rw             group_one成员有读写权限
* = r                                      其他的有读权限
还有一个很重要的文件需要我们配置svn1/conf/snvserver.conf
它的内容如下
anon-access = read
auth-access = write
password-db = /data/svnroot/authfile
authz-db = /data/svnroot/authz.conf
最后了就是权限了
apache启动的用户名和组是www www  (你可以根据自己的喜好来)
chown -R www:www /data/svnroot/
 
启动svn   svnserver -d
启动apache  /usr/lcoal/apache2/bin/apachectl start
 
http://svnip/svn/svn1  就可以访问了出现以下内容

svn1 - Revision 1: /

Powered by Subversion version 1.5.0 (r31699).
 
七、在自己xp上安装一个svn软件(TortoiseSVN)
在D盘建一个目录test。
右键单击test,svn checkout
点击ok
上传你想上传是文件,右键点击文件TortoiseSVN--》add----》ok----》ok
右键点击文件-----》svn commit-----》ok
刷新就ok了,等新同事到来的时候只要给他安装一个客户端,服务器上加一个用户名密码,最后svn updata 就ok了
至此svn安装(服务器端、客户端)就完成了。