服务器端配置
svn安装部署 查看系统环境
cat /etc/redhat-release uname -a
安装svn
yum install -y subversion
配置并启动svn 建立svn版本库根目录(svndata)及密码权限目录(svnpasswd)
mkdir -p /application/svndata mkdir -p /application/svnpasswd
启动svn服务指定服务根目录
svnserve -d -r /application/svndata
查看svnserve命令帮助
svnserve --help
-d 进程模式
-r 指定服务的根目录
svn端口3690
netstat -anplut | grep 3690
lsof -i :3690
lsof(list open file)
建立版本库(项目以数据库方式存储,不能用mkdir建立,用专用命令) 创建一个新的svn项目sadoc,项目可以创建多个(默认FSFS存储)
svnadmin create /application/svndata/sadoc
配置允许用户zhangsan读写访问
cd /application/svndata/sadoc/conf
cp svnserve.conf svnserve.conf.bak
修改前查看
egrep "\-access|\-db =" svnserve.conf
#anon-access=read
#auth-access=write
#password-db=passwd
#authz-db=authz
修改(每个参数开头不能有空格)
vim svnserve.conf
12 anon-access = none 不允许匿名访问
13 auth-access = write 允许可写
20 password-db = /application/svnpasswd/passwd 密码数据库
27 authz-db = /application/svnpasswd/authz 权限数据库
cp authz passwd /application/svnpasswd 复制相应数据库文件到对应目录下
cd /application/svnpasswd
ls -l
由于密码是明文保存,不安全,所以修改权限
chmod 700 *
passwd的配置,在此文件中创建4个用户
例如:tigerzhang、zhangsan、lisi、test
vim passwd [users]
语法
用户 = 密码
tigerzhang = redhat
zhangsan = rehdat
lisi = redhat
test = redhat
authz的配置
vim authz [groups] 定义组信息,注意,帐号在passwd里 grp1 = tigerzhang,zhangsan grp2 = lisi
[sadoc:/] 定义项目及项目下所有内容
@grp1 = rw
@grp2 = r
也可以直接对用户授权(如test = r)
注意: 权限配置文件中出现的用户名必须在用户配置中定义,对权限配置文件的修改立即生效,不必重启svn,一个用户组可以包含1~多个用户,用户之间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<组名> = <权限>
<用户名> = <权限>
其中,方括号内可以有多种写法:
[/] 表示根目录及以下,根目录是svnserver启动时指定的,我们指定的/application/svndata
[/] 是对全部版本库设置权限
[repos:/] 对版本库repos设置权限
[repos:/sadoc] 对版本库repos中的sadoc项目设置权限
[repos:/sadoc/123] 对版本库repos中的sadoc项目的123目录设置权限 权限主体可以是组、用户或* 用户组前面加@
*表示全部用户 权限可以是w、r、rw和空,空表示没有任何权限
authz每个参数要顶格写,不能有空格
重启svn kill -USR1 $(cat /application/svndata/svn.pid)
svnserve -d -r /application/svndata --pid-file=/application/svndata/svn.pid
或者
pkill svnserve
svnserve -d -r /application/svndata ps -ef | grep svn
客户端安装
客户端TortoiseSVN 从网上下载 TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi(windows的客户端)
连接方式,帐号及密码
svn://ip/sadoc
用户名:tigerzhang
密码:redhat
随便建立一个目录,右击-->SVN checkout...
输入连接方式、帐号、密码
出现Completed,说明已成功连接到svn服务器,只不过svn中无内容。
进入创建的目录中,创建一个文件,在创建的目录 右击-->SVN Commit,选择要提交的文件。
观看svn服务器内容
在创建目录 右击->TortoiseSVN->Repo Browser,可以看到svn服务器中的内容。