快速搭建SVN服务器

一、背景介绍

svn服务器是一款上传代码的工具(貌似这么说不怎么严谨,但是在日常工作中基本上是这么用的),今天一个小伙伴折腾了一天也没有搭建好这个svn服务器。各种问题,其实搭建SVN服务器最重要的就是三个配置文件(svnserver.conf、 passwd 、authz)。出了问题的话十有八九是这三个配置文件的问题。最后,我自己搭建了一个,测试成功。于是把这个过程记录下来,以备使用。当然还有一个问题,那就是客户端的svn工具版本太低造成的,会用提示的。运维最好是在拿另外一台服务器当客户端来测试,确保自己的svnserver没有问题,然后就可以愉快的去怼开发了。

二、安装过程

[root@localhost ~]# yum -y install subversion
[root@localhost ~]# svnadmin create /home/svn/repos #svn仓库的位置
[root@localhost ~]# cd /home/svn/repos/
[root@localhost repos]# ls
conf  db  format  hooks  locks  README.txt
[root@localhost repos]# cd conf/
[root@localhost conf]# vim svnserve.conf

将以下内容的注释去掉,然后这些配置要顶头,不能与左侧有空格,不然会报错

[general]
anon-access = none     #匿名访问权限,默认read,none为不允许访问
auth-access = write   #认证用户权限  
password-db = passwd  #用户信息存放文件,默认在版本库/conf下面,也可以绝对路径指定文件位置
authz-db = authz
[root@localhost conf]# vim passwd
[users]
xiaoming = 123
zhangsan = 123
lisi = 123
[root@localhost conf]# vim authz 
[groups]           #定义组的用户
manager = xiaoming
core_dev = zhangsan,lisi
[repos:/]          #以根目录起始的repos版本库manager组为读写权限
@manager = rw
[repos:/media]     #core_dev对repos版本库下media目录为读写权限
@core_dev = rw

到此位置所有配置已完成

[root@localhost conf]# svnserve -d -r /home/svn   #启动svnserver
[root@localhost conf]# netstat -antp |grep svnserve  #查看端口号3690
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      17412/svnserve     
[root@localhost ~]# iptables -F              #关闭防火墙

三、测试

接下来到另外一台服务器上去做测试,此时这台服务器是客户端的角色

[root@localhoast svntest]# svn checkout svn://172.16.72.4/repos /svn --username xiaoming --password 123              
-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:
   <svn://172.16.72.4:3690> ef513f9d-89b5-4751-94fa-bfadb578deb4
can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.
You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
Checked out revision 0.    #成功

svn现在的使用率一直在下降,被git所取代,就像apache被nginx取代一样。但这也是一款很常用的程序,至少开发每天都在用。


原创文章,作者:hanlln1,如若转载,请注明出处:http://www.178linux.com/63299

(2)
hanlln1hanlln1
上一篇 2016-12-11 22:28
下一篇 2016-12-12 00:57

相关推荐

  • 如何在linux系统上获取命令的帮助信息,man文档的章节划分

    内置命令获取帮助文档的方式:   判断一个命令是否是Linux内置的,可以用type命令,只有Linux的内置命令才能使用 help 命令获得帮助。 type cd 输出:cd is a shell builtin 说明这个命令是系统自带的内置命令,那么就可以使用 help命令来获取帮助。 help 命令名 外部命令获取帮助文档的方式: 第一种办法是使用 &…

    Linux干货 2016-10-31
  • 编译安装LAMP及分离式LAMP平台构建

    前言 LAMP网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,与微软的.NET架构相比,L…

    Linux干货 2015-04-20
  • HA专题: corosync+pacemaker实现nginx高可用

    HA专题: corosync+pacemaker实现nginx高可用 前言 实验介绍 实验拓扑 实验环境 实验步骤 准备工作 安装HA集群组件 安装nginx和配置nfs 使用crmsh配置集群资源 测试 总结 前言 这几天都会学习高可用集群, 也会将其中的一些实验写出来分享给大家, 这个专题估计会写5篇左右, p.s: 写博客很累的 实验介绍 这次的实验比…

    Linux干货 2016-04-11
  • DHCP简单阐述及配置实现方法

    DHCP是什么…… DHCP是Dynamic Host Configuration Protocol的缩写,它是TCP/IP协议簇中的一种,主要是用来给网络客户机分配动态的IP地址。 其主要功能是: 用于内部网络或网络服务供应商自动分配IP地址给用户 用于内部网络管理员作为对所有电脑作中央管理的手段 直接点就是,这些被…

    Linux干货 2016-12-05
  • ☞磁盘管理、MBR、GPT、分区工具、文件系统、常见分区挂载

    磁盘管理{磁盘结构;MBR;GPT;分区工具;文件系统;分区挂载;}

    Linux干货 2016-08-29
  • Linux 第四天: (07月28日) Linux文件管理

    Linux 第四天: (07月28日) Linux文件管理         rootfs 根目录文件系统 root filesystemLSB  Linux Standard BaseFHS 文件系统分层结构 Filesystem Hierarchy Standard     蓝色表示 目…

    Linux干货 2016-08-08