Linux(CentOS)系统下搭建svn服务器
由于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服务器的更多相关文章
- linux系统Centos环境下搭建SVN服务器及权限配置
linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍 至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个 ...
- Linux(Centos)下搭建SVN服务器
鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人,本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结! /******开始***** ...
- CentOS系统下搭建tomcat服务器
下载相应的linux版jdk和tomcat,本文讲解jdk版本jdk-7u79-linux-x64.tar.gz,tomcat版本apache-tomcat-7.0.69.tar.gz [配置jdk] ...
- Linux(Centos)系统上搭建SVN以及常见错误解答
本文主要介绍怎样在Centos上搭建SVN,文章内容比较基础,适合小白用户学习. 1.Linux版本Centos 6.5 查看linux版本命令: cat /etc/issue 2.查看本机上是否已经 ...
- 【SVN】centos环境下搭建SVN服务器
1.安装SVN,有些linux发行版自带SVN,可以用下面方法检测是否安装SVN. svn --version 如果 Subversion 客户端没有安装,命令将报告svn命令找不到的错误. 我们可以 ...
- Linux centos 6.5 搭建 svn服务器
实例:web1 1.安装subversion #yum install subversion #mkdir -p /oop/svn/ //创建svn目录 #chmod -R 777 /oop/svn ...
- Windows和Linux环境下搭建SVN服务器
--------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...
- 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 ...
- Ubuntu 14.04 下搭建SVN服务器 svn://
Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...
随机推荐
- linux环境,crontab报错Authentication token is no longer valid; new one required You (aimonitor) are not allowed to access to (crontab) because of pam configuration.
问题描述: 今天同事反应,一个系统上的某些数据没有生成,看了下,怀疑定时任务没有执行,就看下了crontab,发现报了下面的错误: [aimonitor@4A-LF-w08 ~]$ crontab - ...
- Redis(八)-- Redis分布式锁实现
一.使用分布式锁要满足的几个条件 系统是一个分布式系统(关键是分布式,单机的可以使用ReentrantLock或者synchronized代码块来实现) 共享资源(各个系统访问同一个资源,资源的载体可 ...
- LVS+keeplived+nginx+tomcat高可用、高性能jsp集群
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://kerry.blog.51cto.com/172631/557749 #!/bin ...
- 使用C#语言实现一些功能
今天由于是周六,所以就没讲课啦,于是我就仔细看啦几道还没掌握的题,然后总结啦一下. 一.三级联动 像这个三级联动吧,感觉在做网站时间肯定会用到啦,但是那时间肯定不会是这样子做的啦,不可能把所有的省市区 ...
- 使用reduce的方法实现对象数组去重
在开发中和面试当中,数组去重问题往往是受宠儿,那用最短的代码解决这个问题会使效率得到更大的提升.普通的数组,我们可以通过filter过滤方法进行去重,详情见本人博客:http://www.cnblog ...
- PyQt4信号与槽
事件 事件(Events)是GUI程序中很重要的一部分.它由用户或系统产生.当我们调用程序的exec_()方法时,程序就会进入主循环中.主循环捕获事件并将它们发送给相应的对象进行处理.奇趣公司(Tro ...
- IT English Collection(20) of Object modeling
1 前言 本节简单的介绍了对象建模,以及需要注意的事项. 2 详述 2.1 原文 Objectmodeling is the process of designing the objects or c ...
- java高级---->Thread之BlockingQueue的使用
今天我们通过实例来学习一下BlockingQueue的用法.梦想,可以天花乱坠,理想,是我们一步一个脚印踩出来的坎坷道路. BlockingQueue的实例 官方文档上的对于BlockingQueue ...
- 破谣言——iPhone砍价
微信朋友圈和QQ空间很多朋友在传一个iPhone砍价免费送的活动.好吧,砍页面下面的那邪恶广告,第一感觉就是假的.但我要给出证明,所以就有了下面的代码.[只需把UID换成自己的就行],当你砍到5分钱的 ...
- maven指定项目的构建、打包和tomcat插件的pom.xml配置
1.pom.xml添加如下配置: <build> <finalName>${parent.artifactId}</finalName> <plugins&g ...