发布时间:2003-07-01 19:35 来源:未知
想在一台Ubuntu上搭建SVN服务,在网上看到的教程都需要安装Apache,但我已经安装了Nginx了,不想仅仅为了SVN再多装一个Apache。经过一番摸索,终于搞定了最小化的SVN服务,额外的软件什么也不需要安装。
下面是详细的过程:
1 通过apt-get安装subversion
复制代码代码如下:
复制代码代码如下:
复制代码代码如下:
复制代码代码如下:
复制代码代码如下:
这个配置稍微复杂点:[groups]组是设置用户组的,比如:我设置的develop可以理解为开发人员组,等号的后面是组的成员,每个成员之间用逗号分隔。接下来的[/]为具体的某个地址设置权限,用@develop代表为develop组设置权限,rw代表又能读又能写。还有其他的复杂用法,不过我只懂最简单最常用的,所以其他的都跳过。
8 启动服务
复制代码代码如下:
参数-d表示以守护进程模式启动,-r表示代码仓库的根目录,假如启动成功了,通过ps aux | grep svnserve可以看到进程,至此一个最简单的SVN服务就搭建好了。
然后把这个命令放到rc.local中,让每次开机都启动SVN服务。
9 接下来测试验证,在客户机上找个目录执行一下命令:
复制代码代码如下:
svn co svn://192.168.0.111/akcms --username=mantou --force
svn://192.168.0.111/akcms就是新建的代码仓库的地址,假设刚才的服务是建在192.168.0.111上的。参数--username是指定用户名的,不指定的话会以当前的系统用户登录,系统用户和SVN用户是不相干的两套,所以还是人工指定的好。--force参数可有可无,假如在同一个地址上反复测试,删了建建了删,SVN客户端会缓存住上一次成功checkout的UUID,假如删了再建UUID会发生改变,客户端校验不一致会提示“Repository UUID 'xxx' doesn't match expected UUID 'xxx'”,加--force参数就不理会这个校验,强行checkout。
假如顺利的话,会提示“Checked out revision 0.”,然后在当前目录下生成一个akcms的目录,里面就是代码仓库的代码了。