SVN服务器在CentOS上的搭建-亲测

2 篇文章 0 订阅

引入

  • 为什么使用版本控制工具
    • ①、 协同合作
      • 多人并行不悖的修改服务器中的同一个文件。
    • ②、数据备份
      • 如果本地文件发生丢失可以从服务器端进行恢复。
    • ③、增量式的版本管理
      • 服务器端保存每一个版本信息时只保存有修改的局部内容,节约服务器端资源 。
    • ④、权限控制
      • 对团队参与开发的人员进行权限控制。
    • ⑤、历史记录
      • 查看修改人、修改时间、修改内容、日志信息。
      • 将本地文件恢复到某一个历史状态 。

1、卸载SVN服务

yum remove -y subversion

在这里插入图片描述

2、安装SVN服务器

  • 打开安装好的CentOS系统的虚拟机,如果不会安装CentOS系统的,可以参考我上一篇文章,CentOS在VM12上的安装,打开终端,输入命令。
    • 在输入命令之前,确保已经联网,可以访问外网。
    • yum install -y subversion
      在这里插入图片描述
  • 测试安装是否成功
    • 查看版本信息:svn --version
      在这里插入图片描述
    • 查看安装位置:rpm -ql subversion
      在这里插入图片描述

3、创建并配置版本库

  • ①、创建版本库根目录
    • mkdir -p /var/svn/repository
  • ②、在版本库根目录中创建具体项目目录
    • mkdir pro_e3mall
  • ③、创建SVN版本库
    • svnadmin create /var/svn/repository/pro_e3mall
      在这里插入图片描述
  • ④、修改svnserve.conf文件,解除下面一行注释(注意一定要顶格),修改如下,开启匿名用户可读可写权限(测试用),关于此文件真正的配置等到下面讲解
    在这里插入图片描述
  • ⑤、编辑svn服务对应可执行脚本文件
    • 进入脚本文件所在目录:cd /etc/rc.d/init.d/
    • 编辑前先复制一份:cp svnserve svnserve.bak
    • 编辑文件:vi svnserve
    • 在该行中间插入--root /var/svn/repository 可以指定svn版本库根目录的路径,在连接的时候只需要输入具体项目名即可,默认端口号为3690,默认就好
    • 也可修改端口号,先判断某个端口是否正在被占用:netstat -anp | grep :2255
    • 在改行中间插入 --root /var/svn/repository --listen-port 2255 此时端口号为2255:
      在这里插入图片描述
4、开启SVN服务
  • ①、开放对外访问端口3690
    • /sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
    • /etc/init.d/iptables save
    • service iptables restart
  • ②、设置SVN服务开机自启
    • 查看svn服务是否开机自启:chkconfig | grep svn
    • 设置svn服务开机自启:chkconfig svnserve on
    • 关闭svn服务开机自启:chkconfig svnserve off
      在这里插入图片描述
  • ③、开启SVN服务
    • 查看svn服务状态,默认关闭:service svnserve status在这里插入图片描述
    • 开启svnserve服务:service svnserve start
    • 关闭svn服务:service svnserve stop
    • 查看某个端口是否被占用:netstat -anp | grep :3690
    • 查看svn服务进程信息:ps -ef | grep svnserve | grep -v grep
    • 出现如下画面表示svn已开启
      在这里插入图片描述
5、验证
  • ①、先在电脑安装一个SVN图形化客户端,这个是傻瓜式安装,只需要修改安装目录即可。
  • ②、安装完毕后,右键点击桌面在选项菜单中TortoiseSVN代表安装成功。
    在这里插入图片描述
  • ③、点击SVN Ckeckout,检出项目,从服务端把项目全部拉取到本地工作空间。
    在这里插入图片描述
  • ④、此时在桌面生成test文件夹。
    在这里插入图片描述
  • ⑤、在test文件夹新建一个test.txt文件,随便编辑一点内容,右击空白区域,点击SVN Commit。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • ⑥、提交成功,可以在SVN服务器中看到提交的文件代表SVN服务器的基本搭建已完成,接来下只要进行权限的配置即可。
    • 命令:svn list svn://192.168.25.129/pro_e3mall
      在这里插入图片描述
6、分配用户与用户权限配置
  • 进入具体项目版本库/conf目录,配置账号密码和权限
    在这里插入图片描述
  • ①、分配账号密码,编辑passwd文件
    • vi passwd
    • 进入文件后,按i键入插入模式
      在这里插入图片描述
    • 修改passwd文件,按Esc键可以进入命令行模式,此时输入:wq,按回车键就可以保存退出文件
      在这里插入图片描述
  • ②、配置用户权限,编辑authz文件
    • vi authz
    • 进入文件后,按i键入插入模式
      在这里插入图片描述
    • 修改authz文件,在文件末尾加入以下内容,表示给账号赋予读写权限,保存退出
    •   [groups]
        #用户组 = 用户,用户 
        kaifa = ll,jack   
        
        [/]
        #用户组名 = 权限值(rw)
        @kaifa = rw   
        #用户名 = 权限值
        rose = r   
        #除了上面已经授权的用户以外其他用户没有权限
        \* =  	
      
    • 在这里插入图片描述
  • ③、配置svnserve.conf文件
    • 解除以下几行的注解即可,修改匿名访问 = none
      在这里插入图片描述
  • ④、配置完三个文件后,需要重启服务,使配置生效
    • service svnserve restart
  • ⑤、测试权限配置,同样如上面的测试方法一样,使用ortoiseSVN测试
    • ⑤-1、右键点击桌面在选项菜单中选择SVN Checkout。
      在这里插入图片描述
    • ⑤-2、点击SVN Ckeckout,检出项目,从服务端把项目全部拉取到本地工作空间。先使用rose登录,测试只读权限
      在这里插入图片描述
    • ⑤-3、此时桌面出现test文件夹,在里面新建一个hello.txt文件,提交到svn服务器,如果提交失败,则代表rose确实只具备只读权限。
      在这里插入图片描述
      在这里插入图片描述
    • ⑤-4、删除桌面的test文件夹,重新执行第1、2两个步骤,在第二步使用jack登录,测试该组的用户具备读写权限。
      在这里插入图片描述
    • ⑤-5、清除前面保存的用户认证,不然下次检出项目时还时默认已该用户检出,所以需要清除。
      • 右键->TortoiseSVN->Settings
        在这里插入图片描述
      • Saved Data->clear…->勾选要清除认证的用户
        在这里插入图片描述
    • ⑤-6、此时桌面出现test文件夹,在里面新建一个hello.txt文件,提交到svn服务器,如果提交成功,则代表改组用户确实具备读写权限,至此权限分配配置成功。
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

!!!注意

  • 此教程中的所有ip地址均为本人的,在搭建的时候需要改成自己的。
    • 查看虚拟机ip地址:ifconfig
      在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值