1.安装命令

yum -y install subversion

查看SVN安装位置

rpm -ql subversion

查看SVN版本

svnserve --version

2.创建版本库根目录(此仅为目录,为后面创建版本库提供存放位置)

mkdir /home/svn

3.创建SVN版本库(创建项目)

svnadmin create /home/svn/project1
svnadmin create /home/svn/project2

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

cd /home/svn/project1

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

创建版本库公共配置文件存放目录,随便打开一个项目版本库复制一份conf目录(即:/home/svn/project1/conf)到 /home/svn 目录下

cp -r /home/svn/project1/conf /home/svn/conf

清空刚才创建的项目版本库conf目录,删除库的所有配置文件

rm -f /home/svn/project1/conf/*
rm -f /home/svn/project2/conf/*

4.修改配置

进入conf目录

cd /home/svn/conf

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

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

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

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

编辑 authz 文件

@group1 = rw 中的"rw"意思是[groups]下定义的用户对指定的版本库有读写权限

编辑 passwd 文件

编辑 svnserve.conf 文件(注意:配置的前面不能有空格,一定要顶格写)

#配置匿名用户不可读(none匿名用户不可读写)
anon-access = none
#授权用户可写
auth-access = write
#使用哪个文件作为账号文件
password-db = ../../conf/passwd
#使用哪个文件作为权限文件
authz-db = ../../conf/authz
#认证空间名,版本库所在目录,该文件只为了后面方便复制到每个项目下的conf目录下,每个项目下的svnserv.conf中需要指明当前项目的目录
realm = /home/svn(后面单个项目中的svnserve.conf就需要设置如:realm = /home/svn/project1)

复制 svnserve.conf 配置文件到刚创建的所有项目版本库的conf目录下

cp -f /home/svn/conf/svnserve.conf /home/svn/project1/conf/svnserve.conf
cp -f /home/svn/conf/svnserve.conf /home/svn/project2/conf/svnserve.conf

修改/home/svn/project1/conf/svnserve.conf

realm = /home/svn/project1

修改/home/svn/project2/conf/svnserve.conf

realm = /home/svn/project2

注意:当SVN服务启动时/home/svn/conf下的svnserve.conf文件并不会被版本库载入,而真正被载入的配置是相对每个project/conf里的svnserve.conf文件,所以只是备份在当前目录下为了以后添加项目时方便复制到新的project/conf里,但是所有项目版本库conf目录下的svnserve.conf文件中“realm”都是不一样的!当然每个project/conf里的svnserve.conf文件都复制好并设置好“realm”后,/home/svn/conf下的svnserve.conf文件也可以被删掉。

5.自行配置好防火墙(默认3690端口)

云服务器配置好安全组

CentOS7放开端口

firewall-cmd --permanent --add-port=/tcp

firewall-cmd --reload

6.启动SVN服务器(注意:如果在一台服务器上同时启动多个版本管理,那么启动路径必须是所有项目仓库的根路径)

svnserve -d -r /home/svn

也可再设置别的端口(默认端口3690)

svnserve --listen-port  -d -r /home/svn

查看端口是否开启

netstat -ntlp

查看进程号

ps -A | grep svn

关闭进程号

kill 进程号

查看SVN启动结果

ps -ef | grep svnserve

7.访问SVN服务器

Windows系统

svn://ip地址/project1

Linux系统

svn co svn://ip地址/project1

其他命令

//查看目录列表
svn list --username 账号 [版本库目录] //查看文件详细信息
svn info --username 账号 [版本库目录] //查看日志
svn log --username 账号 [版本库目录] //检出版本库
svn checkout --username 账号 svn://ip地址/[目录] [目标目录] //更新版本库
svn update [版本库目录]

8.配置使用systemctl管理SVN(CentOS7)

创建/etc/systemd/system/svn.service文件

vi /etc/systemd/system/svn.service

并写入内容

[Unit]
Description=Subversion Server
[Service]
Type=forking
ExecStart=/usr/bin/svnserve --daemon --root /home/svn
ExecStop=/usr/bin/killall svnserve
Restart=always
[Install]
WantedBy=default.target

其中,“/home/svn”是SVN仓库的根路径,请根据情况修改。

通知systemd有个新服务添加

systemctl daemon-reload

启动和停止SVN服务

systemctl start svn.service
systemctl stop svn.service

配置开机自动启动

systemctl enable svn.service

检查SVN服务运作状态

systemctl status svn.service

查看是否开机启动

systemctl is-enabled svn.service

Linux(CentOS)搭建SVN服务器的更多相关文章

  1. Linux(CentOS)搭建SVN服务器全攻略

    虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN 安装#yum ...

  2. 使用Linux(CentOS)搭建SVN服务器全攻略

    虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN 安装 #yu ...

  3. [记录]CentOS搭建SVN服务器(主从同步)

    CentOS搭建SVN服务器(主从同步)1.安装步骤如下: 1)安装: #yum install subversion 2)查看安装位置: #rpm -ql subversion 3)查看版本: #/ ...

  4. Linux下搭建SVN服务器及自动更新项目文件到web目录(www)的方法

    首先搭建SVN服务器 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion   ...

  5. CentOS搭建SVN服务器,并通过Apache HTTP方式访问

    摘要:本文主要讲述了在centos 6.5环境下搭建svn服务器,可通过svn:\\IP方式访问.同时由于部分公司内网端口限制,并不能访问外网的svn服务器,所以特地结合了apache服务器,使得可以 ...

  6. 【svn】Centos搭建svn服务器环境

    1.需求描述 在Centos系统中搭建svn服务器环境 2.搭建过程 2.1 yum安装svn [root@localhost /]# yum install svn  2.2 新建目录存储svn目录 ...

  7. centos搭建svn 服务器 并同步到web 目录(总结)

    配置搭建步骤: Linux平台的SVN服务器的配置及搭建 从本地提交代码到svn代码库. 将代码库中代码同步到web目录: 1.在web目录中checkout版本库 进入/home/www目录下  ( ...

  8. CentOS 搭建 SVN 服务器 及使用教程

    服务器与客户端 1.搭建SVN服务器 ① CentOS安装SVN 命令: yum -y install subversion 检查是否安装成功 命令: svn --version 如果显示如下内容说明 ...

  9. centos搭建svn服务器

    1.在centos6.5上面搭建svn服务器,安装svn服务器:yum install subversion 2.在任意目录下创建仓库目录,这里放在/data/mypros目录下 3.执行命令:svn ...

随机推荐

  1. php新手第一次安装mongo

    以下是我走位php新手第一次安装mongo模块的步骤: 1.首先从在网上选取适当版本的mongoDB扩展包下载; 2.解压扩展包,并且进入解压目录; tar -zxf mongo-1.4.1.tgz ...

  2. IE6不兼容hover已解决

    新建一个csshover.htc文件,一下是csshover.htc内容 <public:attach event="ondocumentready" onevent=&qu ...

  3. linux进程原语之fork()

    一.用法解析: fork()这个函数,可以说是名如其人了,众所周知fork这个单词本意为叉子,老外取学术名字的时候总会有一些象形的想法,于是就有了下图~ fork()函数是计算机程序设计中的分叉函数. ...

  4. 关于二级指针的使用(使用node指针建树)

    struct node { int v; node *l,*r; }*p; 使用二级指针建树的话,如果p是非全局变量且一开始没有指向变量的话递归建树时必然要传递参数,但是如果只是简单的build(no ...

  5. LeetCode 318. Maximum Product of Word Lengths (状态压缩)

    题目大意:给出一些字符串,找出两个不同的字符串之间长度之积的最大值,但要求这两个字符串之间不能拥有相同的字符.(字符只考虑小写字母). 题目分析:字符最多只有26个,因此每个字符串可以用一个二进制数来 ...

  6. 追加XML

    追加有两种情况,这个文档可能存在,也可能不存在 XmlDocument doc = new XmlDocument();XmlElement books; //将books声明在外边这样后面的代码才可 ...

  7. hibernate--一级和二级缓存(使用Ehcache)以及查询缓存

    https://blog.csdn.net/u012411414/article/details/50483185 有一下几点需要理清才行: 一级缓存是session缓存 session关闭就小时 二 ...

  8. 用Maven构建Mahout项目

    转载请注明出处:http://blog.fens.me/hadoop-mahout-maven-eclipse/ Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, ...

  9. RabbitMQ特性

    使用默认的exchange channel.basicPublish("", QUEUE_NAME, null, message.getBytes()); 如果用空字符串去申明一个 ...

  10. 导出cnblogs文章

    导出cnblogs文章 网址  http://download.csdn.net/download/zlj1817/9001869 下载