当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Linux下SVN服务器同时支持Apache的http和svnserve独立服务器两种(2)

    栏目:Linux/apache问题 时间:2018-10-31 13:47

    四、安装SVN

    yum install subversion #使用yum命令在线安装

    svnserve --version #查看svn版本信息

    五、配置SVN

    1、创建svn版本库

    mkdir -p /home/svn #创建svn版本库存放目录

    cd /home/svn #进入目录

    svnadmin create /home/svn/project1 #创建svn版本库project1

    svnadmin create /home/svn/project2 #创建svn版本库project2

    svnadmin create /home/svn/project3 #创建svn版本库project3

    2、设置配置文件

    mkdir -p /home/svn/conf #创建配置文件目录

    cp /home/svn/project1/conf/passwd /home/svn/conf/passwd #拷贝账号密码配置文件模板

    cp /home/svn/project1/conf/authz /home/svn/conf/authz #拷贝目录权限配置文件模板

    cp /home/svn/project1/conf/passwd /home/svn/conf/svnserve.conf #拷贝全局配置文件模板

    vi /home/svn/conf/passwd #编辑,添加以下代码

    [users]

    # harry = harryssecret

    # sally = sallyssecret

    osyunwei=123456

    osyunwei1=123456

    osyunwei2=123456

    osyunwei3=123456

    :wq! #保存退出

    vi /home/svn/conf/authz #编辑,添加以下代码

    [groups]

    admin = osyunwei

    project1 = osyunwei1

    project2 = osyunwei2

    project3 = osyunwei3

    [/]

    @admin = rw

    * =

    [project1:/]

    @admin = rw

    @project1 = rw

    * =

    [project2:/]

    @admin = rw

    @project2 = rw

    * =

    [project3:/]

    @admin = rw

    @project3 = rw

    * =

    :wq! #保存退出

    vi /home/svn/conf/svnserve.conf #配置全局文件,在最后添加以下代码

    [general]

    anon-access=none #禁止匿名访问,设置为none。默认为read,参数:read,write,none

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

    password-db=/home/svn/conf/passwd #用户账号密码文件路径,可以写绝对路径

    authz-db=/home/svn/conf/authz #访问控制权限文件路径,可以写绝对路径

    realm=svn #每个SVN项目的认证命,会在认证提示里显示,建议写项目名称。

    :wq! #保存退出

    3、启动SVN

    svnserve -d -r /home/svn --config-file /home/svn/conf/svnserve.conf --listen-port 3690

    #--config-file后面跟全局配置参数文件

    ps -ef|grep svn|grep -v grep #查看进程

    netstat -ln |grep 3690 #检查端口

    killall svnserve #关闭svn

    4、设置svn服务开机启动

    vi /etc/init.d/svn #编辑,添加以下代码

    #!/bin/sh# chkconfig: 2345 85 85# processname: svnsvn_bin=/usr/local/svn/binsvn_port=3690svn_home=/home/svnsvn_config=/home/svn/conf/svnserve.confif [ ! -f "$svn_bin/svnserve" ]thenecho "svnserver startup: cannot start"exitficase "$1" instart)echo "Starting svnserve..."$svn_bin/svnserve -d -r $svn_home --config-file $svn_config --listen-port $svn_portecho "Successfully!";;stop)echo "Stoping svnserve..."killall svnserveecho "Successfully!";;restart)$0 stop$0 start;;*)echo "Usage: svn { start | stop | restart } "exit 1esac