zoukankan      html  css  js  c++  java
  • Linux下SVN服务器搭建配置

    Linux下SVN服务器搭建配置

    1.SVN服务安装

    yum install subversion
    

    2.创建SVN代码仓库

    mkdir /data/svn
    svnadmin create /data/svn/repo
    

    3.配置svn帐户

    cd /data/svn/repo/conf
    vi passwd
    增加一行(svn帐户,密码)
    admin 123456
    test 123456
    

    4.SVN权限控制
    目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

    [groups]            #组
    admin = admin       #创建一个admin组,将用户加入到组
    
    [/]                 #根目录权限设置(就是“svn”这个文件夹)
    admin = rw            #admin对svn下的所有版本库有读写权限
    
    [repo:/]            #repo:/,表示对repo版本库下的所有资源设置权限
    @admin = rw         #admin组的用户对repo版本库有读写权限
    test =r
    
    [repo2:/occi] #表示对版本库repo2中的occi项目设置权限
    
    [repo2:/occi/aaa] #表示对版本库2中的occi项目的aaa目录设置权限  
    #权限主体可以是用户组、用户或*,用户组在前面加@,*#表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。
    #以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
    

    5.配置svn服务

    vi svnserver.conf
    

    追加以下内容

    [general]
    #匿名访问的权限,可以是read,write,none,默认为read
    anon-access = none
    #使授权用户有写权限
    auth-access = write
    #密码数据库的路径
    password-db = passwd
    #访问控制文件
    authz-db = authz
    #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
    realm = /data/svn/repo
    

    以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

    6.iptable防火墙配置

    vi /etc/sysconfig/iptables
    增加
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
    保存退出
    重启防火墙
    service iptables restart
    

    7.启动SVN服务

    rpm -ql subversion
    查看SVN安装bin目录,默认/usr/bin
    cd /usr/bin
    启动SVN
    ./svnserve -d -r /data/svn/         #指定SVN根目录
    
    查看是否启动
    ps -ef |grep svn
    root     17270     1  0 11:06 ?        00:00:00 ./svnserve -d -r /data/svn/
    root     17272     1  0 11:06 ?        00:00:00 grep --color=auto svn
    
    如果已经有svn在运行,可以换一个端口运行
    ./svnserve -d -r /data/svn/ --listen-port 3391
    

    8.查看SVN端口

    netstat -ntlp |grep svn
    
    tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      17270/./svnserve   
    

    9.停止SVN

    kill 进程号
    

    10.使用import导入文件

    svn import /mnt/ file:///data/svn/repo/-m "注释"
    

    11.checkout导出文件

    svn checkout svn://127.0.0.1/repo
    

    注意!密码只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion 可以保存加密后的密码。请参阅文档以获得详细信息。

    你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,来避免再次出现此警告。
    编辑vim /root/.subversion/servers
    找到下行去掉#号将on改为yes,
    store-plaintext-passwords = no

    其他遇到的问题

    svn: Can't convert string from 'UTF-8' to native encoding 
    

    解决办法很简单,正确设置当前系统的 locale:

    export LC_CTYPE="zh_CN.UTF-8"
    注意,根据你的系统字符集设置变量,如果 zh_CN.UTF-8 不行,有可能要改成 GB2312:
    export LC_CTYPE="zh_CN.GB2312"
    另外,看别人的帖子,有的变量名不同,用的是:
    export LANG="zh_CN.UTF-8"
    

    若设置之后出现

    svn: warning: cannot set LC_CTYPE locale
    svn: warning: environment variable LC_CTYPE is zh_CN.GB2312
    svn: warning: please check that your locale name is correct
    

    解决方法很简单,修改/etc/profile:

    sudo vi /etc/profile
    加入一行:
    export LC_ALL=C
    

    source /etc/profile

    到此,SVN服务端就配置完成了

  • 相关阅读:
    CF598E Chocolate Bar 题解 动态规划
    CF864E Fire 题解 背包DP
    用 程序 解决 windows防火墙 的 弹窗 问题
    windbg 使用与技巧
    bat 下 字符串拆分 类似 split 可以使用 for /f delims
    vs2013 在按F5调试时,总是提示 “项目已经过期”的解决方案
    代理与反向代理
    关于维护用户状态的一致性
    视频的裁剪后缩放功能。
    通信协议的设计
  • 原文地址:https://www.cnblogs.com/coolworld/p/5307075.html
Copyright © 2011-2022 走看看