#!/bin/bash # build this file in /etc/rc.d/init.d/svn # chmod 755 /etc/rc.d/init.d/svn # centos下可以用如下命令管理svn: service svn start(restart/stop) SVN_HOME=/datas/svnpath/member if [ ! -f "/usr/bin/svnserve" ] then echo "svnserver startup: cannot start" exit fi case "$1" in start) echo "Starting svnserve..." /usr/bin/svnserve -d -r $SVN_HOME echo "Finished!" ;; stop) echo "Stoping svnserve..." killall svnserve echo "Finished!" ;; restart) $0 stop $0 start ;; *) echo "Usage: svn { start | stop | restart } " exit 1 esac
安装步骤:
# yum install subversion # mkdir /opt/svn **/opt/svn 为所有的SVN项目的存放目录 # svnadmin create /opt/svn/project01 **在/opt/svn目录下新建一个SVN项目project01
这一步将建立一个svn版本库,位置处于/opt/svn/project01。打开这个文件夹能看到一些文件和文件夹(conf/ dav/ db/ format hooks/ locks/ README.txt),其中conf这个文件夹下的文件是我们马上需要更改的。
进入/opt/svn/project01/conf/,首先打开svnserve.conf文件,将起内容设置为:
[general]
anon-access = none
auth-access = write
password-db = passwd
其中所有的行都要顶格写。第一行是一个开头,第二行设置没有权限的用户权限,个人建议设置为none,否则别人只要知道你的svn版本库就可以直接co出来;第三行是设定有权限用户的权限,当然是write,可以向版本库中写了;第四行设定了密码文件的位置,一般默认为当前目录下passwd文件,然后打开authz文件,将文件内容修改为
[groups]
menjoy = menjoy
# [/foo/bar]
# harry = rw
# * =
[projects:/baz/fuz]
@menjoy = rw
应该是设定群组成员的吧?没有用过,因为只是本地建立一个svn版本库用一下
最后修改passwd文件
这个文件设定了所有授权用户的用户名和密码
该文件以[users]为开头,下面每一行等号前面是用户名,后面是密码,所有都要顶格写