Linux搭建SVN服务器详细教程

caocao1年前教程203

在线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进行测试。

相关文章

kali中文设置

kali中文设置

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 回答1:嗨!欢迎来到Ka...

幻影pin安卓版2022最新版v1.78安卓版

幻影pin安卓版2022最新版v1.78安卓版

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 幻影pin安卓版2022...

Kali Linux Web渗透测试手册(第二版) - 7.8

Kali Linux Web渗透测试手册(第二版) - 7.8

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 翻译来自:掣雷小组 成员...

Linux强化论:15步打造一个安全的Linux服务器

Linux强化论:15步打造一个安全的Linux服务器

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 大多数人普遍认为Linu...