Linux搭建SVN服务器详细教程

caocao2年前教程281

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

//Ubuntu
apt-get install subversion
//Centos
yum install subversion

前言

本文将以极客的语气讲解如何在Linux系统下搭建SVN服务器,并详细说明各配置项的功能,最终实现对多个项目进行复杂配置的可管控性。SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,实现最终集中式的管理。目前许多互联网公司都在使用SVN,它的优点在于使用方便、易于管理。与之相对应的分布式版本控制系统Git则更加灵活。

搭建安装SVN

svnserve --version
cdlinux u盘启动需要操作系统吗
cd /usr
mkdir svn

要查看是否安装成功,可以查看版本。提示版本1.13.0,说明已安装成功。

创建版本库目录

创建SVN版本库目录,为后续创建版本库提供存放位置,也是最后启动SVN服务的根目录。我们在/usr路径下创建svn目录作为版本库目录。

cd /usr/svn
svnadmin create dev
cd /usr/svn/dev/conf
ls

Linux系统各目录知识延伸:

所以,将SVN库存放在用户文件目录/usr下比较合理。

创建SVN版本库

在上一步建立路径基础上,创建版本库,例如dev。创建成功后,可以查看到dev目录下生成的文件。

修改SVN配置

进入conf目录,查看需要修改的配置文件。

vim svnserve.conf
cdlinux u盘启动需要操作系统吗
vim passwd

配置文件:

修改svnserve.conf文件

去掉anon-access、auth-access、password-db、authz-db、realm几项前的注释符号“#”。

配置项含义:

认证域知识延伸:

在SVN客户端登录时,会提示realm认证域,例如下图的认证域My First Repository。

修改passwd文件

只需在末尾添加账号和密码,格式为 账号 = 密码,例如user1 = 123456,可添加多个。

修改authz文件

在根目录下设置user1、user2的读写权限:

如果用户较多,可以使用groups形式设置分组team1,并在根目录下指定分组@team1的权限:

如果想设置其他用户的权限,可以通过*设置,例如设置除@team1分组外其他用户只有读权限:

启动SVN服务

执行SVN启动命令,其中参数-d表示以守护进程的方式启动,-r表示设置的根目录。

关闭svn命令:

本地访问SVN服务

在Windows系统中,安装TortoiseSVN软件,创建一个本地目录,右键选择SVN Checkout进行测试,URL填写svn://IP/dev,dev替换成您创建的版本库名称。

cdlinux u盘启动需要操作系统吗cdlinux u盘启动需要操作系统吗
anon-access = none

输入passwd配置好的用户。

Checkout completed,SVN访问成功,这就很棒了~

扩展设置查看log日志

想查看提交的SVN log日志,需要进一步配置。编辑svnserve.conf,设置:

[/]
* =
mkdir /usr/svn

编辑authz文件中添加:

这样通过鼠标右键TortoiseSVN->show log就可以查看SVN提交的历史记录了。

多个项目管控配置

SVN配置文件非常灵活,如果想使用统一的账户和权限来管理多个项目,可以将多个项目的authz和passwd文件统一放在一处,在多个项目的svnserve.conf文件中配置这两个文件的绝对路径,并在authz中对不同的项目设置用户访问权限。例如:a、b、c、d这4个用户,p1、p2两个项目,其中a、b只能访问p1,c、d只能访问p2。

创建版本库目录

cd /usr/svn
svnadmin create p1
svnadmin create p2
mkdir /var/svn/conf
cd /p1/conf
cp authz passwd /var/svn/conf
anon-access = none
auth-access = write 
password-db = /var/svn/conf/passwd 
authz-db = /var/svn/conf/authz 
realm = p1 
anon-access = none
auth-access = write
password-db = /var/svn/conf/passwd
authz-db = /var/svn/conf/authz
realm = p2
[users]
a = 123
b = 123
c = 123
d = 123

创建多个版本库

创建管理用户权限目录

修改配置文件

修改p1的svnserve.conf文件:

修改p2的svnserve.conf文件:

password-db和authz-db都使用统一管理用户权限目录的绝对路径。

修改password-db文件

[groups] //分组
p1user = a,b
p2user = c,d
[/]
* = #以上没有定义的用户都没有任何权限
[p1:/] //p1的访问控制,c、d无法访问
@p1user = rw
[p2:/] //p2的访问控制,a、b无法访问
@p2user = rw
svnserve -d -r /usr/svn/
访问项目p1 URL
svn://IP/p1
访问项目p2 URL
svn://IP/p1

修改authz文件

对password-db和authz文件的修改立即生效,不必重启SVN。

启动SVN服务

访问不同项目的SVN

同样使用TortoiseSVN软件,选择SVN Checkout进行测试。

相关文章

linux系统安装教程(kali linux安装教程)

linux系统安装教程(kali linux安装教程)

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 Linux系统U盘安装教...

CDlinux_无线wifi wpa2密码破解软件 V0.9.7

CDlinux_无线wifi wpa2密码破解软件 V0.9.7

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 一般我们破解无线网都是用...

单身狗之渗透技术搞定女神

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 你们Onls表哥本来准备...

安卓手机 F2FS文件系统镜像快速解析技巧

安卓手机 F2FS文件系统镜像快速解析技巧

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 F2FS文件系统相对于传...