搭建svn服务器

article/2025/9/30 0:47:14

检查是否已安装

rpm -qa subversion

如果要卸载旧版本:

yum remove subversion

1、yum install subversion

查看Svn版本

svnserve --version

2、建立版本库

subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置。

vim /etc/sysconfig/svnserve

文件内容

OPTIONS="-r /var/svn"

使用svnadmin建立版本库svntest。

mkdir -p /var/svn/svntest //递归创建多个目录

svnadmin create /var/svn/svntest

----------目录介绍

conf目录:主要是配置文件、登录用户、密码认证;hooks目录:主要是svn的钩子脚本模板,使用时去掉.tmpl后缀即可,钩子脚本实际上就是代码提交前后,可以分别执行的脚本,脚本可用perl、shell、python等语言编写,该目录里面脚本文件名代表提交代码执行的不同时机,如提交代码前执行的脚本pre-commit,提交代码后执行的脚本post-commit,更多详情自行学习;

3、配置(所有配置需要顶格)

a、编辑用户文件passwd,新增两个用户:admin和guest。

vim conf/passwd

[users]

admin = admin

guest = guest

b、编辑权限文件authz,用户admin设置可读写权限,guest设置只读权限。

vim conf/authz

[/]

admin = rw

guest = r

c、编辑svnserve.conf:

vim conf/svnserve.conf

[general]

anon-access = none #控制非鉴权用户访问版本库的权限

auth-access = write #控制鉴权用户访问版本库的权限

password-db = passwd #指定用户名口令文件名

authz-db = authz #指定权限配置文件名

//realm = svntest #指定版本库的认证域,即在登录时提示的认证域名称 //测试不需要

---authz配置说明

其中,方括号内部分可有多种写法:[/]:表示根目录及以下,根目录是svnserve启动时指定的,[/]表示对全部版本库设置权限;[repos:/]:表示对版本库repos设置权限;[repos:/sadoc]:表示对版本库repos中的sadoc项目设置权限;[repos:/sadoc/oldboy]:表示对版本库repos中的sadoc项目的oldboy目录设置权限;权限主体可以是用户、用户组或*,用户组在前面加@,*表示全部用户;权限可以是w、r、wr和空,空表示没有任何权限;authz中每个参数都要顶格写,开头不能有空格;对于组,要以@开头,而用户不需要;

4. SVN服务

启动SVN服务。

systemctl start svnserve.service

检查服务是否启动成功。

ps aux | grep svn

通过netstat可以看到SVN打开了3690端口

netstat -tnlp

设置成开机启动。

systemctl enable svnserve.service

客户端测试 svn://ip:3690/svntest(因为/etc/sysconfig/svnserve中已经指定/var/svn,所以不需要带这个目录前缀)

subversion可通过多种方式访问--本地磁盘服务,或各种各样不同的网络协议,但一个版本库地址永远都是一个url,url方案反映了访问方法;

1.file:// 直接版本库服务(本地磁盘或访问方法;2. http:// 通过webdav协议服务支持subversion的apache服务器;3.https:// 与http://相似,但是用ssl加密;4.svn:// 通过未认证的tcp/ip自定义协议访问svnserve服务器;5. svn+ssh:// 通过认证并加密的tcp/ip自定义协议访问svnserve服务器

注意:阿里云3690设置入口出口

二、

项目目录

mkdir -p /var/www

svn checkout svn://localhost/svntest

cd /var/svn/svntest/hooks

 vim post-commit 

只留下第一行  #!/bin/sh 

在文件中写入 

export LANG=en_US.UTF-8
SVN_PATH=/usr/bin
WEB_PATH=/var/www/svntest #这里是设置的网站目录,我们以之前安装的nginx下的默认根目录
SVN_USER=admin #设置的svn用户名
SVN_PASS=admin #密码
LOG_PATH=/tmp/svn.log
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH

更改post-commit: 权限 chmod 777 post-commit 

 

把版本库里的项目 在域名所在的目录中检出

svn checkout svn://locahost/svntest
 

三、svn客户端 执行命令 svn log 显示no author,no date的解决

/var/svn/svntest/conf/svnserve

把anon-access=read改为anon-access=none不需要重启Svnserve

四、svn切换仓库地址

svn switch --relocate 旧地址  新地址

svn switch --relocate svn://1x.1x.1x.1x/repo svn://2x.2x.2x.2x/repo


http://chatgpt.dhexx.cn/article/QKn0D0oS.shtml

相关文章

本地SVN服务器的搭建(WINDOWS环境)

1.下载安装 VISUALSVN SERVER 1.1下载地址:https://www.visualsvn.com/server/download/ 1.2下载完成后,双击安装。 2.下载安装 TortoiseSVN 1.1官网下载地址:http://tortoisesvn.net/downloads.html 2.1下载完成后,双击安装。 完成后Finis…

linux下 svn服务器搭建及使用

1、安装svn 命令:sudo apt-get install subversion 2、创建目录和svn仓库 1) mkdir /home/zx/test_svn 2)svnadmin create /home/zx/test_svn/bluedroid 3)修改conf/svnserve.conf,如下图: 4)…

SVN服务器搭建(一)

原文地址: https://www.cnblogs.com/yankyblogs/p/7282752.html 本教程以64位win10系统为例在本地搭建svn服务器,安装完成后,即可访问本地svn服务器上的项目,也可以访问网上其他svn服务器上的项目。 一、首先准备三个软件: 1&am…

Ubuntu SVN服务器搭建

本服务器在Ubuntu14.04LTS上搭建,理论上在任何Ubuntu版本上都适合。 1、安装SVN 首先切换到超级用户下:sudo su 然后输入命令安装svn:apt-get install subversion 2、建立版本仓库 创建文件夹:mkdir -p /home/svn 创建版本仓库: svnadm…

在阿里云服务器上搭建 SVN 服务端

一、SVN 服务端搭建流程 1、安装 svn apt-get install subversion // 方式二:yum install subversion ps:查看版本 svnserve --version 2、创建版本库先建目录 mkdir /usr/xq/svn 创建版本库 svnadmin create /usr/xq/svn subversion目录说明&#xff…

SVN服务器搭建教程

背景 在windows云服务上使用VisualSVN Server搭建svn服务器,自己本机使用TortoiseSVN作为客户端来连接。 方法 1、安装 VisualSVN Server下载地址: Downloads | VisualSVN 下载完成后一直下一步安装即可。 2、创建库 当然,你可能发现没有…

SVN服务器搭建

本教程以64位win10系统为例在本地搭建svn服务器,安装完成后,即可访问本地svn服务器上的项目,也可以访问网上其他svn服务器上的项目。 一、首先准备三个软件: 1.VisualSVN-Server-3.6.3-x64.msi(svn服务端&…

IDEA使用JBoss7.1.1容器启动EJB项目Demo

今年是2022年了,现在用到EJB架构的项目已经不多了,多是遗留的老项目,这不,手头就遇到一个。找了一些资料,自己也手动练习一下基础的搭建。 在开始,介绍一下搭建环境使用的工具及版本: JDK版本&a…

EJB开发第一个无状态会话bean、开发EJB客户端

开发第一个无状态会话bean EJB中的三中bean: 会话Bean(Session Bean) 负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过JDBC直接操作数据库,但大多数情况下都是通过实体bean来完成对数据库的…

【EJB学习笔记】——EJB开发环境搭建(Eclipse集成JBoss)

之前一直用的EJB开发环境是他们搭建好的,直接拿来用,不过还是感觉老吃别人嚼好的不太好吃,所以自己动手来玩一玩。 EJB开发依赖的最基本的环境:JDK、Eclipse、JBoss,这里简单介绍一下最基本的环境的搭建。 JDK、Eclip…

EJB开发web service

服务端的开发 用EJB就行服务端开发是非常简单的,EJB可以把无状态会话bean通过WebService注解瞬间暴露为web服务。 例子 Stateless Remote(JsunSer.class) WebService public class JsunSerImpl implements JsunSer{ WebMethod public String run() { return &…

ejb2.0详细开发过程

Ejb2.0 开发流程 一、开发环境准备 ①开发工具:myeclipse2013(里面集成了EJB2.0的开发工具) ②jdk:jdk142_08 二、Ejb服务器端的开发 1.1 建立工程 ①EJB Project单击 ②输入工程名称: ejbserver 选择Ejb版本2.0…

wildfly ejb开发环境搭建(一):wildfly安装及数据源配置

本文是作者搭建ejb开发环境的记录,仅供参考 一、软件下载及环境准备 环境:wildfly-11.0.0.Finalj2ee7ejb3.2idea2019.1maven3jdk1.8(32位),数据库oracle10g,驱动:ojdbc6.jar,操作系统:win7 64位 wildfly…

EJB开发环境配置

前段时间学了点EJB,为了不至于忘了,写一下基本的开发环境配置是必要的,不然每次重装后配置开发环境都是一个痛苦的过程。 EJB用NetBean开发挺方便的,目前我也是在NetBean下学习EJB的,所以本篇就用NetBean作为开发工具…

EJB - 环境设置

一、 本博客将根据tutorialspoint文档的指导进行EJB环境的设置。 二、 系统需求 EJB是Java的一个框架,所以第一个要求是在您的机器上安装一个Java开发工具包(JDK)。 JDK1.5 or above.Memoryno minimum requirement.Disk Spaceno minimum r…

EJB 开发环境与入门实例

文章目录 1.环境准备2.WildFly介绍下载配置与启动 3. EJB 服务创建4.客户端调用 1.环境准备 OS: Windows 8, 64 Bit JDK: 1.8 Eclipse: Photon Release (4.8.0) WildFly: 14.0.1.Final 2.WildFly 介绍 WildFly 是JBoss AS的新的项目的名称。 JBoss分为AS 和 EAP两个版本&am…

EJB开发第一期---EJB开发配置

一、EJB 3.0简介 1.1 什么是EJB Enterprise JavaBeans是一个用于分布式业务应用的标准服务端组件模型。采用Enterprise JavaBeans架构编写的应用是可伸缩的、事务性的、多用户安全的。采用ejb编写的这些应用,可以部署在任何支持Enterprise JavaBeans规范的服务器平台…

如何开发EJB?

EJB开发分为两部分:开发EJB和使用EJB 本文示例将使用EJB2.0 :1.工作需要;2.EJB3.0相对于2.0变动不大(添加注解,JPA替换实体Bean实现) 开发EJB的流程 以开发stateless SessionBean为栗. 1.编写SessionBean。需要实现SessionBean接…

数据库笔试题及答案

以下为某公司的数据库笔试题及个人整理的答案,小伙伴们有更好的答案欢迎指教! 数据表 Student(S#,Sname) 10000条记录Cource(C#,Cname,T#) 9条记录SC(S#,C#,Score) 89991条记录Teacher(T#,Tname) 3条记录 题目并没有指定表中有多少数据&am…

MySQL数据库期末考试试题及参考答案(09)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 一、 填空题 MySQL提供的____命令可以将数据库导出成SQL脚本,以实现数据的备份。mysqldump命令备份多个数据库时,数据库名称之间用____隔开。MySQL中…