安装svn服务器端
yum install subversion 安装svn服务器端
mkdir -p /usr/local/svn //创建一个svn目录
建立启动svn的用户
useradd svn
passwd svn
chown -R svn:svn /usr/local/svn //允许用户svn访问版本库:
chmod -R 777 /usr/local/svn //修改目录权限为777
svnadmin create /usr/local/svn/test //创建一个svn版本仓库test(test可以随便起名字)
执行上面的命令后,test文件夹下会分别会多出如下的目录或文件
conf, db,format,hooks, locks, READM
配置
进入上面生成的文件夹conf下,进行配置, 有以下几个文件authz, passwd, svnserve.conf
其中authz 是权限控制,可以设置哪些用户可以访问哪些目录,passwd是设置用户和密码的, svnserve.conf是设置svn服务的相关操作。
cd /usr/local/svn/test/conf
设置passwd
vi passwd //创建或修改用户密码
[users]
test = 123456 //用户名为test的用户的密码为123456
test1 = 123456 //
设置权限authz
vi authz
[/]
test = rw
意思是test用户对所有的目录有读写权限,当然也可以限定。
vi svnserve.conf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径
增加下以几行:
[general]
anon-access = none //使非授权用户无法访问
auth-access = write //使授权用户有写权限
password-db = /usr/local/svn/test/conf/passwd // 帐号文件
authz-db = /usr/local/svn/test/conf/authz //访问控制文件
realm = /usr/local/svn/test //认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
启动SVNserver
/usr/bin/svnserve -d -r /usr/local/svn/test/ //默认端口是3690
如果已经有svn在运行,可以换一个端口运行
/usr/bin/svnserve -d -r /usr/local/svn/test/ --listen-port 3391
一台服务器可以运行多个svnserver
好了,启动成功后,就可以使用了。
客户端采用TortoiseSVN, 连接地址为: svn://your server address (如果指定端口需要添加端口:端口号)
连接后可以上传本地的文件,有效的管理你的代码。
注:
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
[/],表示根目录及以下,根目录是svnserve启动时指定的.
[test:/] 表示对版本库test设置权限
[test:/abc] 表示对版本库test中的abc项目设置权限
[test:/abc/aaa] 表示对版本库test中的abc项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
示例:
[groups]
admin = he
[/]
@admin = rw
[test:/abc/aaa]
test = rw
[test1:/pass]
test1 =
来源:oschina
链接:https://my.oschina.net/u/156950/blog/35112