Linux搭建svn服务详细步骤(多项目管理)
2021/7/12 7:09:47
本文主要是介绍Linux搭建svn服务详细步骤(多项目管理),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、安装
1、查看yum是否安装
在终端中输入yum即可如果已经安装,会显示yum的参数,如果没有安装,会提示yum未安装或无效命令(没安装的需先安装,这里不细说)
2、安装svn
yum -y install subversion
3、查看安装版本,检查安装是否成功
svnserve --version
4、查看安装位置
rpm -ql subversion
二、创建项目
1、创建用于存放版本库的目录(此目录为所有项目的根目录)
mkdir -p /usr/local/svnRepo
2、根据实际情况创建多个项目路径(这里我建多一层目录“svm”管理项目)
mkdir -p /usr/local/svnRepo/svn/project1 mkdir -p /usr/local/svnRepo/svn/project2
3、创建完后,每个版本库目录下会生成一些文件
三、配置
1、配置版本库(对于每个版本库根据实际情况分别进行配置)
在每个版本库中的conf目录如下:
其中
| - authz 权限控制文件 | - passwd 帐号密码文件 | - svnserve.conf SVN服务配置文件
为了后续增加项目方便,创建公共的用户、权限配置文件,放到版本库公共路径/usr/local/svnRepo/conf下:
mkdir -p /usr/local/svnRepo/conf
复制authz、passwd文件到该目录,用于管理所有用户和权限。
2、配置账号
修改/usr/local/svnRepo/conf/passwd,添加用户,格式就是“用户名=密码”,如:
[users] user1 = 123 user2 = 234 test = 345
3、配置权限
修改/usr/local/svnRepo/conf/authz文件,加入用户权限,如:
[groups] developer = user1, user2 [svn/project1:/] @developer = rw * = [svn/project2:/] @developer = rw test = r * =
[groups]为分组管理,格式为:"组名=用户1,用户2...",方便按组分配权限
[svn/project1:/]为项目目录分配权限,“svn/project1”项目路径,这个路径是相对后面启动svn的路径而来的,“:/”表示这个项目的根目录,可以再细分目录设置权限,如:[svn/project1:/dev]
@developer为分组developer设置权限(组名前必须加@),test为单个用户设置权限
rw,分别代码读权限和写权限
特别注意最后要加上:
* =
表示除此之外的用户没有任何权限。
4、配置svnserve.conf
修改每个项目中conf路径下的svnserve.conf文件,对刚才公共文件的引用
anon-access = none #匿名用户不可读 auth-access = write #授权用户可写 password-db = /usr/local/svnRepo/conf/passwd #使用公共文件作为账号文件 authz-db = /usr/local/svnRepo/conf/authz #使用公共文件作为权限文件 realm = /usr/local/svnRepo/svn/project1 # 认证空间名,版本库所在目录
其他project做同样的修改。
四、启动svn服务
如果在一台服务器上同时启动多个项目版本库,那么启动路径必须是所有项目仓库的根路径,比如:
/usr/local/svnRepo/svn/project1
/usr/local/svnRepo/svn/project2
根路径就是:
/usr/local/svnRepo/
启动命令
svnserve -d -r /usr/local/svnRepo/
这个启动路径就是客户端访问的起始点,可以理解为“svn://ip/”这样就访问到了这个路径/usr/local/svnRepo/
所以要访问project1的路径为:svn://ip/svn/project1
跟我们的目录相对应:/usr/local/svnRepo/svn/project1
如果后续需要增加项目,只需要在svn目录里面创建对应的项目,配置权限后即可访问,无需再重启svn服务
五、停止svn服务
killall svnserve
六、测试一下
用svn客户端checkout,输入路径、账号密码即可
七、其他
svn默认端口为3690,如果访问不到,检查是否被防火墙拦截。
这篇关于Linux搭建svn服务详细步骤(多项目管理)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南