• svn 服务器搭建 ,采用http的方式加密用户。


    1.1安装svn

    1.环境

    centos6.5

    本地ip:192.168.2.154

    2.安装

    yum install subversion
    

      

    查看版本

    svnserve --version
    

      

    3.创建版本库

     先创建目录,再创建版本库

     #创建目录
    mkdir -p /data/svndata       
    
    #创建版本库
    cd /data/svndata
    svnadmin create /data/svndata/svnrepos
    

      

    1.2 svbversion目录以及相关配置文件介绍

    1.2.1目录结构如下

    db目录:就是所有版本控制的数据存放文件。

    hooks目录:放置hook脚本文件的目录。

    locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端。

    format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。

    conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。

    进入conf目录(该svn版本库配置文件)
    cd conf/ authz文件是权限控制文件 passwd是帐号密码文件 svnserve.conf SVN服务配置文件

      

    1.svn登录测试账号

    设置帐号密码 vim passwd

     在[users]块中添加用户和密码,格式:帐号=密码,如xixi = 123456

     2.设置权限

     设置权限 vim authz

    在末尾添加如下代码:

    [/]

    xixi=rw   #(r:读,w:写)

    3.修改svnserve.conf

    vim svnserve.conf

    打开下面的几个注释:

    anon-access = read #匿名用户可读

    auth-access = write #授权用户可写

    password-db = passwd #使用哪个文件作为账号文件

    authz-db = authz #使用哪个文件作为权限文件

    realm =/data/svndata/svnrepos # 认证空间名,版本库所在目录

    4.启动svn

    svnserve -d -r /data/svndata/svnrepos/
    chkconfig svnserve on  #开机自启
    

      

    5.停止svn

     kill 或者 killall 等结束程序的命令

    2.1 windows测试svn

    在你的本地项目文件夹或随便一个地方,右键空白处弹出菜单,选择 SVN。

    然后,通过从SVN服务端获取的资源库URL+具体的项目文件夹名下载相应项目,并可以知道下载项目的保存位置

    第一次登陆需要输入密码,一切以passwd文件里面的账户密码为主!

    最后,成功登录svn搭建成功

     

    3.1 采用http方式登录,创建加密用户

    为什么采用http方式登录,因为上述在

    /data/svndata/svnrepos/conf  中的passwd文件中,用户名和密码都是明文的的方式。

    如果没有httpd应用

    3.1.1 安装httpd

    1  安装Apache
             yum install httpd 
             设置开机启动
             chkcofing httpd on
             启动Apache
             service httpd start
             查看Apache版本
             httpd -version
    
    2 安装Apache支持服务
             yum install mod_dav_svn mod_auth_mysql
    

      

    查看是否安装成功
    cd /etc/httpd/modules/

    如果有mod_dav_svn.so 和 mod_authz_svn.so模块,如果有,则说明mod_dav_svn安装成功

    3.1.2  创建相应的http授权目录

    用来存放用户信息和密码passwd,权限控制是authz。

    cd /data/svndata/svnrepos/conf
    mkdir http-auth
    
    进入http-auth
    

      

    1.创建用户信息文件用htpasswd方式

    htpasswd -c /data/svndata/svnrepos/conf/http-auth/passwd  hehe
    

      

    注意:/var/svn/svntest是我的数据仓库目录,http-auth/passwd是我创建的用户认证文件名称。hehe是我创建的第一 个用户.
    因为是第一个用户,所以需要加-c,以后创建账户不需要加-c命令。
    修改密码和创建的方式都是:htpasswd  svn目录    用户

    2.设置相应用户权限控制权限

    vim  authz

    [groups]
    
    sa = hehe
    
    [/]
    @sa = rw
    * = r
    
    
    #sa 是一个组,hehe是用户 如果还要添加用户 :hehe,user1,user2
    #[/]  是svn根目录
    #@sa  表示是一个组
    #rw 表示可读可写
    #*=r 表示其他用户只能读
    

      

    3.1.3设置Apache配置关于svn认证的文件

    vim /etc/httpd/conf/httpd.conf
    #在最下面添加如下内容
    <Location /svn>
    DAV svn
    SVNParentPath /data/svndata/
    #SVNPath /data/svndata/
    AuthType Basic
    AuthName "svn 1.6.9"
    AuthUserFile /data/svndata/svnrepos/conf/http-auth/passwd
    AuthzSVNAccessFile /data/svndata/svnrepos/conf/http-auth/authz
    Require valid-user
    </Location>
    

      

    说明:DAV为svn支持文件,svnpathsvn版本库目录,只有一个版本库时使用svnpath;

    如果有多个版本时使用   svnparentpath和svnlistparentpath配合使用;

    AuthaSVNAccessFile为权限文件目录,跟svn协议共同使用一个  权限文件即可;

    AuthUserFile为用户认证文件,填入第3步配置的认证文件目录;

    Require为用户是否需要验证。

    修改svn权限配置文件的目录

     修改成如下内容

     为Apache设置数据仓库的所有者权限

    chown -R apache:apache /data/svndata/svnrepos/
    

      

    最后重启apache  和 重启svn

    service httpd restart
    service svnserve restart
    

      

    windows测试验证

    http://192.168.2.154/svn/svnrepos

  • 相关阅读:
    天乙社区后台管理分析(一)
    [Android Webkit]JNI基础及Java层与C++层的交互
    1033
    pat 1049. Counting Ones (30)
    juce: 跨平台的C++用户界面库
    高性能MySql进化论(一):数据类型的优化_上
    url参数中有+、空格、=、%、&、#等特殊符号的处理
    带环单链表的问题
    在SQL Server 中启用 FileStream
    (2)入门指南——(2)jQuery可以做什么(What jQuery does)
  • 原文地址:https://www.cnblogs.com/keme/p/8017600.html
Copyright © 2020-2023  润新知