一、安装SVN默认安装到/usr/local/bin下面
$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn
二、创建仓库 svnadmin create /home/svnrepo
/root/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]
- sxy = sxy
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
- }
六、停止SVN 服务器:
- #killall svnserve
对于单个代码仓库
启动命令
- #svnserve -d -r /home/svn --listen-host 192.168.1.16
我们可以在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/