设为首页 收藏本站
查看: 790|回复: 0

[经验分享] Subversion版本控制 Apache+SVN-david0512

[复制链接]

尚未签到

发表于 2018-11-22 10:08:12 | 显示全部楼层 |阅读模式
  Subversion版本控制
  一、简介:
  Subversion是一款自由开放的版本控制软件。Subversion可以管理文件、文件夹以及记录它们的修改状况。Subversion常用来帮助我们管理软件开发的源代码或是公司手册文档。
  Subversion通过将文档导入至版本库中进行管理,版本库类似于文件服务器,但比文件服务器更强大的是它可以记录你每一次对文件或目录的修改状况,并提供还原数据至老版本的功能。
  客户端访问服务端时可以通过简单的svnserve访问、file本地访问、Apache间接访问。
  1.svnserve是一个小巧、轻便的服务器程序,通过它客户端可以使用Subversion专有的协议进行访问,其特点是设置简单。
  2.由于svnserve本身并不提供加密通讯的功能,所以如果你需要更安全的连接,可以使用svnserve+ssh的方式,通过连接SSH服务器建立在SSH隧道,在通过SSH调用svnserve程序。
  3.Apache通过mod_dav_svn访问版本库,使得客户可以通过访问Apache取得版本库资料进行版本控制。Subversion服务器对比图:
DSC0000.jpg

  Apache+SVN 实现代码管理
  Apache是非常流行的Web服务器软件。它可以运行在几乎所有的计算机平台上。通过Apache发布Subversion的版本库,使得用户可以通过HTTP协议访问版本库。
  以下为使用Apache发布Subversion版本库的若干理由:
  1.Subversion可以使用Apache自身集成的多种认证方式。
  2.不需要创建系统用户。
  3.完善的Apache日志可。
  4.可以通过SSL加密网络传输的数据。
  5.HTTP(S)可以穿越企业防火墙。
  6.坚定地通过浏览器访问版本库。
  准备工作:安装Apache,加载mod_dav及mod_dav_svn模块,Apache需要这两个模块管理Subversion版本库。
  本文以yum方式安装这些软件,环境为CentOS6.4。
  [root@centos6 ~]# yum -y install httpd
  [root@centos6 ~]# yum -y install mod_dav_svn
  安装完成后你可以通过以下方法查看dav模块是否加载成功:
  vim /etc/httpd/conf/httpd.conf
  查看是否包含LoadModule dav_module modules/mod_dav.so
  vim /etc/httpd/conf.d/subversion.conf
  查看是否包含LoadModule dav_svn_module modules/mod_dav_svn.so
  如果你还需要Subversion自带的基于目录的权限控制的话,可以通过加载mod_authz_svn实现。
  接下来通过修改Apache配置文件实现网络化版本库:
  root@centos6 ~]# mkdir /var/svn
  [root@centos6 ~]# svnadmin create /var/svn/project1
  [root@centos6 ~]# svn import /shells  file:///var/svn/project1 -m "Initial DATA"
  [root@centos6 ~]# vim /etc/httpd/conf.d/subversion.conf  在配置文件最后增加一段代码
                         //Location可以根据特定的URL执行特定的处理  
//这里当用户的RUL以/svn开始时,将控制权交于DAV处理(http://hostname/svn/...)
  
   DAV svn
  
   SVNParentPath /var/svn               //通过SVNParentPath指定所有版本库的主目录(发布所有版本库)
  
                                        //也可以通过SVNPath指定某个特定版本库的路径(发布特定版本库)
  
      AuthType Basic                    //认证方式
  
      AuthName "Please Input passwod"  //提示字符
  
      AuthUserFile /var/svn/.pass       //帐号文件的路径,为了安全隐藏该文件
  
      AuthzSVNAccessFile /var/svn/project1/conf/authz  //此处修改为访问版本库权限的文件
  
       Require valid-user                //指定仅有效用户可以访问
  

  [root@centos6 ~]# chown -R apache.apache  /var/svn/                //修改权限
  [root@centos6 ~]# chcon -R -t httpd_sys_content_t  /var/svn   //仅在SELinux开启时使用
  [root@centos6 ~]# htpasswd -c /var/svn/.pass  jerry        //创建帐号文件,并添加用户jerry,注意第二次增加用户不要加-c参数,否则会覆盖原有的配置文件。
  [root@centos6 ~]# htpasswd -c /var/svn/.pass  admin        //增加admin用户并设置密码为123456
  [root@localhost svn]# vim /var/svn/project1/conf/authz       //权限分配
[groups]  这个表示群组设置  

  
group1=admin,jerry  这个表示group1群组里的成员 admin,jerry  多个用户用逗号分隔。
  

  
[/]    这个表示在所有仓库的根目录下
  

  
admin = rw  仓库下admin用户具有读和写权限
  

  
jerry = r   仓库下jerry用户具有读权限
  

  
* = r      这个表示对所有的用户都具有读权限
  注意:在编辑authz.conf文件时,所有行都必须要顶头写,不能有缩行出现,否则会报错:"Access denied: ''user1'' ",里面的内容可以根据自己的需要自行添加,不必与我上面所写的相同!
  [root@centos6 ~]# service httpd start
  客户端访问效果如图:
DSC0001.jpg

DSC0002.jpg

DSC0003.jpg

DSC0004.jpg




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-638091-1-1.html 上篇帖子: 安装apache并部署awstats 下篇帖子: apache虚拟主机301重定向设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表