CentOS 安装 Subversion

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 来访问