简介:
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。
运行方式
svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。
一、安装svn
# yum install subversion-1.6.11-7.el5_6.4 mysql-server httpd mod_dav_svn mod_perl sendmail wget gcc-c++ make unzip perl* ntsysv vim-enhanced
subversion-1.6.11-7.el5_6.4 (SVN服务器,版本号) mysql-server (用于codestriker) httpd mod_dav_svn mod_perl (用于支持WEB方式管理SVN服务器) sendmail (用于配置用户提交代码后发邮件提醒) wget gcc-c++ make unzip perl* (必备软件包) ntsysv vim-enhanced (可选)
软件包作用说明二、基本配置
1,新建一个目录用于存储SVN所有文件
# mkdir /data/svn # cd /data/
2,新建一个版本仓库
# svnadmin create /data/svn/project
3,初始化版本仓库中的目录
# mkdir project project/server project/client project/test //建立临时目录,目录为开发人员上传的数据目录 # svn import project file:///data/svn/project -m "初始化" # rm -rf project //删除刚刚创建的project文件,因为已经初始化到了svn版本库
4,添加用户
# vim /data/svn/project/conf/passwd
[users] # harry = harryssecret # sally = sallyssecret admin = 123456 //账号是admin密码是123456(SVN账户的密码是明文,不支持http密文密码,下面会有解释)
5,修改用户访问策略
# vim /data/svn/project/conf/authz //记录用户的访问策略,以下是参考:
[groups] [/] admin = rw * = //* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上!
6,修改svnserve.conf文件,指定密码与策略文件。
# vim svnserve.conf
[general] anon-access = none auth-access = write password-db = /data/svn/project/conf/passwd authz-db = /data/svn/project/conf/authz
7,启动服务器
# svnserve -d -r /data/svn
注意:如果修改了svn配置,需要重启svn服务,步骤如下:
# ps -aux|grep svnserve # kill -9 ID号 # svnserve -d -r /data/svn
8,测试服务器(目前还不能通过web测试)
# svn co svn://192.168.5.10/project
Authentication realm: <svn://192.168.5.10:3690> d72f34c5-d386-4d19-bc8b-9e5192737eee Password for 'root': //直接回车 Authentication realm: <svn://192.168.5.10:3690> d72f34c5-d386-4d19-bc8b-9e5192737eee Username: admin //用户名 Password for 'admin': //刚刚passwd里设置的密码 ----------------------------------------------------------------------- ATTENTION! Your password for authentication realm: <svn://192.168.5.10:3690> d72f34c5-d386-4d19-bc8b-9e5192737eee can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/root/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? yes A project/test A project/server A project/client Checked out revision 1. 登陆过程
三、配置SVN服务器的HTTP支持可以启动一下httpd测试一下
1,设置apache访问svn的权限,不然apache是没有权限读取svn下的数据的
# chown -R apache:apache /data/svn/
那我们来转换SVN服务器的密码,由于SVN服务器的密码是明文的,HTTP服务器不与支持,所以需要转换成HTTP支持的格式。
2,创建支持apache的SVN账号密码