CentOS+Subversion
Linux下SVN服务器搭建(CentOS+Subversion)svn(subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。svn服务器有2种运行方式:独立服务器和借助apache等web服务器。两种方式各有利弊。svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
本文主要介绍SVN独立服务器的的安装和简单配置:
安装(centos下yum即可方便的完成安装)
#yuminstallsubversion
测试安装是否成功:
#svnserve--version回车显示版本说明安装成功
建立版本库
#mkdir/svndata创建svn数据目录(目录可自行制定)
#svnadmincreate/svndata/kumingkuming就是版本库的名字,可以改变!
配置svn配置文件(为了方便管理,这里多个库调用相同的配置文件。)
#每个版本库创建之后都会生成svnserve.conf主配文件
#vim/svndata/kuming/conf/svnserve.conf
[general]
anon-access=none
auth-access=write
password-db=/svndata/conf/passwd
authz-db=/svndata/conf/authz
realm=kuming
#mkdir/svndata/conf
#vim/svndata/conf/passwd//svn用户配置文件
[users]
user1=password1
user2=password2
user3=password3
user4=password4
#vim/svndata/conf/authz//svn权限控制配置文件
[groups]#设置组
group1=user1,user2#多用户用逗号隔开
[/]#根目录权限设置(就是“kuming”这个文件夹)
user3=rw#用户1权限是:可读写
user4=r#用户2权限是:可读,不可写
user=#什么都没写代表没有任何权限
@group1=rw#设置组权限
[kuming:/123]#设置根目录下“123”文件夹的权限
#说明“123”这个文件件怎么创建?这是在SVN服务器配置好之后,创建一个权限很高的用户在客户端登录SVN
#然后创建一个文件夹“123”。
启动服务器
#svnserve-d-r/svndata
-d表示以daemon方式(后台运行)运行
-r/svndata指定根目录是/svndata
关闭SVN服务器
#killallsvnserve
#psaux|grepsvnserve查看服务,端口:3690
客户端使用的软件是TortoiseSVN
浏览方法:
打开版本库浏览器输入:svn://ip-addr/kuming/文件夹名
下面是随便折腾一个小脚本用来管理服务器的启动、重启、停止等操作
#vimsvn
#chmod+xsvn
#!/bin/bash
case"$1"in
start)
svnserve-d-r/svndata
svnport=`netstat-natp|grepsvnserve|awk-F:'{print$4}'|awk'NR==1'`
if[$svnport-eq3690]
then
echo"SVNServerAlreadyRunnning.Port:3690"
else
echo"SVNServerDoesNotStart"
fi
;;
reload)
svnport=`netstat-natp|grepsvnserve|awk-F:'{print$4}'|awk'NR==1'`
if[$svnport-eq3690]
then
killallsvnserve&&svnserve-d-r/svndata
echo"ReloadOK"
else
echo"SVNServerIsNotRunning"
fi
;;
stop)
killallsvnserve
echo"SVNServerHasBeenStopped"
;;
status)
svnport=`netstat-natp|grepsvnserve|awk-F:'{print$4}'|awk'NR==1'`
pid=`psaux|grepsvnserve|grep-v"grep"|awk'{print$2}'`
if[$svnport-eq3690]
then
echo"SVNServer(pid:$pid)正在运行..."
else
echo"SVNServer停止运行..."
fi
;;
*)
echo"$0:Usage:$0{start|status|stop|reload}"
exit1
;;
esac
该脚本使用方法我想应该不用多说了,全文完。
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf