SVN FAQ

# 1. 安装svn
yum install subversion
svnserve --version

# 2. 创建数据目录
mkdir -p /opt/svn
# 创建版本仓库, code可以根据需要的仓库名称修改
svnadmin create /opt/svn/code

# 3. 配置
# 将 code/conf 中的 authz passwd 拷贝到svn 目录下
# code/conf/svnserve.conf 配置参考
    [general]
    #禁止匿名用户访问
    anon-access = no
    #授权用户拥有读写权限
    auth-access = write
    # 使用公共的passwd
    password-db = /opt/svn/passwd
    # 使用公共的authz
    authz-db = /opt/svn/authz
    #指定版本库的认证域
    realm = /opt/svn/code/

# passwd 配置
    [users]
    admin   = admin123
    share   = share123
    louis   = louis123

# authz 配置, 这里的build src 都是代码仓库的目录结构
    [groups]
    admin = admin
    users_share = share
    users_share_src = louis

    [/]
    @admin = rw

    [share:/]
    @users_build = rw

    [share:/src]
    @users_build_src = rw

# 4. 创建启动脚本
# 在 /etc/init.d 目录下,创建脚本 svnd
    touch svnd && chmod u+x svnd

# 脚本内容
    #!/bin/sh
    # chkconfig: 2345 10 90
    # description: svn server
    SVN_HOME=/opt/svn
    if [ ! -f "/usr/bin/svnserve" ]
    then
    echo "svnserver startup: cannot start"
    exit
    fi
    case "$1" in
    start)
    echo "Starting svnserve…"
    /usr/bin/svnserve -d --listen-port 3690 -r $SVN_HOME
    echo "Finished!"
    ;;
    stop)
    echo "Stoping svnserve…"
    killall svnserve
    echo "Finished!"
    ;;
    restart)
    $0 stop
    $0 start
    
    ;;
    *)
    echo "Usage: svn { start | stop | restart } "
    exit 1
    esac

# 启动服务
    service svnd start
    ps -ef | grep 'svnserve'

# 配置开机启动
    systemctl enable svnserve.service 
# 修改 /etc/sysconfig/svnserve
    OPTIONS="-r /opt/svn"
# 启动
    systemctl enable svnserve.service

# 防火墙端口开放部分这里就不写了