ubuntu系统上svn服务器搭建步骤分享
2016-04-14 14:53
162 查看
想在一台Ubuntu上搭建SVN服务,经过一番摸索,终于搞定了最小化的SVN服务安装方法,大家参考使用吧
想在一台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的目录,里面就是代码仓库的代码了。
想在一台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的目录,里面就是代码仓库的代码了。
相关文章推荐
- Linux网络编程--select,poll和epoll的区别
- js仿3366小游戏选字游戏
- [置顶] 自定义spinner
- C Primer Plus(第五版) 第十四章 课后习题 6
- openwrt上透明AP的实现
- 我是一个Java class
- hdu5526 贪心
- Javascript中的Ajax
- 视频转gif,视频转gif模糊的解决办法
- android 多线程下载框架
- android Activity实现从底部弹出或滑出选择菜单或窗口
- 第二章 感知机
- Java 中的覆盖@Override注解 写与不写的一点点理解
- MyBatis+MySQL 返回插入的主键ID
- 玩转Python机器学习七步法
- C语言中输入包含空格字符串的两种方法
- POJ3246-Balanced Lineup,好经典的题,做法和HDU-I hate it 一样~~
- JAVA基础(23) web.xml配置实例
- AdoConnection连接池的使用
- 关于htmlentities 、htmlspecialchars、addslashes的使用