ubuntu下SVN服务器安装配置

Ubuntu 搭建SVN服务 配置文件目录lsauthz:作用:authz 文件用于定义版本库的访问控制权限。它指定了哪些用户或用户组可以访问哪些目录和文件,以及他们拥有的权限级别(如读取、写入或无访问权限)。作用:hooks-env.tmpl 是一个模板文件,用于设置 SVN 钩子(hooks)的环境变量。钩子是 SVN 在特定事件#(如提交或更新)发生时自动执行的脚本。passwd:作用:passwd 文件存储 SVN 用户的密码信息。它通常与 authz 文件一起使用,来控制对 SVN 版本库的访问。 阅读详情

ubuntu下SVN服务器安装配置

一、SVN安装
1.安装包
$ sudo apt-get install subversion

2.添加svn管理用户及subversion组
$ sudo adduser svnuser
$ sudo addgroup subversion
$ sudo addgroup svnuser subversion 

3.创建项目目录
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir fitness
$ sudo chown -R root:subversion fitness
$ sudo chmod -R g+rws fitness

4.创建SVN文件仓库
$ sudo svnadmin create /home/svn/fitness

5.访问方式及项目导入:
$ svn co file:///home/svn/fitness
或者
$ svn co file://localhost/home/svn/fitness
* 注意:
如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).
//--
下面的命令用于将项目导入到SVN 文件仓库:
$ svn import -m "New import" /home/svn/fitness file:///home/svnuser/src/fitness
一定要注明导入信息

//--------------------------//
6.访问权限设置
修改 /home/svn/fitness目录下:
svnserve.conf 、passwd 、authz三个文件,行最前端不允许有空格
//--
编辑svnserve.conf文件,把如下两行取消注释
password-db = password
authz-db = authz

//补充说明
# [general]
anon-access = read
auth-access = write
password-db = passwd
其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿

名用户的访问,只需把 read 改成 none 就能达到目的。

//--
编辑/home/svnuser/etc/passwd 如下:
[users]
mirze = 123456
test1 = 123456
test2 = 123456
//--
编辑/home/svnuser/etc/authz如下
[groups]
admin = mirze,test1
test = test2
[/]
@admin=rw
*=r
这里设置了三个用户mirze,test1,test2密码都是123456
其中mirze和test1属于admin组,有读和写的权限,test2属于test组只有读的权限

7.启动SVN服务
svnserve -d -r /home/svn
描述说明:
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库
如: svn://192.168.12.118/fitness

这时SVN安装就完成了.
局域网访问方式:
例如:svn checkout svn://192.168.12.118/fitness --username mirze --password 123456 /var/www/fitness


-----------------------------------------------------------------------

二、HTTP:// [apache]
1.安装包 [已安装subversion]
$ sudo apt-get install libapache2-svn

创建版本仓库:
sudo svnadmin create /目录地址
目录地址必须存在,这个就是保存版本仓库的地方,不同的版本仓库创建不同的文件夹即可,比如:
sudo svnadmin create /home/svn/project
本来/home/svn/project这个目录下什么都没有,执行下面的命令之后再去看一下,多出一些文件和文件夹,我们需要操作的是conf这个文件夹,这个文件夹下有一个文件,叫做passwd,用来存放用户名和密码。
然后把这个版本仓库目录授权给apache读写:
sudo chown -R www-data:www-data /目录地址
然后来到打开apache配置文件:
sudo gedit /etc/apache2/mods-available/dav_svn.conf

加入如下内容:
<Location /project>
DAV svn
SVNPath /home/svn/project
AuthType Basic
AuthName “myproject subversion repository”
AuthUserFile /home/svn/project/conf/passwd
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
</Location>

location说的是访问地址,比如上述地址,访问的时候就是
http://127.0.0.1/project
其中有两行被注释掉了,以保证每次都需要用户名密码。
最后一步就是创建访问用户了,建议将用户名密码文件存放在当前版本仓库下conf文件夹下,这样版本仓库多的时候无至于太乱。
因为conf文件夹下已经存在passwd文件了,所以直接添加用户:
sudo htpasswd -c /home/svn/project/conf/passwd test
然后输入两遍密码,laoyang这个用户就创建好了。
打开/home/svn/project/conf/passwd这个文件,会开到形如如下形式的文本:
test:WEd.83H.gealA //后面是加密后的密码。
创建以后,再次需要往别的版本仓库添加这个用户,直接把这一行复制过去就可以了。
重启apache就可以了。
sudo /etc/init.d/apache2 restart


-----------------------------------------------------------------------

三、同步更新 [勾子]

同步程序思路:用户提交程序到SVN,SVN触发hooks,按不同的hooks进行处理,这里用到的是post-commit,利用post-commit到代码检出到SVN服务器的本地硬盘目录,再通过rsync同步到远程的WEB服务器上。

知识点:
1、SVN的hooks
# start-commit 提交前触发事务
# pre-commit 提交完成前触发事务
# post-commit 提交完成时触发事务
# pre-revprop-change 版本属性修改前触发事务
# post-revprop-change 版本属性修改后触发事务
通过上面这些名称编写的脚本就就可以实现多种功能了,相当强大。
2、同步命令rsync的具体参数使用
3、具有基个语言的编程能力bash python perl都可以实现

post-commit具体实现细节
post-commit脚本

编辑文件:sudo vim /home/svn/fitness/hooks/post-commit

注意:编辑完成post-commit后,执行:sudo chmod 755 post-commit

内容:

#!/bin/sh
export LANG=zh_CN.UTF-8
sudo /usr/bin/svn update /var/www/www --username mirze --password 123456

或

#Set variable
SVN=/usr/bin/svn
WEB=/home/test_nokia/
RSYNC=/usr/bin/rsync
LOG=/tmp/rsync_test_nokia.log
WEBIP="192.168.0.23"
export LANG=en_US.UTF-8

#update the code from the SVN
$SVN update $WEB --username user --password password
#If the previous command completed successfully, to continue the following
if [ $? == 0 ]
then
 echo "" >> $LOG
 echo `date` >> $LOG
 echo "##############################" >> $LOG
 chown -R nobody:nobody /home/test_nokia/
 #Synchronization code from the SVN server to the WEB server, notes:by the key
 $RSYNC -vaztpH --timeout=90 --exclude-from=/home/svn/exclude.list $WEB root@$WEBIP:/www/ >> $LOG
fi

以上是具体的post-commit程序
注意事项:
1、一定要定义变量,主要是用过的命令的路径。因为SVN的考虑的安全问题,没有调用系统变量,如果手动执行是没有问题,但SVN自动执行就会无法执行了。
2、SVN update 之前一定要先手动checkout一份出来,还有这里一定要添加用户和密码如果只是手动一样会更新,但自动一样的不行。
3、加上了对前一个命令的判断,如果update的时候出了问题,程序没有退出的话还会继续同步代码到WEB服务器上,这样会造成代码有问题
4、记得要设置所属用户,因为rsync可以同步文件属性,而且我们的WEB服务器一般都不是root用户,用户不正确会造成WEB程序无法正常工作。
5、建议最好记录日志,出错的时候可以很快的排错
6、最后最关键的数据同步,rsync的相关参数一定要清楚,这个就不说了。注意几个场景:
这里的环境是SVN服务器与WEB服务器是开的
把SVN服务器定义为源服务器 WEB服务器为目的服务器
场景一、如果目的WEB服务器为综合的混杂的,像只有一个WEB静态资源,用户提交的,自动生成的都在WEB的一个目录下,建议不要用–delete这个参数
上面这个程序就是这样,实现的是源服务器到目的服务器的更新和添加,而没有删除操作,WEB服务器的内容会多于源SVN的服务器的
场景二、实现镜像,即目的WEB服务器与源SVN服务器一样的数据,SVN上任何变化WEB上一样的变化,就需要–delete参数
场景三、不需要同步某些子目录,可能有些目录是缓存的临时垃圾目录,或者是专用的图片目录(而不是样式或者排版的)要用exclude这个参数
注意:这个参数的使用不用写绝对路径,只要目录名称就行 aa代表文件 aa/ 代表目录 ,缺点就是如果有多个子目录都是一样的名称那么这些名称就都不会被同步
建议用–exclude-from=/home/svn/exclude.list 用文件的形式可以方便的添加和删除
exclude.list

.svn/
.DS_Store
images/

利用SVN的钩子还可以写出很多的程序来控制SVN 如代码提交前查看是否有写日志,是否有tab,有将换成空格,是否有不允许上传的文件,是否有超过限制大小的文件等等。
Ubuntu下建立Subversion(简称SVN)的最简单方法 Subversion(SVN)是一个流行的版本控制系统,用于管理和跟踪项目的代码变更。至此,您已经成功建立了一个简单的SVN服务器并进行了基本的代码提交和更新操作。SVN服务器已经启动,现在可以通过SVN客户端从其他计算机访问它。一旦检出了SVN仓库的副本,您就可以在本地进行代码编辑并提交更改。接下来,我们将创建一个SVN仓库,用于存储项目的代码和版本历史记录。现在,我们准备启动SVN服务器并让其监听特定的端口。这将从SVN服务器拉取最新的代码更改并更新本地副本。文件夹,并在其中初始化SVN仓库。 阅读详情

相关推荐

Ubuntu 安装 SVN 服务器

接下来,我们需要配置 Apache 服务器以使用 SVN。SVN(Subversion)是一个开源的版本控制系统,它可以用于管理和跟踪文件和目录的变更。在 Ubuntu 系统上安装 SVN 服务器非常简单,本文将为您提供详细的步骤和相应的源代码。为了访问 SVN 仓库,我们需要创建一个用户并将其添加到 Apache 的用户文件中。现在,您的 SVN 服务器已经安装和配置完成。安装完成后,我们需要创建一个 SVN 仓库来存储文件和目录的版本历史记录。安装完 Apache 服务器后,我们可以继续安装 SVN。

IsdCoding的博客 489

【SVN】SVN搭建ubuntu服务器过程(图文超详细)

在ubuntu环境下如何搭建SVN服务器?

Wynne的博客 9749

Ubuntu系统下SVN服务器安装与配置完整指南

Ubuntu 下的 Apache 使用a2ensite和a2dissite工具来管理虚拟主机的启用与禁用。默认情况下,系统会启用名为的默认站点,其 DocumentRoot 指向。对于专用于 SVN 的服务器,暴露默认页面不仅多余,还可能带来安全风险(如泄露服务器指纹)。因此,推荐做法是禁用默认站点,并启用独立的 SVN 专用配置文件。

weixin_36311421的博客 1023

Ubuntu中SVN客户端安装+使用

1、安装 svn客户端:,然后根据提示一步一步,就完成了 svn的安装。当然,也可以源码安装 svn,下载 subversion 一个最新版本的源码包,解压之后就可以安装了。2、新建一个目录,cd 到新建目录下,将文件 checkout 到本地目录:svn checkout svn://192.168.100.249/server ,按提示输入相应的用户名和密码。3、可以输入:svn help 来查看 svn提供的命令。

顺其自然~专栏 8690

手把手教你用ZEMAX复现贝塞尔光束:从Thorlabs锥透镜到Edmund透镜的完整光路搭建

本文详细介绍了如何在ZEMAX光学设计软件中复现贝塞尔光束,从Thorlabs锥透镜到Edmund透镜的完整光路搭建过程。通过逐步指导,帮助研究人员和工程师掌握光学设计技巧,实现无衍射特性的贝塞尔光束生成,适用于激光加工和生物成像等领域。

weixin_33737774的博客 179

学习笔记之——Event Camera(事件相机)调研

概述 Event Camera是一种bio-inspired sensor,对应的领域为bio-inspired vision。对于传统的相机,从某种程度上,是捕获一个静态/静止的空间,而Event Camera的目的是:敏感地捕捉运动的物体。 对于传统RGB-camera,相机传回的信息是同步的,所谓同步,就是在某一时刻t,相机会进行曝光,把这一时刻所有的像素填在一个矩阵里回传,一张照片就诞生了。一张照片上所有的像素都对应着同一时刻。至于视频,不过是很多帧的图片,相邻图片间的时间间隔...

gwpscut的博客 3万+

ubuntu 安装配置SVN服务器

在Ubuntu16.04中安装配置SVN服务器。 1、在终端中输入svn,看查是否安装过,如果已经安装了,可以用以下语句卸载 sudoapt-getremove--purgesubversion 2、安装前先更新一下系统 sudo apt-get update 3、安装subversion sudoapt-getinstallsubversion 4、创建仓库文件夹 sudo mkdir -p /home/svn # 以/home/svn为仓库地址 s...

alex1801 9782

高光谱目标检测论文学习(1)—— Hyperspectral Target Detection:Hypothesis Testing,SNR and SA Theories

前言 从这篇开始,将会学习一些高光谱目标检测的论文,我仍然把这篇文章放到了读论文专栏里,但是不对其进行顺序编号了,因为这个方向是比较小众的。今天来学习这篇TGRS2021的最新论文,讲的比较详细,相对比较适合初学者入门。我之前也写过一些有关目标检测的论文,但是高光谱目标检测(HTD)和之前的我们学的目标检测是不同的,因为其检测的对象不是普通摄像头得来的数字图像,而是高光谱遥感图像。其包含了很多光谱信息,而光谱信息本身经过处理后就可以作为特征,因此很多情况下就无需使用广义的目标检测问题中的卷积神经网络等方式去

MrBamboo2000的博客 7483

Ubuntu安装配置JDK、Tomcat、SVN服务器

本文主要介绍了如何在ubuntu下安装与配置jdk、tomcat、及svn服务器

Evankaka的专栏 1万+

Allan方差读图分析IMU误差指标

Allan方差标定IMU参数实测分析

weixin_44927558的博客 3566

STM32F030F4P6实战:LL库+DMA驱动WS2812全流程(附避坑指南)

本文详细介绍了如何使用STM32F030F4P6的LL库和DMA驱动WS2812 LED灯带的全流程,包括硬件选型、CubeMX配置、LL库与DMA关键实现、数据格式转换及调试技巧。特别提供了避坑指南,帮助开发者避免常见错误,提升开发效率。

weixin_29194693的博客 484

Ubuntu server 的SVN服务器安装配置

1、安装     $ sudo apt-get install subversion $ sudo apt-get install libapache2-svn libapache2-svn用于http访问 2、服务器配置

jerry1899的博客 497

Dify框架面试内容整理-如何进行Dify的二次开发?

无论是轻量修改界面,还是深度集成自定义模型、Agent、知识库,你都可以很方便地进行二次开发。,你可以基于它的开源架构对功能进行扩展、集成第三方服务、修改界面风格,甚至定制新的AI工作流程。前端:Node.js >= 16,React + TypeScript + Tailwind。接入自己的模型API(如:调用LLaMA、Baichuan、ChatGLM)。修改路径:/api/app/services/providers/可接入你自己的向量数据库(Qdrant、Milvus、FAISS)

不务正业的猿 2003

linux mint 安装 svn,如何在Ubuntu和LinuxMint中安装配置SVN服务器

Subversion是Apache软件基金会的一个产物。它是开放源代码版本控制系统,其目的是为CVS的替代品。本文将帮助您安装和配置Ubuntu&LinuxMint操作系统上SVN服务器。1.安装所需的程序包首先在系统上安装Subversion服务器所需的软件包。$ sudo apt-get update$ sudo apt-get install subversion subversion-to...

weixin_28737399的博客 362

地方政府预算数据抓取:利用Python爬虫获取预算安排、资金分配与支出情况

爬虫是通过模拟浏览器行为,从互联网上自动获取数据的程序。在本案例中,我们将通过爬虫从地方政府的官方网站或预算公开平台抓取各类预算信息。这些信息一般以HTML网页的形式呈现,可以通过爬虫对网页内容进行解析,提取所需的预算数据。Python作为数据抓取的强大工具,凭借其简洁的语法、强大的第三方库(如requestsSelenium等)以及丰富的数据处理能力,成为了开发爬虫应用的首选语言。

2201_76125261的博客 941

【DRAM存储器七】SDRAM介绍-芯片引脚与功能框图详解

详解初代SDRAM芯片引脚定义与芯片功能框图中的各个模块

highman110的博客 2205

SVN服务器在ubuntu上的安装配置

在ubuntu上的安装配置svn SVN服务器在ubuntu上的安装配置 1. SVN服务器的安装和配置 1.1. 安装命令 sudo apt-get install subversion sudo apt-get install subversion-tools 1.2. 添加组和用户的命令 创建subversion用户组,并把用户www-data加入到subversion用户组中 sudo ...

kakouzi的博客 502

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Ubuntu系统上SVN服务器的安装和配置

Ubuntu系统上SVN的安装和配置1、安装#sudo apt-get install subversion2、创建版本库#sudo mkdir /home/svn #sudo svnadmin create /home/svn/suc 3、进入版本库修改相关配置文件#cd /home/svn/suc/ #dir conf db format hooks lo

Fang_ZeFeng的博客 919

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

linux ubuntu安装svn,Ubuntu怎么配置SVN服务器?

在线上部署网站的时候,大部分人是使用ftp,这样的方式很不方便,现在我要在线上安装上SVN的服务器,直接使用svn部署网站。因为搜盘子的服务器是ubuntu,因此下面的步骤是基于ubuntu的。安装subversionapt-get install subversion创建仓库目录svnadmin create /home/ubuntu/svnrepos/配置svnserve.conf编辑/hom...

weixin_29762229的博客 324

腾讯云Ubuntu服务器svn安装及配置

1.前言项目开发过程中,集成管理工具是必不可少的,现在讲讲腾讯云服务器ubuntu16安装svn putty winscp TortoiseSVN 2. 步骤2.1 安装putty登陆服务器,然后输入以下指令sudo apt-get install subversion 回车然后系统就会自己下载svn安装,过程中需要输入以下【Y】 2.2 位置选择安装完之后,我们选择svn的位置,我将他放在了我自

lxfHaHaHa的博客 2711

Ubuntu下安装配置Svn+Apache服务器

Ubuntu下安装配置Svn+Apache服务器 软件环境: Ubuntu 10.04 桌面版 Subversion Apache 第一、安装 Subversion。如果不需要Apache的话, 只看第一步就可以了。 1. 安装Subversion软件,这里只需要一条语句 sudo apt-get install subversion 2. 创建仓库 sv

2737
上一篇: Android网址或Blog
下一篇: 百度地图画轨迹连接线
Enbiting
博客等级 码龄18年 19粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值