前言:本文为初次安装及配置SVN,如系统中已经存在正在使用的SVN,则需要慎重使用本文章。
1. 检查是否已经安装了svn
命令:rpm -qa subversion
2. 如果出现下列三种情况,则不需要卸载重装,请跳过第3步
①SVN未安装;
②SVN为新版本;
③SVN版本为旧版本,但是项目正在使用中的SVN。
3. 如果已经安装旧版本svn,则需要卸载后重新安装
命令:yum remove subversion
4. 安装svn
命令:yum -y install subversion
安装完成
5. 检查是否安装成功
命令:svnserve --version
如果出现如下内容,则表示安装成功
6. 创建仓库目录【建议: 一个仓库一个项目,多个项目就建立多个仓库,方便版本管理】
命令:mkdir -p /home/svn/storeone
7. 创建项目
命令:svnadmin create /home/svn/storeon
8. 检查是否创建成功
命令:cd /home/svn/storeone && ll
如果成功,storeone 目录下如下几个文件
9. 配置SVN
切换目录到conf底下
命令:cd ./conf/ && ll
(1)配置用户名和密码
编辑passwd文件,命令:vim passwd
添加用户,如图2示例:
(2) 配置用户权限
编辑authz文件,命令:vim authz
添加如下用户组,并给组赋权限,如图2示例:
----------------------------------------------authz用户权限配置参考如下--------------------------------------------------
[groups]
admin = zhangsan,lisi
group_app = wangwu
[/]
* = r
@groups = rw
### 所有人对所有仓库的根目录都有读权限, groups下所有的用户组有读写权限
--------------------------------------------------------------------------------------------------------
[groups]
admin = zhangsan,lisi
group_app = wangwu
[/]
* = r
@group_app = rw
### 所有人对所有仓库的根目录都有读权限, group_app用户组有读写权限
-------------------------------------------------------------------------------------------------------
[/]
* = r
### 所有人对所有仓库的根目录都有读权限
------------------------------------------------------------------------------------------------------
[repos1:/truck]
* = r
harry = rw
### 只有用户harry对仓库repos1里的truck文件夹有读写权限
-------------------------------------------------------------------------------------------------------
[repos2:/truck]
* = r
sally = rw
### 只有用户sally对仓库repos2里的truck文件夹有读写权限,其他用户都是读
----------------------------------------------------------------------------------------------------------
(3)如果有需要可以修改svn的一些默认配置
编辑svnserve.conf文件,命令:vim svnserve.conf
修改如下内容,如图2所示:
-----------------------------------------配置详解--------------------------------------------------
anon-access = none //无用户登录时,无权限
anon-access = read //无用户登录时,只读权限
auth-access = write //写文件需要有用户权限
password-db = passwd //密码存放位置
authz-db = authz //权限控制文件存放位置
realm = storeone //项目名称
10. 启动svn服务
命令:svnserve -d -r /home/svn
注释:-d:守护进程 -r:svn根目录
记住这里一定不要指定到具体的代码库目录,网上很多教程都是错误的!
小提示:建议大家将上述命令写到配置文件里,这样每次重启服务器都能自动启动SVN,如:vim /etc/profile 然后在底部添加上述命令
11. 开放svn端口3690
修改命令:iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
保存修改命令:/etc/rc.d/init.d/iptables save
重启防火墙命令:service iptables restart
查看防火墙状态命令:/etc/init.d/iptables status
12. 验证测试,svn协议地址:svn://192.168.50.130/storeone
13. 测试svn提交
到这里SVN就完成安装与配置了,出现问题或哪里不明白请留言,我会进行回复的。如有编写错误之处敬请指正!