在Linux系统下搭建SVN服务器是一个常见且实用的任务,尤其对于需要版本控制和团队协作的开发环境,以下是一个详细的步骤指南,涵盖从安装到配置的全过程。
一、检查环境和安装
1、检查当前环境:
使用rpm qa | grep subversion
命令检查是否已安装SVN,如果显示为空,则表示未安装。
2、卸载旧版本(如有):
如果存在旧版本,可以使用yum y remove subversion
命令进行卸载。
3、安装SVN:
通过yum y install subversion
命令安装SVN,此命令会自动安装SVN服务器及相关依赖。
4、验证安装:
使用svnserve version
命令查看安装的版本,确认安装成功。
二、创建版本库目录
1、创建版本库目录:
在/usr路径下创建一个名为svn的目录作为版本库目录:mkdir /usr/svn
。
2、进入版本库目录:
使用cd /usr/svn
命令进入刚创建的目录。
三、创建SVN版本库
1、创建版本库:
使用svnadmin create dev
命令在svn目录下创建一个名为dev的版本库。
2、验证创建结果:
创建成功后,可以在dev目录下看到conf、db、format、hooks、locks和README.txt等文件。
四、修改SVN配置
1、进入conf目录:
使用cd /usr/svn/dev/conf
命令进入conf目录。
2、修改svnserve.conf文件:
使用vim打开svnserve.conf文件:vim svnserve.conf
。
去掉anonaccess、authaccess、passworddb、authzdb、realm几项前的注释符号“#”。
3、配置项含义:
anonaccess = none|read|write:决定非授权用户的访问级别,none表示无访问权限,read表示只读,write表示可读可写,默认为read。
authaccess = none|read|write:决定授权用户的访问级别,使用与上面相同的访问级别,默认为write。
passworddb = filename:指定账号密码数据库文件名,filename是相对仓库中conf目录的位置,也可以设置为绝对路径,默认为passwd。
authzdb = filename:指定权限配置文件名,filename是相对仓库中conf目录的位置,也可以设置为绝对路径,默认为authz。
realm = realmname:指定版本库的认证域,即在登录时提示的认证域名称,若两个版本库的认证域相同,建议使用相同的账号密码数据库文件passwd。
4、修改passwd文件:
使用vim打开passwd文件:vim passwd
。
在末尾添加账号和密码,格式为账号 = 密码,如user1 = 123456,可添加多个。
5、修改authz文件:
使用vim打开authz文件:vim authz
。
在根目录下设置user1、user2读写权限:[root:/] user1 = rw user2 = rw。
如果用户比较多,可以使用groups形式设置分组team1,并在根目录下指定分组@team1的权限:[groups] team1 = user1, user2 [root:/] @team1 = rw。
如果想设置其他用户的权限,可以通过*设置,如设置除@team1分组外其他用户只读权限:[root:/] * = r。
五、启动SVN服务
1、启动SVN服务:
执行svnserve d r /usr/svn/
命令以守护进程的方式启动SVN服务,d表示以守护进程方式运行,r表示设置的根目录。
2、关闭SVN服务:
如果需要关闭SVN服务,可以使用killall svnserve
命令。
六、本地访问SVN服务
1、在Windows系统中访问SVN服务:
安装TortoiseSVN软件。
创建一个本地目录,右键选择SVN Checkout测试下,URL填写svn://IP/dev(将dev替换成你创建的版本库名称)。
输入passwd配置好的用户信息进行访问。
七、扩展功能
1、查看log日志:
编辑svnserve.conf文件,设置anonaccess = none。
编辑authz文件中添加[/] * =。
这样可以通过鼠标右键TortoiseSVN > show log查看svn提交的历史记录。
2、多个项目管控配置:
SVN配置文件非常灵活,如果想使用统一的账户和权限去管控多个项目,可以将多个项目的authz和passwd文件统一放在一处,在多个项目的svnserve.conf文件中配置这两个文件的绝对路径,并在authz中对不同的项目设置用户访问权限。
| 步骤 | 命令或操作 | 说明 |
| | | |
| 检查环境 |rpm qa | grep subversion
| 检查是否已安装SVN |
| 卸载旧版本 |yum y remove subversion
| 卸载旧版本的SVN(如有) |
| 安装SVN |yum y install subversion
| 安装SVN及其依赖 |
| 验证安装 |svnserve version
| 验证SVN是否安装成功 |
| 创建版本库目录 |mkdir /usr/svn
| 在/usr路径下创建svn目录 |
| 进入版本库目录 |cd /usr/svn
| 进入svn目录 |
| 创建版本库 |svnadmin create dev
| 在svn目录下创建dev版本库 |
| 修改svnserve.conf文件 |vim svnserve.conf
| 配置SVN服务器参数 |
| 修改passwd文件 |vim passwd
| 添加用户及密码 |
| 修改authz文件 |vim authz
| 设置用户权限 |
| 启动SVN服务 |svnserve d r /usr/svn/
| 启动SVN服务 |
| 关闭SVN服务 |killall svnserve
| 关闭SVN服务 |
| 本地访问SVN服务 | 使用TortoiseSVN进行Checkout | 在Windows系统中通过TortoiseSVN访问SVN服务 |
九、FAQs
1、如何在Linux上卸载已安装的SVN?
答:如果需要卸载已安装的SVN,可以使用yum y remove subversion
命令进行卸载,此命令会移除SVN及其相关依赖。
2、如何更改SVN服务的端口号?
答:要更改SVN服务的端口号,可以编辑svnserve.conf文件,找到并修改如下行:listenport = 3690
,将3690更改为所需的端口号即可,注意,新的端口号需要在防火墙中开放相应的端口。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1246522.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复