ubuntu 上安装和配置Apache2+Subversion

目录

一、安装Apache2和SVN

二、Apache2设置

三、subversion配置 

四、创建仓库和设置权限

五、仓库备份和恢复


系统环境

Ubuntu Linux (20.04) + apache2 + Subversion(1.13.0)

一、安装Apache2和SVN

通过命令在线安装apache2和subversion

apt-get install apache2 libapache2-mod-svn subversion
二、Apache2设置

1.修改apache默认端口

我这里有冲突,所以将listen修改成8818。我不需要https访问,所有不需要安装和配置SSL相关。

vim /etc/apache2/ports.conf

 2.重启apache

systemctl start apache2

3.查看apache2状态并通过网页访问

systemctl status apache2

三、subversion配置 

1.验证SVN是否安装成功

svn --version

 2.创建svn根目录(版本库主目录)

mkdir -p /data/svn

3.svn与apache整合

修改dav_svn配置

vim /etc/apache2/mods-enabled/dav_svn.conf
<Location /svn> #/svn表示            http://hostname/svn/myprojectDAV svnSVNParentPath /data/svn/AuthType BasicAuthName "Subversion Repository"AuthUserFile /data/svn/passwdAuthzSVNAccessFile /data/svn/authzRequire valid-user
</Location>

 验证用户名密码的数据文件 passwd

 验证用户的权限配置文件 authz

4.创建密码文件

生成账号(会要求输入2次密码,保存会加密)第一次需要加c,第二次就不要了

htpasswd -c /data/svn/passwd admin

5.创建权限文件

touch /data/svn/authz

可以参考下面的内容

### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
###  - a single user,
###  - a group of users defined in a special [groups] section,
###  - an alias defined in a special [aliases] section,
###  - all authenticated users, using the '$authenticated' token,
###  - only anonymous users, using the '$anonymous' token,
###  - anyone, using the '*' wildcard.
###
### A match can be inverted by prefixing the rule with '~'. Rules can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe# [/foo/bar]
# harry = rw
# &joe = r
# * =# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r[/]
admin = rw
!=

这里 [/] 表示根目录,所有仓库。admin = rw 表示admin账号有读写权限

6.启动SVN服务

svnserve -d -r /data/svn

启动SVN服务器,这里说明下:
-d:表示在后台运行
-r:指定服务器的根目录
停止服务器的命令:killall svnserve

7.查看进程

ps -aux | grep svnserve

四、创建仓库和设置权限

1.创建sourcecode仓库

svnadmin create /data/svn/sourcecode

2.修改当前仓库的配置文件

vim  /data/svn/sourcecode/conf/svnserve.conf 

去掉这几段话之前的#
anon-access = none    #关闭匿名访问
auth-access = write     #验证用户可写
password-db = passwd  #指向验证用户名密码的数据文件 passwd
auth-db=authz         #指向验证用户的权限配置文件 authz

3.授权仓库目录权限

chmod -R 777 /data/svn/sourcecode

4.网页访问

http://192.168.31.200:8818/svn/sourcecode/

会弹窗验证密码,验证刚刚的admin账号就行了

5.删除仓库

删除现有的仓库

rm -rf /data/svn/sourcecode
五、仓库备份和恢复

1.备份仓库

将现有仓库导出成dump文件

svnadmin dump /data/svn/sourcecode > sourcecode.dump

2.恢复仓库

先创建空白仓库,再将dump文件恢复到仓库上

cd /data/svn/svnadmin create sourcecodesvnadmin load /data/svn/sourcecode < /data/svndump/sourcecode.dump

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/663916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023-12蓝桥杯STEMA考试 C++ 中高级试卷解析

蓝桥杯STEMA考试 C++ 中高级试卷(12月) 一、选择题 第一题 定义字符串 string a = "Hello C++",下列选项可以获取到字符 C 的是(B)。 A、a[7] B、a[6] C、a[5] D、a[4] 第二题 下列选项中数值与其它项不同的是( C)。 A、 B、 C、 D、 第三题 定义变量 int i =…

【Springcloud篇】学习笔记十(十七章):Sentinel实现熔断与限流——Hystrix升级

第十七章_Sentinel实现熔断与限流 1.Sentinel介绍 1.1是什么 随着微服务的流行&#xff0c;服务和服务之间的稳定性变得越来越重要。 Sentinel 以流量为切入点&#xff0c;从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 用来代替Hystrix Sentinel 具有…

Electron+Vue3+Vite的产品级模板项目

1. electron-vue3-template 基于Vue3 Electron TypeScript的客户端程序模板&#xff0c;使用Vite和Electron Forge构建和打包。 真正做到开箱即用&#xff0c;面向跨平台客户端设计&#xff0c;产品级的项目模板。 项目地址&#xff1a; https://github.com/winsoft666/el…

第5课 使用FFmpeg将rtmp流再转推到rtmp服务器

本课对应源文件下载链接&#xff1a; https://download.csdn.net/download/XiBuQiuChong/88801992 通过前面的学习&#xff0c;我们已经可以正常播放网络rtmp流及本地mp4文件。这节课&#xff0c;我们将在前面的基础上实现一个常用的转推功能&#xff1a;读取rtmp流或mp4文件并…

架构学习(二):原生scrapy如何接入scrapy-redis,初步入局分布式

原生scrapy如何接入scrapy-redis&#xff0c;实现初步入局分布式 前言scrpy-redis分布式碎语 实现流程扩展结束 前言 scrpy-redis分布式 下图是scrpy-redis官方提供的架构图&#xff0c;按我理解&#xff0c;与原生scrapy的差异主要是把名单队列服务器化&#xff0c;也是存储…

Modbus协议学习第七篇之libmodbus库API介绍(modbus_write_bits等)

写在前面 在第六篇中我们介绍了基于libmodbus库的演示代码&#xff0c;那本篇博客就详细介绍一下第六篇的代码中使用的基于该库的API函数。另各位读者&#xff0c;Modbus相关知识受众较少&#xff0c;如果觉得我的专栏文章有帮助&#xff0c;请一定点个赞&#xff0c;在此跪谢&…

自然语言处理(NLP)—— Dialogflow ES聊天机器人

1. 背景介绍 这个实验室的目标是让你了解并使用Google的Dialogflow服务。Dialogflow是一个可以让你创建聊天机器人的服务&#xff0c;这个过程不需要或者只需要很少的编程技能。 1.1 账号的创建 为了完成这个实验室&#xff0c;你需要在以下网站上创建账号&#xff1a…

网络安全之SSL证书加密

简介 SSL证书是一种数字证书&#xff0c;遵守SSL协议&#xff0c;由受信任的数字证书颁发机构&#xff08;CA&#xff09;验证服务器身份后颁发。它具有服务器身份验证和数据传输加密的功能&#xff0c;能够确保数据在传输过程中的安全性和完整性。 具体来说&#xff0c;SSL证…

excel统计分析——卡方独立性检验(下)

参考资料&#xff1a;生物统计学 书接上文&#xff1a;https://blog.csdn.net/maizeman126/article/details/135893731 2、配对列联表 配对设计的数据&#xff0c;进行列联表检验时&#xff0c;采用McNemar-Bowker检验法进行检验。检验统计量为&#xff1a; 自由度dfk(k-1)/2…

Jmeter直连mysql数据库教程

mysql数据库能够通过Navicat等远程连接工具连接 下载驱动并加入jmeter 1.mysql驱动下载地址&#xff1a;MySQL :: Download MySQL Connector/J (Archived Versions) 找到对应的驱动下载&#xff1a;如下图&#xff1a; 把驱动jar包加入jmeter 配置jmeter连接mysql数据库…

计算机专业一定要参加蓝桥杯吗

蓝桥杯对于计算机专业的学生来说是一个非常重要的赛事&#xff0c;主要有以下几个原因&#xff1a; 提升知识和技能水平&#xff1a;蓝桥杯涵盖了计算机专业的多个方向&#xff0c;包括软件、硬件、网络等。通过参加蓝桥杯&#xff0c;学生可以将所学的知识与实际应用相结合&a…

RK3588 Android 12 Framework修改记录(八)Settings Ethernet以太网 多网卡设置静态IP

https://blog.csdn.net/lishu_/article/details/114391764 如何优雅的实现Android Ethernet 以太网的开启与关闭 RK3588 Android 12 Framework修改记录&#xff08;八&#xff09;Settings Ethernet以太网 多网卡设置静态IP - 知乎 Android 7.1 以太网反射 EthernetManager 配置…

【C语言刷题系列】喝汽水问题

文章目录 一、文章简介 1.先买再换 1.1 代码逻辑&#xff1a; 1.2 完整代码 1.3 运行结果 1.4 根据方法一总结优化 2.边买边换 2.1 代码逻辑&#xff1a; 2.2 完整代码 2.3 运行结果 一、文章简介 本文所述专栏——C语言经典编程问题 C语言刷题_倔强的石头106的博客…

Linux操作系统——管道(二) 进程池

概念层面理解进程池 比如说我们一开始有一个父进程&#xff0c;分别创建5个管道&#xff0c;5个子进程&#xff0c;这5个子进程都向管道里面进行读取&#xff0c;而我们对应的父进程&#xff0c;因为我们前面谈过管道的4种情况里面&#xff0c;有一个种情况是&#xff0c;正常…

vcruntime140.dll怎么下载安装,vcruntime140.dll详细安装教程

vcruntime140.dll’&#xff0c;这个看似陌生而又技术性的文件名&#xff0c;实际上是计算机系统中一个至关重要的动态链接库文件。它是Visual C Redistributable运行时组件的一部分&#xff0c;由微软公司开发并维护&#xff0c;对于许多基于Windows操作系统的软件正常运行起着…

PEI是聚醚酰亚胺(Polyetherimide)在粘接使用时使用UV胶水的优势有哪些?要注意哪些事项?

在使用UV胶水进行聚醚酰亚胺&#xff08;Polyetherimide&#xff0c;PEI&#xff09;粘接时&#xff0c;有一些优势和注意事项&#xff1a; 优势&#xff1a; 1.快速固化&#xff1a; UV胶水具有快速固化的特性&#xff0c;通过紫外线光源的照射&#xff0c;可以在几秒到几分钟…

国标GB/T 28181详解:GB/T28181状态信息报送流程

目 录 一、状态信息报送 二、状态信息报送的基本要求 三、命令流程 1、流程图 2、流程描述 四、协议接口 五、产品说明 六、状态信息报送的作用 七、参考 在国标GBT28181中&#xff0c;定义了状态信息报送的流程&#xff0c;当源设备(包括网关、SIP 设备、SIP 客…

关于可变类型和不可变类型的探究

个人猜想&#xff08;很遗憾失败了&#xff09; 在硬盘或者系统中存在一个字符集 如果存在硬盘中&#xff0c;那么硬盘出厂的时候他的字符集所占用的空间就已经确定了。 如果存在于系统的话&#xff0c;硬盘应该在出厂的时候为系统设置一个存储系统字符集的地方。在安装系统…

数据库建模之PowerDesigner创建概念模型

数据模型&#xff08;Data Model&#xff09;是数据特征的抽象&#xff0c;它从抽象层次上描述了系统的静态特征、动态行为和约束条件&#xff0c;为数据库系统的信息表示与操作提供一个抽象的框架。数据模型所描述的内容有三部分&#xff0c;分别是数据结构、数据操作和数据约…

模拟请求ElasticSearch

Step1 安装chrome的这个插件 Step2 打开插件&#xff0c;GET的json填什么。 在IDEA的debug模式&#xff0c;走到Java代码的searchBuilder&#xff0c; 在这个searchBuilder变量里&#xff0c;对里面query变量点右侧 view按钮&#xff0c; IDEA里会显示出一个json&#xff…