在Linux下搭建SVN服务器并使用,可以按照以下步骤进行:
一、检查环境
1、查看是否安装过SVN:
rpm qa | grep subversion
如果没安装过则什么都不显示。
如果已安装,先卸载老版本:
yum y remove subversion
二、下载安装
通过yum
命令安装svnserve,此命令会自动安装SVN服务器相关服务和依赖:
yum y install subversion
三、创建版本库
1、创建版本库目录:
mkdir p /usr/svn/repository chmod 755 R /usr/svn/repository
2、创建SVN版本库:
svnadmin create /usr/svn/repository
3、查看生成的文件:
ls /usr/svn/repository
生成的文件包括conf
、db
、format
、hooks
、locks
和README.txt
等。
四、配置修改
1、进入配置文件目录:
cd /usr/svn/repository/conf
2、修改svnserve.conf
文件:
编辑svnserve.conf
文件,去掉以下几项前的注释符号“#”:
anonaccess = none authaccess = write passworddb = passwd authzdb = authz realm = MyFirstRepository
3、修改passwd
文件:
添加用户和密码信息:
[users] user1 = password1 user2 = password2
4、修改authz
文件:
设置用户权限:
[groups] admin = user1,user2 [/] @admin = rw * = r
五、开启防火墙
确保防火墙允许SVN的默认端口3690:
sudo firewallcmd permanent addservice=telnet sudo firewallcmd permanent addport=3690/tcp sudo firewallcmd reload
六、启动SVN服务器
1、启动SVN服务器:
svnserve d r /usr/svn/repository
2、查看SVN服务:
ps aux | grep svnserve
3、停止SVN服务:
killall svnserve
七、检出项目
在Windows系统中,使用TortoiseSVN软件检出项目:
1、创建一个本地目录。
2、右键选择SVN Checkout,URL填写svn://IP/repository
(repository替换成你创建的版本库名称)。
3、输入在passwd
文件中配置好的用户名和密码。
4、Checkout完成后,即可访问SVN服务器上的代码。
八、查看日志
想查看提交的SVN log日志,需要进一步配置:
1、编辑svnserve.conf
:
anonaccess = none
2、编辑authz
文件:
[/] * = rw
3、通过鼠标右键TortoiseSVN > show log查看提交历史记录。
九、多个项目管控配置
如果需要使用统一的账户和权限去管控多个项目,可以将多个项目的authz
和passwd
文件统一放在一处,并在多个项目的svnserve.conf
文件中配置这两个文件的绝对路径。
1、创建多个版本库:
mkdir /usr/svn/project1 svnadmin create /usr/svn/project1 mkdir /usr/svn/project2 svnadmin create /usr/svn/project2
2、创建管理用户权限目录:
mkdir /var/svn/conf cp /usr/svn/project1/conf/authz /var/svn/conf/authz cp /usr/svn/project1/conf/passwd /var/svn/conf/passwd
3、修改各项目的svnserve.conf
文件:
anonaccess = none authaccess = write passworddb = /var/svn/conf/passwd authzdb = /var/svn/conf/authz realm = project1
4、修改passworddb
文件:
[users] a = 123 b = 123 c = 123 d = 123
5、修改authz
文件:
[groups] p1user = a,b p2user = c,d [/] * = #以上没有定义的用户都没有任何权限 [project1:/] #project1的访问控制,c、d无法访问 @p1user = rw [project2:/] #project2的访问控制,a、b无法访问 @p2user = rw
命令 | 描述 | |
yum y install subversion | 安装SVN服务器 | |
svnserve d r /path/to/repo | 启动SVN服务器 | |
killall svnserve | 停止SVN服务器 | |
svnadmin create /path/to/repo | 创建SVN版本库 | |
vim /path/to/repo/conf/svnserve.conf | 修改SVN服务器配置文件 | |
vim /path/to/repo/conf/passwd | 添加用户和密码 | |
vim /path/to/repo/conf/authz | 设置用户权限 | |
firewallcmd permanent addservice=telnet | 开启防火墙服务 | |
firewallcmd permanent addport=3690/tcp | 添加SVN默认端口到防火墙 | |
firewallcmd reload | 重新加载防火墙配置 | |
ps aux | grep svnserve | 查看SVN服务状态 |
killall svnserve | 停止SVN服务 | |
svn checkout svn://IP/repository | 检出项目 |
以上就是关于“Linux下svn服务器怎么搭建和使用”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1251016.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复