RHEL6.5SVN服务器搭建详解

          赤月之瞳于201469

SVN(subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。作为一个运维人员安装和配置SVN服务器和客户端是必须要掌握的内容。

本文主要介绍SVN独立服务器的的安装和简单配置,apache服务器的配置,以及svn客户端的设置:

安装(RHEL6.5下yum即可方便的完成安装)

# yuminstall subversion

测试安装是否成功:

#svnserve --version      回车显示版本说明安装成功

建立版本库

# mkdir/svndata              创建svn数据目录(目录可自行制定)

#svnadmin create /svndata/svntest                svntest就是版本库的名字,自己可以根据实际情况改变!

配置svn配置文件(为了方便管理,这里多个库调用相同的配置文件。)

#每个版本库创建之后都会生成svnserve.conf主配文件

# vim/svndata/svntest/conf/svnserve.conf

[general]

anon-access= none

auth-access= write

password-db= passwd

authz-db= authz

realm = svntest

# mkdir/svndata/conf

# vim/svndata/conf/passwd      //svn用户配置文件

                             wKioL1OVhkai3MBgAABbTQHSXTI412.jpg




# vim/svndata/conf/authz      //svn权限控制配置文件

wKiom1OVhpjRKw5yAAD9O_9_yLQ739.jpg

#说明“123”这个文件件怎么创建?这是在SVN服务器配置好之后,创建一个权限很高的用户在客户端登录SVN

#然后创建一个文件夹“123”

启动服务器

#svnserve -d -r /svndata

-d表示以daemon方式(后台运行)运行

-r/svndata指定根目录是/svndata

关闭SVN 服务器

# killallsvnserve

# ps aux| grep svnserve    查看服务,端口:3690

创建SVN库应用库

#mkdir /svndata/websvn

#touch /svndata/websvn/web{1-20}

wKioL1OVhozi4VBvAAN-kM2A-CU343.jpg

把应用库加入到SVN

#svn import /svndata/websvn file:///svndata/svntest/ -m "svn"

配置apache,使用web来管理svn,修改httpd.conf,添加聚一下内容:

#vim /etc/httpd/conf/httpd.conf

wKioL1OViCPQ8sNKAADIZrWNC-o498.jpg

创建密码文件

Touch /usr/local/apache2/conf/websvn.passwd

设置密码

bin/htpasswdconf/ websvn.passwd admin

#service httpd restart

然后就可以使用web来查看你的svn项目内容了:

wKioL1OVhuKyYOleAAE4uMxu90M069.jpg

下面用一个小脚本用来管理服务器的启动、重启、停止等操作

# vim /etc/init.d/svnserver
# chmod +x /etc/init.d/svnserver
#!/bin/bash
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk '{print $1}'`
case "$1" in
start)
        svnserve -d -r /svndata
              if [ $svnport -eq 3690 ]
        then
                echo "SVN Server Already Runnning. Port:3690"
        else
                echo "SVN Server Does Not Start"
        fi
;;
reload)
           if [ $svnport -eq 3690 ]
        then
                killall svnserve && svnserve -d -r /svndata
                echo "Reload OK"
        else
                echo "SVN Server Is Not Running"
        fi
;;
stop)
        killall svnserve
        echo "SVN Server Has Been Stopped"
;;
status)
      
        pid=`ps aux | grep svnserve | grep -v "grep" | awk '{print $2}'`
        if [ $svnport -eq 3690 ]
        then
                echo "SVN Server (pid:$pid) 正在运行..."
        else
                echo "SVN Server 停止运行..."
        fi
;;
*)
        echo "$0: Usage: $0 {start|status|stop|reload}"
        exit 1
;;
esac

这样就可以使用service svnserve {start|status|stop|reload}方便 进行管理了。


subversion windows客户端TortoiseSVN配置:

 

#windows下创建仪的文件夹D\svnproject,然后进入点右键,选择SVNCheckout,在弹出的页面输入如图内容:

wKioL1OVh0PgLwp7AAITDXswAO8783.jpg

点击OK后在弹出的对话框中输入用户和密码,如上面的用户nht和密码nht123.

然后就可以再windows端使用tortoisSVN客户端对SVN项目进行管理了!