1、安装

yum install subversion

2、测试安装是否成功:

svnserve --version

3、创建目录并配置

建立版本库目录

mkdir -pv /data/svn/svnrepos

配置

svnadmin create  /data/svn/svnrepos

执行上面的命令后,自动建立repo测试库,查看/data/svn/svnrepos文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

4、配置用户密码

 vim /data/svn/svnrepos/conf/passwd 

建立用户attendre,密码123456

5、权限配置

设置哪些用户可以访问哪些目录

vim /data/svn/svnrepos/conf/authz

6、服务svnserve.conf配置

vim /data/svn/svnrepos/conf/svnserve.conf

在[general]下追加以下内容

#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
##使授权用户有写权限
auth-access=write
##密码数据库的路径
password-db=passwd
##访问控制文件
authz-db=authz
##认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/data/svn/svnrepos

7、启动服务

查看svn的服务是否启动

ps -ef|grep svn

如果没有启动执行 下面命令即可:

svnserve -d -r /data/svn/svnrepos  --listen-port=3690 

8、开启端口

#防火墙中开启3690端口
firewall-cmd --permanent --zone=public --add-port=3690/tcp
#重新加载防火墙配置
firewall-cmd --reload
#查看是否生效
firewall-cmd --zone=public --query-port=3690/tcp

9、访问

svn://ip地址

输入配置好的用户名和密码即可。

上面步骤配置的是svn协议,下面配置http协议。

10、使用http协议连接svn

10.1、安装Apache

yum install -y httpd mod_dav_svn 安装httpd和svn模块

10.2、查看版本

httpd -version

查看是否有mod_dav_svn.so和mod_authz_svn.so模块,如果有,说明mod_dav_svn安装成功!

ls /etc/httpd/modules/   

PS:Apache常用命令如下:

httpd -v	      #查看已经安装的httpd的版本
rpm -qa | grep httpd #查看是否已经安装了httpd
ps -ef | grep httpd #查看httpd的进程
service httpd status #查看httpd的运行状态
service httpd stop #可以停止httpd
service httpd start #可以启动httpd

10.3、修改配置文件(没有则新建)

vim /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath /data/svn
AuthType Basic
Satisfy Any
AuthName "Subversion repos"
AuthUserFile /data/svn/svnrepos/conf/http_passwd
AuthzSVNAccessFile /data/svn/svnrepos/conf/authz
Require valid-user
</Location>

10.4、设置权限

chown apache:apache /data/svn/svnrepos -R

10.5、设置Apache http访问用户名,按提示输入两次相同密码

注意:这里的用户名密码要和svn里配置的一样。passwd和http_passwd文件中,账号密码必须设置相同。

htpasswd -cm /data/svn/svnrepos/conf/http_passwd attendre

PS:htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。

-c:创建一个加密文件;

-m:默认采用MD5算法对密码进行加密;

-D:删除指定的用户。

-b:在命令行中一并输入用户名和密码而不是根据提示输入密码;

10.6、启动Apache,查看httpd状态是否成功运行

service httpd start
service httpd status

如果启动失败 ,查看对应的报错信息。

这里记录一种我启动时候遇到的报错问题。https://www.cnblogs.com/qq1445496485/p/16382687.html

10.7、设置开机启动

chkconfig httpd on  #设置开机启动

10.8、nginx反向代理配置,也在刚才问题的链接中。

番外:配置svn开机自启

1、在目录/usr/local 下面创建一个svn.sh文件

cd /usr/local
vi svn.sh

2、添加以下内容

#!/bin/bash
/usr/bin/svnserve -d -r /data/svn/svnrepos

备注 :这里的svnserve路径保险起见,最好写绝对路径,因为启动的时候,环境变量也许没加载。

# 绝对路径查询命令
which svnserve

3、改该脚本的执行权限

chmod 777 svn.sh

4、加入自动运行

vi /etc/rc.d/rc.local

# 在末尾添加脚本的路径

/usr/local/svn.sh

5、重启Linux服务器,重启后查看svn服务器是否已经开启

reboot
ps -ef|grep svnserve



linux配置svn的更多相关文章

  1. Linux 配置 SVN and ideal 配置SVN的客户端 ?

    Linux 配置 SVN? 4.配置svn(服务器端) 项目管理工具(subversion),每个公司都会用到(git/svn) 目的就是为了合作开发 4.1.从linux上安装svn 不需要从官网下 ...

  2. linux配置SVN服务

    在linux下配置SVN库,网上找到不少教程,但是对于有几个容易混淆的地方需要记录下, 1.在创建SVN文档库的时候,需要使用svn命令先创建出来, svnadmin create /home/svn ...

  3. linux 配置svn服务器+使用+注意事项

    本文以ubuntu系统进行安装. 1.安装svn服务器 apt-get install subversion 输入 y 回车确认安装. 安装完毕后可以用 下边的命令查看是否安装完成,如果现实出版本号和 ...

  4. LINUX 配置SVN

    1. 安装SVN  yum -y install subversion 2. 创建版本库目录  mkdir /root/svn/ svnserve -d -r /root/svn/ 3. 创建版本库 ...

  5. Linux配置svn服务器版本库

    1)创建版本库首先使用yum安装subversion 2)创建版本库 svnadmin create /home/svn/svnfile 3)进入conf目录 authz               ...

  6. LINUX+Vmware+SVN的配置和安装

    LINUX+Vmware+SVN的配置和安装 验证SVN安装了没有 svnserve --version 查看CentOS自带JDK是否已安装. ◆输入:yum list installed |gre ...

  7. linux安装配置SVN并设置钩子

    安装说明 系统环境:CentOS-6.3安装方式:yum install (源码安装容易产生版本兼容的问题)安装软件:系统自动下载SVN软件 检查已安装版本 #检查是否安装了低版本的SVN 1 rpm ...

  8. Linux下SVN服务器安装配置及客户端安装说明

    原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...

  9. (总结)CentOS Linux搭建SVN Server配置详解

         PS:虽然在公司linux服务器上搭建过几次svn,但是时间长了,有些配置操作会忘掉,上网搜索的结果都不大满意,有幸在前几天看到一篇算是最满意的svn搭建文章,转载一下以备以后使用,原文地址 ...

随机推荐

  1. Java语言学习day01--6月28日

    Java语言学习day01一:Java概述 1.Java语言发展史 任职于太阳微系统的 詹姆斯·高斯林 等人于1990年代初开发Java语言的雏形,最初被命名为 Oak ,目标设置在 家用电器等小型系 ...

  2. 小米路由器3G R3G 刷入Breed和OpenWrt 20.02.2 的记录

    小米 R3G 参数 Architecture: MIPS Vendor: Mediatek Bootloader: U-Boot System-On-Chip: MT7621 family CPU/S ...

  3. delete-drop语句生成的存储过程

    问题: 开发时有时候需要对很多表进行操作. 例如:清空(删除)所有(某些)表,删除所有表某时间点之后导入的数据(类似于回滚) 解决方式: 对选定的表集合执行相同的查询条件(可为空),如果这个执行结果大 ...

  4. 详解 Java 17 中新推出的密封类

    Java 17推出的新特性Sealed Classes经历了2个Preview版本(JDK 15中的JEP 360.JDK 16中的JEP 397),最终定稿于JDK 17中的JEP 409.Seal ...

  5. MOSFET, MOS管, 开关管笔记

    MOSFET, MOS管, 开关管 MOSFET, Metal-Oxide-Semiconductor Field-Effect Transistor, 金属氧化物半导体场效晶体管 常见封装 电路符号 ...

  6. docker 1.2 之docker基本用法

    1.docker的基本用法 镜像相关操作:dockerhub查找镜像,例如查找centos的镜像 [root@elk ~]# docker search centos NAME DESCRIPTION ...

  7. MAC系统下破解WIFI密码(亲测可用,含wifi密码字典)

    出差第二天,住的小区因为疫情被封,宿舍又没有wifi,看着附近满满的WIFI信号列表,wifi万能钥匙却一个都连接不上,心中一万匹CNM...于是电脑连上手机热点,然后各种折腾,终于破解了一个隔壁的w ...

  8. 解放双手!推荐一款 GitHub 星标 8.2k+的命令行软件管理器,非常酷炫!

    小二是公司新来的实习生,之前面试的过程中对答如流,所以我非常看好他.第一天,我给他了一台新电脑,要他先在本地搭建个 Java 开发环境. 二话不说,他就开始马不停蹄地行动了.真没想到,他竟然是通过命令 ...

  9. 创建NuGet本地包源

    NuGet 是免费.开源的包管理开发工具,专注于在 .NET 应用开发过程中,简单地合并第三方的组件库.使用Visual Studio 可以很方便地将类库等项目打包发布,最简单的办法是上传到Nuget ...

  10. 工具分享:清理 Markdown 中没有引用的图片

    前言: 之前,我写笔记的工具一直都是 notion,而且没有写博客的习惯.但是一是由于 notion 的服务器在国外,有时候很不稳定:二是由于 notion 的分享很不方便,把笔记分享给别人点开链接之 ...