Linux下的SVN服务器搭建

Linux服务器搭建SVN服务 Subversion(SVN) 是一个开源的版本控制系统, 也就是说 Subversion 管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository) 中。这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。 阅读详情

鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人

本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结

/******开始*********/

系统环境:Centos 6.5

第一步:通过yum命令安装svnserve,命令如下:

yum -y install subversion

此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行(需虚拟机联网)

若需查看svn安装位置,可以用以下命令:

rpm -ql subversion

第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

选择在var路径下创建版本库,当前处于根目录下,一次性创建如下:

mkdir /var/svn/svnrepos

第三步:创建svn版本库

在第二步建立的路径基础上,创建版本库,命令如下:

svnadmin create /var/svn/svnrepos/xxxx   (xxxx为你预期的版本库名称,可自定义)

例: svnadmin create  /var/svn/svnrepos/public

创建成功后,进入xxx目录下

cd /var/svn/svnrepos/xxxx

进入目录,可以看见如下文件信息:

第四步:配置修改

进入已经创建好的版本库目录下,也就是前文说创建的xxxx

进入conf

cd /var/svn/svnrepos/xxxx/conf

conf目录下,一共存放三份重要的配置文件,如下:

 

authz:负责账号权限的管理,控制账号是否读写权限

passwd:负责账号和密码的用户名单管理

svnserve.conf:svn服务器配置文件

细节修改如下:(希望大家严格按照以下信息,不用参考网络上其他资料)

修改authz文件信息,如下:

>vi authz

在文件内容的末尾,添加如下:

 

只需在末尾添加,无需在文件其他部分修改和添加任何东西(请忽略groups被我马赛克的地方,那其实也是条无用的记录,我忘记删掉而已),末尾内容如下:

[\]

账号1 = rw

账号2 = rw

。。。。。

( 设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

[/] zhoulf=rw  //给该用户访问所有库的权限

 或

[public:/project]  //public库的根目录权限

zhoulf=rw

/ 表示根目录及以下,根目录是svnserve启动时指定的,我们指定的是/var/svn;/ 就是指对全部版本库都具有权限

xxx = rw 表示赋予此账号可读写的权限

xxx = r 则表示“那些人只能读,不能写” 

PS:

* 权限配置文件中出现的用户名必须已在用户配置文件中定义。

* 对权限配置文件的修改立即生效,不必重启svn。

* 请注意[]中的斜杠,一定是反斜杠 )

修改passwd文件信息

>vi passwd

账号密码文件无需做修改,也是直接将账号和密码信息追加到文件中即可,注意格式为:

账号 = 密码

例如:admin = 123456

修改svnserve.conf(重要)

vi svnserve.conf

原始文件内容,都被注释掉的,我们只需要去掉4条指定内容前注释即可,如下:

 

大多数网络资料,都会让大家将authz-db = authz这条给去掉注释,经过我本人多次被坑经验,此条去掉后,虽然svn服务器可以连接,但一直会提示“认证失败”,注释掉即可正常

还有多数资料会让大家在realm = My First Repository处填写服务器ip,经过测试,填写后并无什么用处,所以大家去掉注释即可,无需做任何修改

到此,配置已经全部完成,账号信息已经添加成功

第五步:防火墙开启

多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题,大家按照如下3条命令逐一执行即可

打开防火墙配置文件, 添加端口,才可供远程访问

    vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

重启防火墙

service iptables restart

 

六:启动svn服务器

在跟目录下,执行如下命令:

svnserve -d -r /var/svn/svnrepos

启动成功后,可用ps -aux查看服务启动是否成功

killall svnserve //停止

查看SVN进程

[root@localhost /]# ps -ef|grep svn|grep -v grep

root      13465      1  0 01:23 ?        00:00:00 svnserve -d -r /var/svn/svnrepos

检测SVN端口

[root@localhost /]# netstat -ln |grep 3690

tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN  

七:客户端访问svn服务器

在windows客户端,输入地址:svn://192.168.2.204/public   (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口)

弹出输入用户名和密码,输入即可访问

到此,Linux下svn服务器搭建就总结完毕,感谢大家的阅读

如果此文有帮助到你,请帮忙推广

(原创,转载请注明来源,翻版必究)

注意:

如果启动访问后提示:

    Malformed file

svn: Unable to connect to a repository at URL 'svn://192.168.2.204/public'

svn: /var/svn/svnrepos/public/conf/svnserve.conf:12: Option expected

 错误原因:在刚才去掉注释#号没有将前面空格删除。svnserve.conf文件19行anon-access属性前有个空格,去掉前面的空格再次访问又报“认证失败”,检查了一下配置文件,发 现authz文件的[groups]没有指定访问资源路径,在[groups]下面增加了"[/]"(访问所有资源,也可以指定文件夹,如[/svn/资 料]),问题终于解决了。

经验分享之SVN禁止删除和强制注释操作的钩子脚本pre-commit

【操作步骤】

1、找到需要加权限的版本库中hooks目录下的pre-commit.tmpl文件,将其重命名,将后缀去掉,为pre-commit脚本文件。如果没有该文件,则新建脚本pre-commit。

cp -i pre-commit.tmpl ./pre-commit

2、修改pre-commit文件内容

原来的内容都注释掉,即在没有“#”的代码前加“#”,然后添加下面的内容:

#!/bin/sh

REPOS="$1"

TXN="$2"

# Make sure that the log message contains some text.

SVNLOOK=/usr/bin/svnlook

if [ -z `$SVNLOOK log -t "$TXN" "$REPOS" |grep "[a-zA-Z0-9]"` ];then  

        echo "nLog message cann't be empty! you must input more than 5 chars as comment!." >&2  

    exit 1  

fi  

USER=`$SVNLOOK author -t $TXN $REPOS`  

ADMINLIST=admin  

if  [ "`echo $ADMINLIST|grep -w $USER|wc -l`" -eq 0 ];then  

    if [ `$SVNLOOK changed -t $TXN $REPOS |grep "^D "|wc -l` -gt 0 ];then  

        echo "You Don't have the pemmision of delete!Please contact your administrator!" >&2           

        exit 1  

    fi  

fi  

exit 0  

SVNLOOK=/usr/bin/svnlook   #此处根据你的系统变量而定,你可以通过which svnlook来确定

ADMINLIST=admin,helijie  表示只有admin和helijie这两个用户有删除文件的权限,如果还有其他人,只需用逗号隔开,当然,这些用户名需要在conf下的passwd文件中进行配置

3、给钩子脚本执行权限   chmod 755 pre-commit,不需要重启

4、测试

没有输入注释:

删除:

Linux 搭建 SVN 服务器及使用教程 首先要明确CentOS7的默认防火墙为firewallD。项目ip可以通过 ip addr 或者 ifconfig 查看 inet,repository为当初建立的SVN版本库。多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题。地址栏输入 svn://项目ip:3690/repository。,用户权限如果是设的分组,仍需设置每个角色对应的密码。查看系统下有没有安装过或有安装过老版本的SVN。如果有老版本先运行一下,删除老版本。修改SVN仓库的配置文件。 阅读详情

相关推荐

Linux 部署SVN客户端及基本使用教程

使用Centos 7 和 Ubuntu 系统部署SVN客户端,并介绍基本使用教程。

檬柠wan 5513

Linux搭建SVN服务器详细教程

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

用最简单的方式说最重要的事!服务器、存储、云计 算、A智能的大数据产品、游戏开发技术。致力于广 大开发者、政企用户、各项机构等,构建云上世界提供全方位云计算解决方案。旨在打造差异化的开放式闭环生态系统帮助用户快速构建稳定、安全的云计算环境。 7450

五子棋ai:极大极小搜索和α-β剪枝算法的思想和实现(qt和c++)(一)引言和界面设计

引言 alphaGo击败围棋冠军李世石的新闻让我对棋类博弈产生了浓厚的兴趣,无奈本人不会围棋,但算是一个五子棋业余爱好者,于是乎希望通过实现一个五子棋ai来了解相关算法和知识。 五子棋在英文中又称Gobang,five-in-row,还有两个称呼:gomoku和renju(连珠)。我来简要介绍一下区别。由于五子棋已经被机器严格证明了是一种**“不公平”的游戏,先手黑子是绝对占优的,并且先手有必胜*...

livingsu的博客 1万+

linux下svn服务器搭建及使用

linux下svn服务器搭建及使用(包含图解): https://blog.youkuaiyun.com/u011280484/article/details/50499534

酒酿小圆子呀~ 1万+

FreeRTOS OTA实战:从Bootloader设计到安全升级的完整流程(附MQTT示例代码)

本文详细介绍了在FreeRTOS系统中实现安全OTA固件升级的完整流程。内容涵盖从Bootloader设计、存储分区规划到与MQTT协议集成的OTA Agent任务开发,并重点解析了固件签名验证、防回滚等关键安全机制,为嵌入式物联网设备提供了一套高可靠性的远程升级解决方案。

weixin_29248653的博客 159

C++ 类

本文介绍了C++中类的核心概念和使用方法。

weixin_54859557的博客 1016

linux上登陆svn服务器,Linux上搭建SVN服务器以及使用SVN服务

参考的文章链接:Linux上的SVN服务器搭建:文章1,文章2Linux上使用SVN:文章1,文章2SVN服务器搭建STEP1:通过yum命令安装svn,命令如下>yum -y install subversionSTEP2:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)>mkdir /var/svn/svnrepoSTEP3:创建svn版本库>svnadmin cr...

weixin_42412524的博客 1521

告别双系统!用PhyFusion在麒麟V10上无缝融合Win11,文件互传、GPU加速全搞定

本文详细介绍了在飞腾D3000平台上使用PhyFusion实现麒麟V10与Win11无缝融合的解决方案。通过视觉无界、数据互通和性能无损的三大突破,PhyFusion显著提升了跨系统工作效率,支持GPU加速和文件互传,是国产化平台的革命性工具。

weixin_28707365的博客 1015

Linux服务器搭建SVN

直接将信息追加到文件中即可,格式:用户名=密码。注意:realm :改成自己的版本库。显示以下内容说明安装成功。

weixin_45783664的博客 627

【VisualStdio】手把手教你做一个上位机(1)控件设计布局

网上有很多形形色色的制作上位机教程,有些写的挺好的,但是过于单调。

m0_73409202的博客 5435

RT-DETR改进策略【独家融合改进】| HTB + GFPN + LGAG

解决现有Transformer方法的局限:现有的基于Transformer的方法在处理恶劣天气图像恢复时,为了提高内存利用效率,通常将自注意力操作限制在固定的空间范围或仅仅在通道维度上,这种限制阻碍了Transformer对长距离空间特征的捕捉能力,从而影响了图像恢复的性能。利用天气退化特征:观察到天气引起的退化因素主要导致相似的遮挡和亮度变化,因此希望设计一种能够更好地处理这些特征的模块。

Limiiiing的博客 197

Linux下搭建SVN服务器

Linux下搭建SVN服务器 一、 安装前准备 安装环境:阿里云ECS/CentOS 7.4 64位 安装目标:subversion 远程工具:Xshell5 1、准备好以上工具并确保云主机正常连接 2、命令行下查看服务器的系统信息   #cat /etc/issue        查看系统信息   #uname -a          查看系统详细信息   #getconf LONG_BIT ...

sunnyqkl的博客 5684

从 QQ 聊天到 AI Agent:AstrBot + NapCat 接入 DeepSeek

<think>我们根据要求,根据提供的内容生成≤150字的文章摘要。内容是关于在Windows上使用Docker部署AstrBot+NaPCat,配置DeepSeek,实现QQ AI机器人。摘要需简洁概括主要步骤和结论。注意字数。</think>在Windows 11上通过Docker一键部署AstrBot与NapCat,实现QQ机器人。NapCat扫码登录QQ,AstrBot接入并配置DeepSeek API,完成AI对话。后续可扩展人格、插件及MCP工具,并通过cpolar提供公网管理入口,打造可扩展的

天道酬勤 1万+

Linux搭建SVN服务器

Linux搭建SVN服务器1.下载SVN服务器2.SVN服务器配置3.配置SVN用户信息4.启动SVN服务器5.SVN服务器自启 1.下载SVN服务器 检查服务器是否已安装SVN服务器 # rpm -qa | grep subversion 安装SVN服务器 # yum install subversion 2.SVN服务器配置 创建svn仓库 # cd /usr/local/ # mkdir...

这货,不靠谱 222

Android P车机添加屏幕多指全局自定义手势操作

参照原生状态栏全局下拉手势拦截,实现屏幕全局多指手势响应操作,并对手势进行转换为KeyEvent,以便项目自定义手势行为或应用拦截手势行为。

shusuanly的博客 1251

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Linux 搭建 SVN 服务器

在搭建svn服务器之前我们必须要明白 为什么要使用svn:是为了版本控制 那什么是版本控制: 版本控制是一种软件工程技巧,借此能在软件开发中确保不同人所编辑的同一 代码文件都能得到同步。 版本控制的其他作用:版本控制可以让版本库中的任意一个文件恢复到任意一 个历史版本,而且还可以追溯任意版本中任意一行在什么时候被什么人修改过,版本控制还可以随时恢复以前某个版本.

土豆牛肉拌面 4164

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Linux HTTPS+SVN服务器搭建

Linux HTTPS+SVN服务器搭建 一、SVN简介: SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用...

弱弱的猿 5578

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SVN服务器搭建【Linux】

执行完之后查看是否安装成功【能看到版本号就成功了】创建一个文件夹,当作SVN仓库的根目录。启动SVN服务,查看是否启动成。在SVN仓库下创建项目目录。创建SVN仓库版本管理文件。执行命令下载安装SVN。客户端连接SVN服务器。

立志成为架构师 640

Windows和Linux环境下搭建SVN服务器

--------------------------Windows下搭建SVN服务器----------------------------- 一、安装SVN服务端 软件包Setup-Subversion-1.8.17.msi,下载地址:https://sourceforge.net/projects/win32svn/files/latest/download 二、SVN服务...

赵耀的博客专栏 3418

linux下SVN服务器如何搭建和使用,设置开机自启动

linux下SVN服务器如何搭建和使用 linux下SVN服务器如何搭建和使用?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下LINUX下搭建SVN服务器的思路! 1,首先安装好LINUX系统,然后YUM安装: #yum -y install svnversion 或者 #apt-get install sub

Combine Art and Sciences. 1416

搭建 SVN Linux服务器

前: 需求: 应美术项目组要求,搭建一台SVN版本控制服务器,以供后续版本的保存 环境: SVN服务器:采用Linux端(较为稳定,当然也可以选择Windows的更好操作) SVN客户端:采用Windows端的TortoiseSVN(大乌龟) 下载链接:服务端官网下载: http://subversion.apache.org/packages.html SVN客户端下载:TortoiseSVN :https://tortoisesvn.net/downloads.html (尽量链接VPN后进行下载,

weixin_44200830的博客 7566

linux系统做svn服务器,Linux系统搭建SVN服务器

一、什么是SVN?SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。运行方式:SVN服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。数据存储:事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方...

weixin_35691102的博客 469

Linux搭建SVN 服务器

Linux搭建SVN 服务器 1 安装SVN 2 使用客户端连接 2.1 使用windows的客户端 2.2 使用Linux下的命令行 3 FAQ 3.1 命令行方式连接,提示svn: No repository found in 'svn://192.168.11.229/pr...

FY19951211的博客 193
上一篇: Linux下的压缩zip,解压缩unzip命令详解及实例
下一篇: Linux下安装jdk8步骤详述
满脑子灵感
博客等级 码龄14年 490粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值