SVN搭建

来源:互联网 发布:自学java能找到工作吗 编辑:程序博客网 时间:2024/05/01 22:59

一、SVN默认安装目录/usr/bin

二、创建仓库 svnadmin create /home/svnrepo

/home/svnrepo为所创建仓库的路径,理论上可以是任何目录

三、修改配置文件/home/svnrepo/conf/svnserve.conf

代码

#去掉#[general]前面的#号

[general]

#匿名访问的权限,可以是read,write,none,默认为read

anon-access = none

#认证用户的权限,可以是read,write,none,默认为write

auth-access = write

#密码数据库的路径,去掉前面的#

password-db = passwd

注意:所有的行都必须顶格,否则报错。

建议:为了防止不必要的错误,建议你直接用我上面的内容覆盖掉文件原来的内容

四、修改配置文件passwd。

代码

[users]

test = test

注意

1. 一定要去掉[users]前面的#,否则svn只能以匿名用户登录,客户端不会出现登录窗口,除非你的anon不为none,否则将返回一个错误。

2. 这里的密码都是没有加密的,我按照一些教程所说的用htpasswd生成的密码无法使用。

五、配置SVN xinetd启动方式:

在/etc/xinetd.d/下面新建svn文件

service svn

{

disable = no

port = 3690

socket_type = stream

protocol = tcp

wait = no

user = svn

server = /usr/local/bin/svnserve

server_args = -i -r /home/svn

}

重启xinetd /etc/init.d/xinetd restart

六、停止SVN服务器:killall svnserve

七、启动SVN服务器

对于单个代码仓库

启动命令 svnserve -d -r /home/svn --listen-host 192.168.1.16

其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接用 svn://服务器ip 来访问了。如果服务器有多ip的话--listen-host来指定监听的ip地址.

我们可以在svn客户端中通过 svn://192.168.1.16 来访问svn服务器

对于多个代码仓库,我们在启动时也可以用-r选项来指定服务器根目录,但访问时需要写上每个仓库相对于svn根目录的相对路径.

比如,我们有两个代码仓库/home/repo1 和/home/repo2,我们用svnserve -d -r /home --listen-host 192.168.1.16来启动,那么在客户端访问时可以用 svn://192.168.1.16/repo1 和 svn: //192.168.1.16/repo2 来分别访问两个项目

八、开放服务器端口

svn默认端口是3690,你需要在防火墙上开放这个端口。

/sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT

/sbin/service iptables save

你也可以通过svnserve的--listen-port选项来指定一个已经开放的其他端口,不过这样的话客户端使用也必须家上端口,如 svn://192.168.1.200:9999/ .

九、使用svn客户端导入项目

推荐使用客户端 http://tortoisesvn.tigris.org/

eclipse插件 http://subclipse.tigris.org/

FAQ:

1.问:用户赋予了读写权限,但是仍旧无法对svn源码进行写操作。(apache+svn方式)

答:赋予svn项目目录apache专属用户的权限,即可解决这个问题。

原创粉丝点击