Linux svn服务端配置
检查已安装版本
//检查是否安装了低版本的SVN
[root@localhost /]#rpm -qa subversion
//如果存储旧版本,卸载旧版本SVN
[root@localhost modules]#yum remove subversion
安装SVN
[root@localhost modules]#yum install subversion
验证安装
//检验已经安装的SVN版本信息
[root@localhost modules]# svnserve –version
svnserve,版本 1.6.11 (r934486)
编译于 Jun 23 2012,00:44:03
版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。
下列版本库后端(FS) 模块可用:
* fs_base : 模块只能操作BDB版本库。
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
Cyrus SASL 认证可用。
代码库创建
SVN软件安装完成后还需要建立SVN库
[root@localhost modules]#mkdir -p /opt/svn/ //创建SVN根目录
[root@localhost modules]#svnadmin create /opt/svn/repo //创建repo测试库
执行上面的命令后,自动建立repo测试库,查看/opt/svn/repo 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
配置代码库
进入上面生成的文件夹conf下,进行配置
[root@localhost modules]#cd /opt/svn/repo/conf
用户密码passwd配置
[root@localhost password]#cd /opt/svn/repo/conf
[root@admin conf]#vim passwd
修改passwd为以下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
hello = 123
aaa = 123
www = 123
用户名=密码
这样我们就建立了hello用户, 123密码
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
权限控制authz配置
[root@admin conf]#vim authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
[groups] #组
admin = hello,www #创建一个admin组,将用户加入到组
[/] #根目录权限设置(就是“svn”这个文件夹)
aaa = rw #aaa对svn下的所有版本库有读写权限
[repo:/] #repo:/,表示对repo版本库下的所有资源设置权限
@admin = rw #admin组的用户对repo版本库有读写权限
[repo2:/occi], ,表示对版本库repo2中的occi项目设置权限
[repo2:/occi/aaa], ,表示对版本库2中的occi项目的aaa目录设置权限 权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
服务svnserve.conf配置
[root@admin conf]#vim svnserve.conf
追加以下内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#使授权用户有写权限
auth-access = write
#密码数据库的路径
password-db = passwd
#访问控制文件
authz-db = authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = /opt/svn/repo
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
配置防火墙端口(或直接关闭防护墙)
[root@localhost conf]#vim /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
[root@localhost conf]#service iptables restart
启动SVN
svnserve -d -r /opt/svn/ #指定SVN根目录
如有多个版本库,则需要启用新的端口,默认是3690
ps aux |grep svn //查看svn服务
sudo kill 4019 //关闭PID为4019的进程
svnserve -d --listen-port 3689 -r /home/svnuser/mclstore/
//启用新端口并绑定
http://www.centoscn.com/CentosServer/ftp/2014/0202/2409.html