安装svn
rpm -aq subversion 检查svn有没有安装
如果没有安装的,执行命令进行安装
yum -y install subversion 安装svn 功能性软件建议用yum安装
建立svn版本库数据存储根目录以及用户密码权限目录
mkdir -p /application/svndata 数据存储根目录(目录可自定义)
mkdir -p /application/svnpasswd 用户、密码权限目录
启动svn服务 指定服务的svn根目录
svnserve -d -r /application/svndata/
-d 守护进程模式 -r 制定svn的根目录
查看svn的进程 ps -ef|grep svn
svn的特定端口:3690 查看端口的使用情况 netstat -lntup|grep 3690 或者 lsof -i :3690
命令后面加上help,直接查看该命令的帮助文档 svnadmin help svnadmin help create
创建项目版本库
svnadmin create /application/svndata/sadoc 后面的为版本库路径,版本库名称为sadoc
不能用mkdir来创建,因为是svn版本库,要初始化数据格式的
tree /application/svndata 查看该目录下的目录树形结构
对svn进行管理
切换到svn的配置文件目录 cd /application/svndata/sadoc/conf
该目录下的三个文件:svnserve.conf 主配置文件 passwd 用户和密码文件 authz 权限管理文件
svnserve.conf 包含passwd和authz这两个配置文件
修改之前进行一下备份 cp svnserve.conf svnserve.conf.ori 用来改错了可以恢复,以及对比改了什么东西
编辑配置文件 vi svnserve.conf j按i进入编辑模式 把anon-access = read (允许匿名访问)前面的注释去掉,注意语句一定要顶格写,否则会有语法错误。然后把read改为none,即不允许匿名访问
把auth-access = write 前面的注释也去掉
把password-db前面的注释也去掉 密码的数据库 然后把后面缓存自己的路径 password-db=/application/svnpasswd/passwd
把authz-db注释也去掉 路径也换成自己的路径 authz-db=/application/svnpasswd/authz
然后按esc,以及:wq! 退出保存文件
修改完之后,比较一下修改前后的两个文件 diff svnserve.conf.ori svnserve.conf
此时svnpasswd目录下没文件,那么然后拷贝文件,把sadoc/conf下面的文件复制过去
cp passwd authz /application/svnpasswd
然后解决权限,切换到svnpasswd目录 chmod 700 * 此时非root用户看不到了
添加用户
切换到/application/svnpasswd目录
用vi打开passwd文件,在[users]标签下面添加用户 oldboy = oldboy123 前面为用户名,后面为密码
参考上面示例写,不要写#号,点esc,:wq!保存
更改svnserve.conf时,需要重启svn,更改authz,passwd文件时不需要重启。
重启svn命令:
pkill svnserve
svnserve -d -r /application/svndata/
编辑authz文件 vi authz
添加内容 要在文件的最下面追加内容 [sadoc:/]
oldboy = rw
gongli = r
对组进行授权: sagroup = oldboy,gongli
@sagroup = r
版本库目录格式
[<版本库>:/项目/目录] 如:[repos:/]表示对版本库repos设置权限 [repos:/sadoc]表示对版本库repos重的sadoc设置权限
[repos:/sadoc/oldboy] 表示对版本库repos重的sadoc项目的oldboy目录设置权限
@<用户名> = <权限> 权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户
<用户名> = <权限> 权限可以是w,r,wr和空,空表示没有任何权限
authz中的每个参数都要顶格写,开头不能有空格。对于组,要以@开头,用户不需要以@开头
权限配置文件中出现的用户名必须已经在用户配置文件中定义,修改完立即生效,不需要重启