系统:centos 6.8  软件版本: yum安装


# 安装svn

yum -y install subversion httpd mod_dav_svn


# 创建目录

mkdir /data/svn -pv


# 创建svn版本

svnadmin create x


# 检查httpd模块是否有这两个,如果没有需要安装mod_dav_svn


vim /etc/httpd/conf.d/subversion.conf 

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module   modules/mod_authz_svn.so


# 配置svn http访问

vim /etc/httpd/conf.d/subversion.conf


<Location /svn>

   DAV svn

   SVNParentPath /data/svn  # 配置的svn根目录

   SVNListParentPath on

   AuthType Basic

   AuthName "svn for bjwmt"

   AuthUserFile /data/svn/passwd# 用户密码

   AuthzSVNAccessFile /data/svn/authz.conf# 用户认证配置文件

   Require valid-user

</Location>



######### 创建用户 #########

进入/data/svn

htpasswd passwd 用户名

New password: # 输入两次密码



######### 权限配置 #########

vim /data/svn/authz


------------------------- 配置用户权限 -------------------------

# 设置权限

[groups]# 这里是组

job_doc = 用户名


比如

[a名称]

创建的用户名 = rw# 格式不能变


-------------------------  配置目录权限  -------------------------


[x:/]  # 这里的权限是根目录,一定不要开给开发

@job_doc = rw


# 比如

[b名称:/路径]

@job_doc = rw# 这里也是自定义配置的路径



# 最后启动服务 

service httpd restart

service svnserve restart


chkconfig svnserve on

chkconfig httpd on


# 最后浏览器直接访问

http://ip/svn/x/


image.png





Svn启动服务脚本


   因每次都需要手动开启关闭svn服务,颇为麻烦,直接使用数字键1-N来配置

    使用平台: rhel centos6 7 

    使用: 直接复制脚本,然后chmod +x xx.sh 就能使用了


#!/bin/bash

#

# __auther__: xiong

# __ time __: 2018年02月26日 09:28:09

# __ 作用 __: 用于启动svn服务的集中脚本文件

# __需学习__: shell数组,case

# __ 使用 __: 脚本名称需要执行权限 直接使用脚本就能运行 注意启动时的大小写


Httpd="/sbin/service httpd"

Svnd="/sbin/service svnserve"

Save_Date=`date +"%Y%m%d%H%M"`

cat << EOF


        1: 启动svn

        2: 关闭svn

        3: 重载svn

        4: 新建用户


EOF

read -p "请输入序列号: " Nums


case "$Nums" in

  1)

    echo "svn服务将会被启动"

    $Httpd start

    $Svnd start

    ;;

  2)

    echo "svn 服务将会被关闭"

    $Httpd stop

    $Svnd stop ;;

  3)

    echo "重载svn服务"

    $Svnd reload ;;

  4)

    /bin/cp -i passwd passwd.$Save_Date

    read -p " 请输入用户名: " Username

    /usr/bin/htpasswd passwd $Username ;;

  *)

    echo "请输入正确的序列号" ;;

esac