安装

使用yum安装非常简单:

yum install subversion

配置

创建仓库

我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成功后在svn下面多了几个文件夹。

[root@localhost /]# cd /home
[root@localhost home]# mkdir svn
[root@localhost home]# svnadmin create /home/svn
[root@localhost home]# ls svn
conf  db  format  hooks  locks  README.txt

我们这里特别关注一下conf文件夹,这个是存放配置文件的

[root@localhost home]# cd svn/conf
[root@localhost conf]# ls
authz  passwd  svnserve.conf

其中:

  • authz 是权限控制文件
  • passwd 是帐号密码文件
  • svnserve.conf 是SVN服务配置文件

接下来我们依次修改这3个文件。

配置passwd

[root@localhost conf]# vi passwd
[users]
test1=123456
test2=123456

上面的例子中我们创建了2个用户,一个test1,一个test2

配置authz

[root@localhost conf]# vi authz
[/]
liuxianan=rw
test1=rw
test2=rw
*=

上面配置的含义是,test1,test2,liuxianan/home/svn/下所有文件具有可读可写权限,除此之外,其它用户均无任何权限,最后一行*=很重要不能少。

拓展:使用用户分组

这个我一般不用,但是记录下来。

还是这个文件:

[root@localhost conf]# vi authz
[groups]
group1 = liuxianan
group2 = test1,test2
[/]
@group1 = rw
@group2 = rw
* =

上面配置中创建了2个分组,分组1 分组2的用户可读可写。

格式说明:

版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>

[root@localhost conf]# vi svnserve.conf
打开下面的5个注释
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录

2点注意:

  • 最后一行的realm记得改成你的svn目录
  • 打开注释时切记前面不要留有空格,否则可能有问题(网上说的,我没有亲测)

启动与停止

[root@localhost conf]# svnserve -d -r /home/svn(启动)
[root@localhost conf]#killall svnserve(停止)

上述启动命令中,-d表示守护进程, -r 表示在后台执行。停止还可以采用杀死进程的方式:

[root@localhost conf]# ps -ef|grep svnserve
root      4908     1  0 21:32 ?        00:00:00 svnserve -d -r /home/svn
root      4949  4822  0 22:05 pts/0    00:00:00 grep svnserve
[root@localhost conf]# kill -9 4908

最后来个总的截图:

客户端连接

这里使用TortoiseSVN,输入地址svn://你的IP 即可(因为启动svn的根目录就是/home/svn),不出意外输入用户名和密码就能连接成功了。(防火墙需要先打开3690端口)

默认端口3690,如果你修改了端口,那么要记得加上端口号。

总结

总的来说,如果你不需要杂七杂八的权限配置只是自己一个人用的话,安装配置还是比较简单的,并不像网上说的那么麻烦,我按照网上的方法一次性成功了。

SVN常规操作 - 自动更新到测试服务器

自动更新的测试服务器分两种情况,第一种是SVN服务器和测试服务器为同一服务器,第二种情况是SVN服务器和测试服务器为不同的服务器。

这里只说第一种情况,第二种情况,则通过钩子里面执行php脚本curl访问远程测试服务器的url,来实现更新,参考链接:http://mengkang.net/67.html

1.检出一份代码到web目录

例如这个SVN对应的项目目录为/home/wwwroot/test,则在这个项目目录里面先进行仓库的检出

 
  1. cd /home/wwwroot/test
  2. svn co svn://123.123.123.123/repos1 ./ --username xxx

2.编辑svn钩子

  1. cd /home/www/svndata/repos1
  2. cp post-commit.tmpl post-commit
  3. vi post-commit

编辑为如下内容,最简单的演示,可以在脸面添加邮件发送等

  1. #!/bin/bash
  2. export LANG="zh_CN.UTF-8"
  3. svn update /home/wwwroot/test/ --username xxx --password xxx

最后别忘记把post-commit的权限修改为777

  1. chmod 777 post-commit

Linux下安装SVN服务端小白教程相关推荐

  1. Linux下安装SVN服务端教程

    1.安装 使用yum安装非常简单: yum install subversion 2.1. 创建仓库 我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面 ...

  2. Linux下安装SVN服务端

    第一步:检查是否安装 使用版本查看检查svn是否已经安装过,如果反馈版本则已经安装过就不需要再次安装,如没有反馈版本信息则可通过yum安装软件. [root@localhost /]# svnserv ...

  3. 开发基础 - Linux下安装SVN服务端

    第一步:检查是否安装 使用版本查看检查svn是否已经安装过,如果反馈版本则已经安装过就不需要再次安装,如没有反馈版本信息则可通过yum安装软件. [root@localhost /]# svnserv ...

  4. Linux下安装SVN服务端的方法步骤

    一.yum 安装 yum install subversion 若需查看svn安装位置,可以用以下命令: rpm -ql subversion 二.配置 1.创建仓库 我们在/home下建立一个名为s ...

  5. Linux下安装SVN服务端(全)

    1.简介 Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. yum install subversion 2.配置 2.1.创建仓库 ...

  6. Win7下安装SVN服务端

    目录 背景 svn安装包 操作步骤 1.创建仓库 2.基础设置 创建服务 开放端口 参考文献 背景 因为同事的苹果本无法修改mac地址连接内网,无论下驱动也好,命令方式也好,都无法修改mac,打客户电 ...

  7. linux下安装svn服务

    我的linux版本为centos 7.6,以此版本为例,进行svn服务的安装. 一.确认系统中是否已经安装svn,避免重复安装 svnservice --version 二.使用yum安装,一路确认即 ...

  8. Linux (Ubuntu)安装SVN服务端详细篇

    1 先查看是否已经安装了svn: 如果没有安装svn则: root@houwp:~# svn --version The program 'svn' is currently not installe ...

  9. linux怎么安装git服务器,linux下安装git服务端

    [root@m2 ~]# yum install -y epel-* [root@m2 ~]# yum install -y git 创建仓库目录 [root@m2 ~]# mkdir /mnt/gi ...

最新文章

  1. R语言使用ggpubr包的ggarrange函数组合多张结论图(垂直组合+水平组合)并对图像进行顺序编码A、B、C,,,
  2. swift_025(Swift 的自动引用计数(ARC)
  3. python调研报告总结体会_调研报告心得(多篇)
  4. Azure 内容审查器之羞羞图审查
  5. [WPF]ListView点击列头排序功能实现
  6. LeetCode 1553. 吃掉 N 个橘子的最少天数(BFS)
  7. pb 怎么判断是 小数_考试90分以上的孩子是怎么学数学的?听听老师怎么说?
  8. 52linux crond入门53crond时间规则54应用实例
  9. Liunx静态库和动态库
  10. egg extend ts_电竞5.21日王者荣耀KPL分析:DYG冲击西部榜首,TS战队能否虐菜?
  11. java io流区别_Java中IO流的分类和BIO,NIO,AIO的区别
  12. 如何调节电脑显示屏来保护双眼的小技巧
  13. 13. 查看网络端口、配置网络
  14. mysql 索引 hash_Mysql中索引类型,B-tree、Hash索引怎么实现的以及其特点?
  15. PHP推流地址获取图片
  16. 《麦肯锡方法》读书笔记4
  17. linux 默认ping的端口,linux的ping命令端口号
  18. Redis下载与安装 Linux + Windows 较详细步骤
  19. basler 相机取图超时,basler 相机使用出现的问题
  20. Python自我成长笔记(二)

热门文章

  1. unity2D学习(2)Tilemap绘制地图
  2. Unity2D瓦片地图tilemap出现瓦片间间隙问题解决
  3. theos的makefile写法
  4. 计算机bios设置系统安装教程,电脑BIOS怎么设置光盘启动 三种类型BIOS设置详解图文教程...
  5. 八款最优秀的免费翻译相关软件推荐
  6. selenium禁止弹窗_selenium常见弹窗处理
  7. 【C语言】strlen函数的讲解和模拟实现
  8. 颜色的前世今生1·一切从光开始
  9. Camtasia 2022新版本发布CS喀秋莎2022功能亮点
  10. 套利套保模型|BVAR、ECM、GARCH、价差