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. Redis之有序集合命令

    Redis 有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过 ...

  2. getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed

    为arm 编译 mysql , 执行的时候出现了这个问题. 好像是个bug, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626379 重新编译 ...

  3. freemarker中对null值问题的处理

    1. freemarker不支持null. 如果值为null会报错. 2.当值为null的处理 1)过滤不显示 Hello ${name!} 在属性后面加感叹号即可过滤null和空字符串 if和”?? ...

  4. homestead 添加新站点

    homestead 添加站点的时候遇到了坑,这里记录下来,也顺便给大家一个参考. 1. 首先修改homestead.yaml文件(虽然你有可能不知道这个文件在哪,但是我也不会帮你找的.) 2. 接着修 ...

  5. 网络编程基础——System.Net.Socket 命名空间及相关类的使用

    System.Net.Socket 命名空间主要提供制作 Socket 网络应用程序的相关类.(Socket 类.TcpClient 类.TcpListener 类 和 UdpClient 类) 1. ...

  6. 44. Wildcard Matching *HARD*

    '?' Matches any single character. '*' Matches any sequence of characters (including the empty sequen ...

  7. OC @property @synthesize和id

    文顶顶   OC语言@property @synthesize和id OC语言@property @synthesize和id 一.@property @synthesize关键字 注意:这两个关键字 ...

  8. POJ 2109 巧妙解法

    Int最大是10^9.所以一般思路是二分+高精度.但是double 范围是10^(-307)-10^308所以可以用double型.k^n=p.所以有k=p^(1/n). 见代码: #include& ...

  9. ArrayList与List<T>笔记

    ArrayList与List<T>笔记 ArrayList是在System.Collections命名空间的一个类, 通过Add的方法添加一个项, 当进到这个类的元数据时, 可以看到这个方 ...

  10. windows自动快捷方式

    http://jingyan.baidu.com/article/dca1fa6fb8c408f1a5405242.html