zoukankan      html  css  js  c++  java
  • CentOS下安装Subversion (SVN)

    一、配置支持HTTPS访问的SVN

    所需工具   Subversion

         Apache

         SSL 

    1.安装Subversion和Apache的SVN模块插件

    yum install subversion mod_dav_svn

    2.安装Apache

    yum install httpd httpd-devel

    3.安装SSL和Apache的SSL模块插件

    yum install openssl mod_ssl

    4.创建test和test2两个资源库

    svnadmin create /data/svn/test  #创建资源库test
    svnadmin create /data/svn/test2  #创建资源库test2

    5.配置apache的subversion.conf插件

    vi /etc/httpd/conf.d/subversion.conf
    
    ##将下面的注释放开,并进行修改
    

      

    直接拷贝下面配置文件

    <Location /svn>  #对外访问的根路径,例如:http://ip/repos

     DAV svn
     SVNParentPath /data/svn  #SVNParentPath指向所有资源库的父级目录;SVNPath指向单个资源库

     # Limit write permission to list of valid users.
     <LimitExcept GET PROPFIND OPTIONS REPORT>
     #Require SSL connection for password protection.
     SSLRequireSSL

     AuthType Basic
     AuthName "Authorization Realm"
     AuthUserFile /data/svn/passwd  #用户账号文件
     Require valid-user
     </LimitExcept>
    </Location>

    ------------------选下面这个------------------------------

    <Location /svn>
    DAV svn
    SVNParentPath /svn
    AuthType Basic
    AuthName "Authorization Realm"
    AuthUserFile /svn/testsvn/conf/aa
    AuthzSVNAccessFile /svn/testsvn/conf/bb
    Require valid-user
    </Location>

    更改资源库的权限

    #按照subversion.conf的提示,还要对每个资源库还要进行以下操作
    
    chown -R apache.apache test
    chcon -R -t httpd_sys_content_t test

    6.创建用户文件和资源权限文件

    cd /data/svn
    htpasswd -c passwd test  #-c 创建文件,创建用户test
    htpasswd passwd test2  #创建test2用户
    
    vi authz  #配置资源权限
    [/]       #表示根目录 /data/svn
    test=rw   #表示test用户具有读写权限

    OK,此时就可以启动apache,测试一下了

    7.配置密钥文件,设置https登录有效

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

    一些问题:

    1.chcon: can't apply partial context to unlabeled file `locks'

    类似以上问题,解决如下:

    vi /etc/selinux/config

    SELINUX=enforcing 将selinux级别设为启用,重启selinux或linux系统即可。

    2.如果启动httpd出现Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using

    解决如下:

    vi /etc/httpd/conf/httpd.conf
    
    将里面的#ServerName localhost:80注释去掉即可。
    

    3.authz文件详解

    ------------简易安装---------------------------------------------

    一、单独安装SVN

    1.直接安装SVN,可使用TortorseSVN访问

    yum -y install subversion

    2.创建repo资源库

    ##在/data/svn目录下创建test库
    svnadmin create /data/svn/test

    3.配置访问账户和权限

    vi test/conf/svnserve.conf
    
    去掉注释#和空格
    password-db = passwd
    authz-db = authz
    vi test/conf/passwd
    
    ##添加
    test=123
    vi test/conf/authz
    #配置资源权限,/表示test资源库根目录,[/test]则表示该资源库中test目录,rw表示读写权限,test表示用户或组 [/] test=rw

    4.启动SVN服务

    svnserve -d -r /data/svn/test

    5.使用客户端测试连接

    svn://ip

    OK,这样单独的svn就配置安装好了。

    当然了,这里会有一个问题,如果我建立了多个repos库,怎么办呢?看下面

    如果为了方便管理,多个项目使用不同的repos库,那么可以将他们放在同一目录下

    svnadmin create /data/svn/test  #创建资源库test
    svnadmin create /data/svn/test2  #创建资源库test2
    
    svnserve -d -r /data/svn   #对外发布svn服务

    这时就可以通过svn://ip/test  和svn://ip/test2 来访问不同的资源库了

    --------------问题-------------------

    1.show log显示 want to go offline?

    找到相应的conf/svnserve.conf文件打开
    找到anon-access = read,
    改成anon-access = none
    再看日志就可以了
  • 相关阅读:
    C++中的名字重整技术
    Linux下C++开发常用命令
    《Effective C++(第三版)》 的55条建议
    我也介绍下sizeof与strlen的区别
    POJ
    HDU
    HDU-1754-I Hate It(单点更新+区间查询)
    HDU多校1003-Divide the Stones(构造)
    Just an Old Puzzle(2019多校1007)
    Idiomatic Phrases Game(最短路+注意坑点)
  • 原文地址:https://www.cnblogs.com/baby-bear/p/4008696.html
Copyright © 2011-2022 走看看