在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
想在一台Ubuntu上搭建SVN服务,在网上看到的教程都需要安装Apache,但我已经安装了Nginx了,不想仅仅为了SVN再多装一个Apache。经过一番摸索,终于搞定了最小化的SVN服务,额外的软件什么也不需要安装。 下面是详细的过程: 1 通过apt-get安装subversion 复制代码 代码如下:apt-get install subversion 我原来误入歧途,以为会有个subversion-server之类的包,怎么找也找不到,后来才知道原来这个subversion同时包含了服务端和客户端。 2 找个目录当做SVN的根目录 我选择的是/data/svn,以下命令也都是跟着这个目录走的,请按照自己的选择自行修改 3 创建一个库 我的叫做akcms,执行完毕后会发现自动在/data/svn/akcms/目录中生成了一堆东西,其中有一个叫conf的文件夹 复制代码 代码如下:svnadmin create /data/svn/akcms 4 接下来修改/data/svn/akcms/conf/下的三个文件,依次是:svnserve.conf、passwd、authz。他们三个作用分别是:主配置文件、密码配置文件、权限配置文件 5 编辑文件vi /data/svn/akcms/conf/svnserve.conf 复制代码 代码如下:anon-access = none auth-access = write password-db = passwd authz-db = authz 6 编辑文件vi /data/svn/akcms/conf/passwd 复制代码 代码如下:[users] mantou = 123456 格式很简单,用户名、密码,每行一个,默认是明文保存 7 编辑文件 vi /data/svn/akcms/conf/authz 复制代码 代码如下:[groups] develop = mantou [/] @develop = rw 这个配置稍微复杂点:[groups]组是设置用户组的,比如:我设置的develop可以理解为开发人员组,等号的后面是组的成员,每个成员之间用逗号分隔。接下来的[/]为具体的某个地址设置权限,用@develop代表为develop组设置权限,rw代表又能读又能写。还有其他的复杂用法,不过我只懂最简单最常用的,所以其他的都跳过。 8 启动服务 复制代码 代码如下:svnserve -d -r /data/svn 参数-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的目录,里面就是代码仓库的代码了。 |
请发表评论