#!/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]爲開頭,下面每一行等號前面是用戶名,後面是密碼,所有都要頂格寫