CentOS6.3 64位机器上配置SVN服务器,并设置只允许HTTPS连接,可以配置多个repos源,每个源都拥有自己的组和成员,用于权限控制。
  1. 安装相关软件

    Apache

    yum install httpd httpd-devel

    Subversion

    yum install mod_dav_svn subversion

    SSL

    yum  install mod_ssl  openssl

    创建版本库

    #mkdir /var/svn  
    #cd /var/svn  
    #svnadmin create myapp  
    #chown -R apache.apache myapp  
    #chcon -R -t httpd_sys_content_t myapp          //selinux相关

    相似的,我添加了另一个版本库myapp2

    修改配置文件/etc/httpd/conf.d/subversion.conf,添加如下内容

    <Location /repos>  
      DAV svn  
      SVNParentPath /var/svn  
      AuthType Basic  
      AuthName "Authorization Realm"  
      AuthUserFile /var/svn/passwd                  //用户文件  
      AuthzSVNAccessFile /var/svn/authz              //用户权限控制文件  
      Require valid-user  
    </Location>

    此处需要注意添加/var/svn/passwd文件的相关权限,否则可能出想权限错误。相关日志文件为/var/log/httpd/error_log 遇到问题要查看错误日志。

    用户文件passwd的内容只能通过htpasswd命令添加

    如添加用户leon

    #htpasswd -c /var/svn/passwd leon                //-c 表示新建一个文件,以后就不需要加了

    相似的我添加了其他用户hailong,gao,wang

    用户权限控制文件authz

    [groups]  
    myapp = leon,hailong                              //myapp项目有两个成员leon和hailong  
    myapp2 = wang, gao  
      
    [myapp:/]  
    @myapp = rw                                      //myapp组拥有myapp项目的读写权限,其他人无权限  
      
    [myapp2:/]  
    @myapp2 = rw

    这样就做到权限控制。

    可能遇到的问题
    1.权限问题
    通过查看错误日志,添加相关权限。重点注意SeLinux引起的权限问题,可以暂时关闭SeLinux,方法:setenforce 0,SeLinux的管理方法参考CSDN网站http://blog.csdn.net/haiong0707/article/details/813763

  2. 防火墙问题
    关闭防火墙或者打开相关端口
  3. 通过上面的配置,SVN服务器通过HTTP访问基本就没有问题了,接着配置HTTPS访问

    1. #cd /etc/pki/tls/private

    2. #openssl genrsa -out my.key 1024

    3. #openssl req -new -key my.key -out my.csr

    4. #cd /etc/pki/tls/certs

    5. #openssl x509 -req -days 365 -in /etc/pki/tls/private/my.csr -signkey /etc/pki/tls/private/my.key -out my.crt

    以上步骤必须在相关文件夹下产生所需的文件,保证输入命令正确,保证产生文件所在文件夹正确,否则后面将可能发生错误

    修改/etc/httpd/conf.d/ssl.conf文件

    1. SSLCertificateFile /etc/pki/tls/certs/my.crt

    2. SSLCertificateKeyFile /etc/pki/tls/private/my.key

    修改/etc/httpd/conf/httpd.conf文件

    1. <Directory />

    2. Options FollowSymLinks

    3. AllowOverride None

    4. SSLRequireSSL //添加此行

    5. </Directory>

    重启httpd

    1. #service httpd restart

    如此SVN就只可以通过HTTPS访问了,并且能够对多个项目分配人员和权限。

    可能遇到的问题

    1.SVN开启HTTPS加密后,所有的WEB访问都变成HTTPS,例如,localhost将无法访问,需要访问https://localhost,这个应该是可以在https.conf文件中配置区分的,暂时不做处理,故建议此服务器不再当作WEB服务器。

    ----------------------------------------------------------------------------------------------------------------

    localhost需要https的解决方法

    不在httpd.conf添加 SSLRequireSSL ,添加到subversion.conf

    1. <Location /repos>

    2. DAV svn

    3. SVNParentPath /var/svn

    4. AuthType Basic

    5. AuthName "Authorization Realm"

    6. AuthUserFile /var/svn/passwd //用户文件

    7. AuthzSVNAccessFile /var/svn/authz //用户权限控制文件

    8. Require valid-user

    9. SSLRequireSSL //需要https加密访问

    10. </Location>

    这样,只有/repos目录需要https加密访问,不影响httpd做web服务器

    转载自:http://blog.csdn.net/haiong0707/article/details/8259235


    Linux 下svn恢复到某一版本经常由于坑爹的需求,功能要切回到之前的某一个版本。有两种方法可以实现:方法1: 用svn merge1) 先 svn up,保证更新到最新的版本,如20;2) 然后用 svn log ,查看历史修改,找出要恢复的版本,如10 。如果想要更详细的了解情况,可以使用svndiff -r 10:20 [文件或目录];3) 回滚到版本号10:svnmerge -r 20:10 [文件或目录],注意版本号之间的顺序,这个叫反向合并;4) 查看当前工作版本中的文件,如test.cpp和版本号10中文件的差别:svn diff -r 10 test.cpp, 有差别则手动改之;5) 若无差别,则提交:svn ci -m“back to r 10,xxxxx” [文件或目录]。这时svn库中会生成新的版本,如21。方法2: 用svn up前2步如方法1,然后直接 svn up -r 10。当前的工作版本就是版本10了。但是注意,这时svn库中会并不会生成新的版本,下次在本地svn up之后,还是会回到之前的版本。

CentOS搭建svn服务器支持https访问的更多相关文章

  1. [记录]CentOS搭建SVN服务器(主从同步)

    CentOS搭建SVN服务器(主从同步)1.安装步骤如下: 1)安装: #yum install subversion 2)查看安装位置: #rpm -ql subversion 3)查看版本: #/ ...

  2. CentOS搭建SVN服务器,并通过Apache HTTP方式访问

    摘要:本文主要讲述了在centos 6.5环境下搭建svn服务器,可通过svn:\\IP方式访问.同时由于部分公司内网端口限制,并不能访问外网的svn服务器,所以特地结合了apache服务器,使得可以 ...

  3. ubuntu搭建svn服务器并htpp访问版本库并svn与web同步

    Ubuntu搭建SVN服务器多版本库 1  介绍   Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况.这样就可 ...

  4. 【svn】Centos搭建svn服务器环境

    1.需求描述 在Centos系统中搭建svn服务器环境 2.搭建过程 2.1 yum安装svn [root@localhost /]# yum install svn  2.2 新建目录存储svn目录 ...

  5. centos7 搭建svn服务器&客户端的访问&备份迁移

    当今用于版本控制的软件程序主要的有svn和git,其它软件咱不熟悉,今天记录下搭建svn服务器和svn客户端使用: 使用环境:虚拟机为centos7系统,svn服务器安装在centos7系统平台上,s ...

  6. CentOS 搭建 SVN 服务器 及使用教程

    服务器与客户端 1.搭建SVN服务器 ① CentOS安装SVN 命令: yum -y install subversion 检查是否安装成功 命令: svn --version 如果显示如下内容说明 ...

  7. centos搭建svn服务器

    1.在centos6.5上面搭建svn服务器,安装svn服务器:yum install subversion 2.在任意目录下创建仓库目录,这里放在/data/mypros目录下 3.执行命令:svn ...

  8. Linux(CentOS)搭建SVN服务器全攻略

    虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN 安装#yum ...

  9. 使用Linux(CentOS)搭建SVN服务器全攻略

    虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN 安装 #yu ...

随机推荐

  1. html页面 代码 编写的 一些 基本素养 约定 知识点

    hmtl代码书写也要养成一段一段的 区块代码, 每个区块代码 进行 html的 功能注释 自由文字的获得: (lorem ipsum: 乱数假文, 哑元文字) lorem ipsum: lipsum等 ...

  2. 关于动态URL地址设置静态形式

    动态URL地址:http://station.com/index.php?c=play&a=index&id=12345 静态URL地址:http://station.com/play ...

  3. CF451D Count Good Substrings (DP)

    Codeforces Round #258 (Div. 2) Count Good Substrings D. Count Good Substrings time limit per test 2 ...

  4. PHP: 手把手编写自己的 MVC 框架实例教程

    1 什么是MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller ...

  5. 微信电脑版真的要来了 微信Windows版客户端1.0 Alpha推出

    微信电脑版的搜索量一直很大,但只有网页版,之前也写了微信网页版APP - 网页微信客户端电脑版体验,在键盘上打字的感觉就是快.现在微信Windows版客户端1.0 Alpha推出了,来一睹芳容吧(20 ...

  6. netbeans tomcat

    http://www.cnblogs.com/fengzy/archive/2013/05/18/3086371.html http://blog.csdn.net/xumengxing/articl ...

  7. windows 下wamp环境3 安装php7

    打开 http://php.net 点击download,选择Windows downloads,根据系统选择版本 注意左侧的提示: With Apache you have to use the T ...

  8. keepalived安装

    两台虚拟机 两台配置操作一样 环境配置 [root@lb01 /]# yum -y install openssl openssl-devel [root@lb01 /]# yum -y instal ...

  9. CentOS-6.5安装zabbix 3.0.4

    关闭selinux [root@localhost /]# sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux ...

  10. css3常用标签

    30个最常用css选择器解析   你也许已经掌握了id.class.后台选择器这些基本的css选择器.但这远远不是css的全部.下面向大家系统的解析css中30个最常用的选择器,包括我们最头痛的浏览器 ...