Linux 下 SVN服务器搭建

时间:2024-01-02 09:38:38

使用Linux(CentOS)搭建SVN服务器全攻略

虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN

安装
#yum install subversion

1)创建svn用户
#groupadd svn
#useradd -g sky user//是将user加入到sky組內
切换用户
#su svn
以后代码库的创建维护等,都用这个帐户来操作。

2)创建版本库
编辑.bash_profile 加上如下配置
SVN_HOME=/opt/lampp/htdocs/_svn
export SVN_HOME
PATH=$PATH:$SVN_HOME/bin
export PATH

创建版本库:
#svnadmin create --fs-type fsfs web
此时在/opt/lampp/htdocs/_svn/web下出现:conf/ db/ format hooks/ locks/ README.txt

3)设置web访问的用户名和密码
编辑文件/opt/lampp/htdocs/_svn/web/conf/passwd
在[users] 按照一下格式设置用户名和密码:
用户名1=密码1
用户名2=密码2
例如test=test,表示用户名是test,密码也是test

編輯文件/opt/lampp/htdocs/_svn/web/conf/authz
[groups]
www=7di,user1,user2,user3,user4,user5,user6,wasing

[/]
@www=rw
*=

编辑文件/opt/lampp/htdocs/_svn/web/conf/svnserve.conf
加上几行配置:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
注意,此几行配置所在行第一个字母钱不能有任何空格,否则会出现类似svnserve.conf:12: Option expected 这样的错误
好了,通过以上配置,你的svn就可以了。

4)连接

如果已经有svn在运行,可以换一个端口运行
svnserve -d -r /opt/lampp/htdocs/_svn/web --listen-port 3391
这样同一台服务器可以运行多个svnserver

或用下邊的命令殺死進程
netstat -ntlp
kill -9 id

好了,启动成功后,就可以使用了。
建议采用TortoiseSVN, 连接地址为: svn://URL/項目名稱 (如果指定端口需要添加端口:端口号)
连接后可以上传本地的文件,有效的管理你的代码

如果連接出錯,請檢查防火牆設置
#vi /etc/sysconfig/iptables
加入: -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
#service iptables restart

创建启动Subversion的脚本:
#echo 'svnserve -d -r /opt/lampp/htdocs/_svn/' > start_svn.sh
#chmod 0777 start_svn.sh
#./start_svn.sh

将启动脚本放置到开机自动启动脚本中:
以root身份修改文件:/etc/rc.d/rc.local,添加以下文字:
su -c /opt/lampp/htdocs/_svn/start_svn.sh svn