RHEL6.5下SVN服务器搭建详解
赤月之瞳于2014年6月9日
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用户配置文件
# vim/svndata/conf/authz //svn权限控制配置文件
#说明“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}
把应用库加入到SVN中
#svn import /svndata/websvn file:///svndata/svntest/ -m "svn"
配置apache,使用web来管理svn,修改httpd.conf,添加聚一下内容:
#vim /etc/httpd/conf/httpd.conf
创建密码文件
#Touch /usr/local/apache2/conf/websvn.passwd
设置密码
#bin/htpasswdconf/ websvn.passwd admin
#service httpd restart
然后就可以使用web来查看你的svn项目内容了:
下面用一个小脚本用来管理服务器的启动、重启、停止等操作
# 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,在弹出的页面输入如图内容:
点击OK后在弹出的对话框中输入用户和密码,如上面的用户nht和密码nht123.
然后就可以再windows端使用tortoisSVN客户端对SVN项目进行管理了!