一,安装服务器端svn和客户端svn
1, 首先安装服务器端软件“svn-145-setupexe”(附件可以下载),这个安装就很简单,下一步,下一步就行了。
(这里安装到目录:D:\Program Files\Subversion)
2, 其次安装客户端软件“TortoiseSVN-14510425-win32-svn-145 ”
这个安装也很简单,下一步就行了。客户端软件安装好以后,它会要求你重新启动电脑。重启一下。
二,建立svn版本控制的服务目录
1, 这里就是把“D:\svn_service_root” 这个目录指定为SVN版本控制的服务目录,其实这个目录应该称作仓库所在的目录,假如有三个仓库:repository_1,repository_2,repository_3 他们的位置应该是:
d:\svn_service_root\repository_1,
d:\svn_service_root\repository_2,
d:\svn_service_root\repository_3。
2,建立了一个仓库:有2中办法如下
21)命令行模式进入”C:\Program Files\Subversion\bin\“
再打入命令:svnadmin create d:\svn_service_root\repository_1,这样第一个仓库就建立好了。以后项目就可以 导入到这个仓库中。(其他仓库的建立类似)此时进入目录:桌面--我的电脑--本地磁盘E:
--svn_service_root-- repository_1 。会看到文件夹 conf,dav,db 等等
22)打开目录:我的电脑--本地磁盘E:--svn_service_root。在这个目录下新建文件夹,取名“repository_1”,右击刚才新建的文件夹-->TortoiseSVNàCreate Repository Here效果同第一种方法一样。
3,打开svn的服务在命令行上转到subversion目录下输入(就是刚才安装svn服务器的目录): svnserve -d -r D:\svn_service_root1 安装SVN服务器:
检查是否已安装
# rpm -qa subversion
安装SVN服务器
# yum install >直接开放svnserve的端口就可以了,默认端口是3690
如果selinux开启了,它会阻止文件的写入,从仓库中拉去正常,但上传的时候会出现 不能打开文件"/db/txn-current-lock"权限不够
如果出现semanage未定义,可以参考 CentOS7 中安装semanage来设置selinux
仓库目录为 /home/svn/test ,如果要删除版本仓库直接删除目录就可以了 rm -rf /home/svn/test
在仓库目录 /home/svn/test 的 conf 目录中会有三个文件
修改配置
修改配置添加账号密码,以 账号=密码 的格式配置, = 号二边尽量不要存在空格
权限管理分为组管理和目录权限管理
多个创建可以共用一套账号和密码权限管理。也可以用不同的账号密码管理,如果用不同的配置少单仓库类似,修改每个仓库conf下的账号和权限文件就可以了。下面说一下共用账号权限文件的情况。
在仓库目录 /home/svn 目录中创建authz文件和passwd文件。
修改配置各仓库下conf/svnserveconf。将password-db和authz-db指向/home/svn/目录下的文件
修改/home/svn/passwd配置添加账号密码,以 账号=密码 的格式配置, = 号二边尽量不要存在空格
修改/home/svn/authz权限管理分为组管理和目录权限管理
如果单仓库以/home/svn启动,此时访问的地址会有仓库名。 svn://ip/test
访问地址分别为:
编辑 /etc/sysconfig/svnserve 文件,修改 OPTIONS="-r /var/svn" 参数改为svn仓库目录 OPTIONS="-r /home/svn"
设置开机启动
修改后也可以用systemctl来启动、停止、重启
svnserve启动后,修改authz和passwd文件是时实生效的,并不需要重启服务
有时随着仓库越来越多,权限配置也越来越多时,会出现一些配置错误,导致访问时出现无法加载权限验证之前的错误,这个时候我们可以将svn服务器的日志打印出来,看些配置出错了。
停止svn服务器,重新附加log-file参数输入日志到指定文件
1安装svn服务器端
yum install subversion
从镜像下载安装svn服务器端
中间会提示是否ok,输入y,确认
安装成功提示:complete!
依次执行如下命令:
cd /usr/local/ //进入目录,准备创建svn目录
mkdir svnRepo //创建一个svn目录
chmod -R 777 svnRepo //修改目录权限为777
svnadmin create /usr/local/svnRepo/first //创建一个svn版本仓库first(first可以随便起名字)
cd first/conf //进入first版本仓库下的配置文件目录
2下面要修改这个目录下的三个配置文件
(1)vi svnserveconf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径
把
# anon-access = read
# auth-access = write
# password-db = passwd
//这四行,前面的#号和空格去掉,变成
anon-access = none //改成none
auth-access = write
password-db = passwd
realm = first //改成自己的版本库
保存退出
(2)vi authz //文件,创建svn组和组用户的权限
[groups]
first = ddl,shl //创建一个first的组,并制定两个用户ddl和shl
[/] //制定根目录下的权限
@first = rw //first组用户权限为读写
= r //其他用户只有读权限
保存退出
(3) vi passwd //创建或修改用户密码
[users]
ddl = 123456 //用户名为gep的用户的密码为123456
shl = 123456 //。。。
保存退出
3然后要设置自启动
vi /etc/rclocal
打开自启动文件
文件内容如下
#!/bin/sh
#
# This script will be executed after all the other init scripts
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff
touch /var/lock/subsys/local
添加下面一行
svnserve -d -r /usr/local/svnRepo/first
保存退出
ps aux |grep 'svn' 查找所有svn启动的进程
杀死 然后启动svn
svnserve -d -r /usr/local/svnRepo/first 启动svn(可以把这个放到/etc/local/rclocal文件中,实现开机自启动)
SVN版本库起动方式,现在svnRepo下面有 first、test 两个版本库
1:单版本库起动 svnserve -d -r /usr/local/svnRepo/first
2:多版本库起动 svnserve -d -r /usr/local/svnRepo
区别在于起动svn时候的命令中的启动参数-r指定的目录。
4限制不同的用户对不同的版本库 *** 作权限,修改版本库中的conf目录下的 authz文件
以配置 first 版本库为例
vi authz
[groups]
company = user1,user2
[first:/] //指定版本库跟目录下的权限
@company = rw //company组用户权限为读写
= r //其他用户只有读权限
保存退出
vi passwd 设置组中用户的账号和密码
[users]
user1 = 123456
user2 = 123456
5客户端访问
假设客户端使用tortoiseSVN
打开资源库浏览器输入地址, svn://你的svn服务器ip:3690
输入用户名ddl 密码12345
因为没有网资源库里放文件所以需要你用客户端右键create forder,然后add forder
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)