本文介绍centos下svn配置
1,安装系统时安装好svn服务器
2,创建目录/home/svn/
3,创建代码仓库:svnadmin create /home/svn/tool
4,进入/home/svn/tool/conf目录,其中有三个文件:
-rw-r–r– 1 root root 1125 Jun 26 18:35 authz
-rw-r–r– 1 root root 322 Jun 26 18:34 passwd
-rw-r–r– 1 root root 2370 Jun 26 18:33 svnserve.conf
5,在文件svnserve.conf的[general]中加入下列几行:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = tool
6,在文件passwd的[users]中增加一个用户:
hgc = 123456
7,在文件authz的[groups]中增加一个用户组:
tool_users = hgc
8,在文件authz尾部增加用户组tool_users对代码仓库tool的访问权限:
[tool:/]
@tool_users = rw
注意:tool:后面的/表示指定对整个tool仓库的访问权限,也可以指定对其中的子目录的访问权限,例如:[tool:/dir1/]
9,在文件/etc/init.d/svnserve头部加入OPTIONS=”-r /home/svn/”,指定svn服务根目录(各个仓库就是在这个目录中创建的)
10,防火墙配置:允许指定ip段访问3690端口,执行etc/init.d/iptables save保存到配置文件/etc/sysconfig/iptables中
11,/etc/init.d/svnserve restart重启svn服务(系统重启有效的话需要执行/sbin/chkconfig –level 345 svnserve on)
12,在windows上通过svn client访问tool代码仓库,地址为:svn://centos-ip/tool/,用户名为:hgc,密码为123456
注意:整理的用户密码是静态写死的,管理员配置好后下发给使用者,使用者无法动态修改。
补充:提交代码时强制写注释
#在hooks目录下建一个pre-commit文件,内容如下,然后设置执行权限
#!/bin/sh
REPOS=”$1″
TXN=”$2″
# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
LOGMSG=$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c
if [ “$LOGMSG” -lt 5 ];#要求注释不能少于5个字符(数字和字母),您可自定义
then
echo -e “\nLog message cann’t be empty! you must input more than 5 characters as comment!.” 1>&2
exit 1
fi
# All checks passed, so allow the commit.
exit 0
————————————————————————
通过以下几个步骤,将svnserve设置为开机自启动的服务了。
1. 阅读/etc/init.d/svnserve脚本,从下面的片段中得到启发,去改/etc/sysconfig/svnserve中的设置
…SVNSERVE_BIN=/usr/bin/svnserve…SVNSERVE_CONFIG=/etc/sysconfig/svnserve…. $SVNSERVE_CONFIG…case “$1” instart)echo -n “Starting svnserve “## Start daemon with startproc(8). If this fails## the return value is set appropriately by startproc.startproc -u “$SVNSERVE_USERID” -g “$SVNSERVE_GROUPID” -e $SVNSERVE_BIN $SVNSERVE_OPTIONS…
2. 修改/etc/sysconfig/svnserve文件中的下列内容
#####注意去掉-R,否则会强制只读;
#####注意仓库的路径要拼写正确
SVNSERVE_OPTIONS=”-d -r /home/zhangrui/project/svnRepository/sft”
#####设为存在的用户和用户组,我就设为自己常用登录的用户了
SVNSERVE_USERID=”zhangrui”
SVNSERVE_GROUPID=”users”
3. 在YAST――>系统――>系统服务 中开启svnserve服务(level3,5)
或者用root运行chkconfig -s svnserve on
后记:方法当然不止一个,网上有说用自启动脚本的,有说用xinetd启动的。我还是喜欢自己用的这个方法,会在启动过程中出现一行“Starting svnserve done”。
发表评论
要发表评论,您必须先登录。