由于GitHub的私有项目需要收费,gitlab对服务器的要求必须是4GB内存以上。对于一些个人的小型项目,想要免费的版本控制工具来管理自己的代码,又不想代码公开,无疑SVN是比较好的选择。windows下的SVN搭建比较简单,但是一般购买服务器选择Linux的还是比较多。下面就介绍在Linux系统下如何搭建自己的SVN服务器。

【安装步骤】

1.使用yum在线安装

$ yum install subversion

$ rpm -ql subversion  #查看安装位置.

2.创建svn版本库目录(此处演示创建多个)

$ mkdir -p /root/svn/project1

$ mkdir -p /root/svn/project2

3.创建版本库

$ svnadmin create /root/svn/project1

$ svnadmin create /root/svn/project2

【配置说明】

1.进入其中一个版本库的配置文件目录(此处只讲解其中一个版本库的操作说明)

$ cd /root/svn/project1/conf

authz 文件是权限控制文件

passwd 是帐号密码文件

svnserve.conf 是SVN服务配置文件

2.设置帐号密码

$ vim passwd

在[users]块中添加用户和密码,格式:帐号=密码,如renxing=renxing

3.设置权限

$ vim authz

在末尾添加如下代码:(备注:Linux下快速到达vim末尾的命令是:Shift+G.更多关于vim操作的命令请 参考这里)

[/]
renxing=rw
w=r

意思是版本库的根目录renxing对其有读写权限,w只有读权限

4. 修改svnserve.conf文件

$ vim svnserve.conf

打开下面的几个注释:

anon-access = none   #匿名用户可读 【参考:https://www.cnblogs.com/kccdzz/p/9414045.html】
auth-access = write  #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz     #使用哪个文件作为权限文件
realm = /root/svn/project1 #认证空间名,版本库所在目录

说明:project2的配置方法同上。

【启动svn版本库】 

启动当前svn版本库:

$ svnserve -d -r /root/svn

SVN默认的打开端口是3690,可以通过下面的命令查看:

$ netstat -antp | grep svn

centos7 打开防火墙端口:

$ sudo firewall-cmd --permanent --add-port=3690/tcp

$ sudo firewall-cmd --reload

如果是在阿里云购买的服务器,还要打开3690端口才能访问。

找到服务器的“配置规则”,点击“添加安全组规则”

在客户端测试:

$ svn checkout svn://127.0.0.1

之后输入passwd中输入的账号和密码即可检出代码。

备注:Linux下安装svn客户端的命令为: $ yum install svn

Linux(CentOS)系统下搭建svn服务器的更多相关文章

  1. linux系统Centos环境下搭建SVN服务器及权限配置

    linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍   至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个 ...

  2. Linux(Centos)下搭建SVN服务器

    鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人,本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结! /******开始***** ...

  3. CentOS系统下搭建tomcat服务器

    下载相应的linux版jdk和tomcat,本文讲解jdk版本jdk-7u79-linux-x64.tar.gz,tomcat版本apache-tomcat-7.0.69.tar.gz [配置jdk] ...

  4. Linux(Centos)系统上搭建SVN以及常见错误解答

    本文主要介绍怎样在Centos上搭建SVN,文章内容比较基础,适合小白用户学习. 1.Linux版本Centos 6.5 查看linux版本命令: cat /etc/issue 2.查看本机上是否已经 ...

  5. 【SVN】centos环境下搭建SVN服务器

    1.安装SVN,有些linux发行版自带SVN,可以用下面方法检测是否安装SVN. svn --version 如果 Subversion 客户端没有安装,命令将报告svn命令找不到的错误. 我们可以 ...

  6. Linux centos 6.5 搭建 svn服务器

    实例:web1 1.安装subversion #yum install subversion #mkdir -p /oop/svn/ //创建svn目录 #chmod -R 777 /oop/svn ...

  7. Windows和Linux环境下搭建SVN服务器

    --------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...

  8. Ubuntu 14.04 下搭建SVN服务器 (转载自 http://www.linuxidc.com/Linux/2015-01/111956.htm)-------------我所用到是红色字体

    http://www.linuxidc.com/Linux/2015-01/111956.htm Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get i ...

  9. Ubuntu 14.04 下搭建SVN服务器 svn://

    Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...

随机推荐

  1. Unity战斗系统之AI自主决策

    http://www.taikr.com/course/448/tasks http://www.xuanyusong.com/archives/1840 http://www.cnblogs.com ...

  2. WPF 跟踪命令和撤销命令(复原)

    WPF 命令模型缺少一个特性是复原命令.尽管提供了一个 ApplicationCommands.Undo 命令,但是该命令通常被用于编辑控件(如 TextBox 控件),以维护它们自己的 Undo 历 ...

  3. Extjs不错的博客

    http://www.cnblogs.com/fangsui/category/372751.html http://www.cnblogs.com/WangJinYang/tag/EXT.NET/ ...

  4. org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map com.hyzn.historicalRecord.dao.ITB_HISTORYLOGDAO.TB_HISTORYLOGResultMap

    用了很久的myBatis,忽然出现这个错误,感觉配置什么的都是正确的,错误如下: org.apache.ibatis.builder.IncompleteElementException: Could ...

  5. 查看系统负载:uptime

    uptime命令用于查看系统负载,跟 w 命令的输出内容一致 [root@localhost ~]$ uptime :: up days, :, users, load average: 0.03, ...

  6. m2014-architecture-imgserver->Lighttpd +mod_mem_cache的效果简直太好了

    公司的图片服务器一直以来负载都比较高,原因是图片比较分散而且比较小.经常把iowait搞的特别的高.但是只有一台机器也法用squid,经测试squid和apache在同一台机器效果会很糟糕的.因为sq ...

  7. tableview随笔

    //获得row NSInteger row = [[self.treeTableViewindexPathForCell:(UITableViewCell *)[[[notification.user ...

  8. UIBarButtonItem

    1.UINavigationController导航控制器如何使用 UINavigationController可以翻译为导航控制器,在IOS里经常用到. 我们看看它的如何使用: 下面的图显示了导航控 ...

  9. java后端接收前端传来的复杂对象(包含List对象集合)

    最近在和安卓对接口的时候发现往java后端传数据的时候,后台对象无法接收. 说明:后台对象为 类似结构 ObjectA{ private String  a; private String b; pr ...

  10. android基础---->发送和接收短信

    收发短信应该是每个手机最基本的功能之一了,即使是许多年前的老手机也都会具备这项功能,而Android 作为出色的智能手机操作系统,自然也少不了在这方面的支持.今天我们开始自己创建一个简单的发送和接收短 ...