Subversion是一个自由,开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。
如果想用浏览器访问Subversion,需要将Subversion整合到Apache中,具体操作参考官方网站
http://wiki.centos.org/HowTos/Subversion
如果想通过桌面客户端的方式访问Subversion,可以用yum命令直接安装即可
安装
# yum install subversion
创建版本库根目录
# cd /var/ # mkdir svn # cd svn
创建版本库
# svnadmin create example
example为要创建的版本库的名字
修改配置
# cd /var/svn/example/conf/
修改版本库配置文件
# vim svnserve.conf
将如下四行前面的注释去掉
anon-access = none # 使非授权用户无法访问 auth-access = write # 使授权用户有写权限 password-db = passwd # 指明密码文件路径 authz-db = authz # 访问控制文件 realm = /var/svn/example # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
配置账号和权限
# vim passwd
[users]
# harry = harryssecret
# sally = sallyssecret
#添加用户密码
admin = 123456
修改权限
# vim authz
[example:/] admin = rw * = r
设置通过服务启动的版本库目录
# vim /etc/init.d/svnserve
找到如下一行
daemon --pidfile=${pidfile} $exec $args
将其改为
daemon --pidfile=${pidfile} $exec -d -r /var/svn/ $args
设置subversion开机启动
# chkconfig svnserve on
启动subversion
# service svnserve start
将subversion端口号3690添加到防火墙中
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
重启防火墙,使规则生效
# service iptables restart
通过tortoisesvn客户端输入 svn://www.example.com/example 来访问