CentOS 7.2 x64 配置SVN服务器
说明:
SVN(subversion)的运行方式有两种:
一种是基于Apache的http、https网页访问形式,还有一种是基于svnserve的独立服务器模式。
SVN的数据存储方式也有两种:一种是在Berkeley DB数据库中存储数据;另一种是使用普通的文件FSFS存储数据。由于Berkeley DB方式在使用中有可能锁住数据,一般建议使用FSFS方式更安全。
实现目的:
以svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器。
准备篇
一、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
二、开启防火墙端口
基于svnserve的独立服务器模式,默认端口为3690
CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙。
1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
yum remove firewalld # 卸载firewall
2、安装iptables防火墙
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configur
ation
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
/usr/libexec/iptables/iptables.init restart #重启防火墙
安装篇
1、测试安装环境
#lsb_release –a
#uname –a
2、安装软件
(1)安装软件
# yum -y install subversion
subversion安装在/usr/bin目录 :which svnserve
(2)测试软件是否安装成功
#svnserve --version
3、新建一个目录用于存储SVN所有文件
subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置。
修改/etc/sysconfig/svnserver将默认目录指定到/opt/svn。
OPTIONS="-r /var/svn" =>OPTIONS="-r /opt/svn"
使用svnadmin建立版本库lehuo。
该目录是SVN根目录,后期可以再执行新建版本库的命令用来创建多个项目
#mkdir -p /opt/svn
新建一个版本库,并初始化
#svnadmin create /opt/svn/lehuo
[root@VM_67_242_centos lehuo]# ll
total 24
-rw-r--r-- 1 root root 229 Mar 23 09:45 README.txt
drwxr-xr-x 2 root root 4096 Mar 23 10:19 conf
drwxr-sr-x 6 root root 4096 Mar 23 09:45 db
-r--r--r-- 1 root root 2 Mar 23 09:45 format
drwxr-xr-x 2 root root 4096 Mar 23 09:45 hooks
drwxr-xr-x 2 root root 4096 Mar 23 09:45 locks
4、用户账号权限配置
(1)修改版本库的配置文件
#vim/opt/svn/lehuo/conf/svnserve.conf
[general]
anon-access = none #使非授权用户无法访问
auth-access = write #使授权用户有写权限
password-db = passwd #指明密码文件路径
authz-db = authz #访问控制文件
realm = lehuo #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字,其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格,等号两边有空格, 否则会出错.
(2)修改允许访问版本库的用户文件
#vim /opt/svn/lehuo/conf/passwd
文件格式如下所示:
[users] //不可省略
chengyuan1 = chengyuan1
chengyuan2 = chengyuan2
test = 123 //用户名密码对,每个用户一行,各语句都必须顶格写, 左侧不能留空格,等号两边有空格
(3)修改用户访问版本库的权限
#vim /opt/svn/lehuo/conf/authz
注意:权限配置文件中出现的用户名必须在passwd文件中有定义过,对权限配置文件authz的修改会立即生效,此配置文件采用“基于路径的授权”策略,中括号里指定路径,以下列出对各用户的授权。还可以对用户分组。
文件格式如下所示:
用户组格式:
[groups]
#user_group_name = username1,username2 //用户间以逗号分割, 组名 = 成员1,成员2
lehuo = chengyuan1,chengyuan2
版本库目录格式:
[test:/project/directory] //版本库:/项目/目录
@user_group_name = permissions //用户组名=权限
username = permissions //用户名=权限
[lehuo:/]
@lehuo = rw # 配置用户组的权限
test = r # 配置单个用户的权限
* =
注意:配置项所有的行都必须顶格,否则报错。
[]可以有多种定义/表示对全部的版本库设置权限,oil:/表示对oil版本库设置权限,oil:/www表示对oil中的www项目设置权限,oil:/www/example.com表示对oil中的www项目的example.com目录设置权限。可以用*来表示所有用户。权限可以设置为w,r,wr和空,空表示没有任何权限。
5、SVN服务
启动SVN服务。
#killall svnserve
#systemctl start svnserve.service
#svnserve -d -r /opt/svn/lehuo # 启动具体的某一个项目
检查服务是否启动成功。
#ps aux | grep svn
root      16349  0.0  0.1
162180   900
?        Ss   15:01   0:00
/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid
-r /opt/svn
通过netstat可以看到SVN打开了3690端口。
#netstat -tnlp
Proto Recv-Q Send-Q Local Address          
Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      16349/svnserve
设置成开机启动。
#systemctl enable
svnserve.service
注意:如果在一台服务器上同时启动多个版本管理,那么启动路径必须是所有项目仓库的根路径
加入开机启动(echo ‘/usr/bin/svnserve -d -r /opt/svn>> /etc/rc.local)
此时SVN服务器配置完成,访问地址为:svn://IP/lehuo
仓库中没有任何文件信息,版本号为0
CentOS 7.2 x64 配置SVN服务器的更多相关文章
- CentOS 7下搭建配置SVN服务器
		
CentOS 7下搭建配置SVN服务器 1. 安装 CentOS通过yum安装subversion. $ sudo yum install subversion subversion安装在/bin目录 ...
 - Centos apache  + mysql + usvn 配置svn 服务器
		
1.遇到问题 提交异常:'svn/!svn/me'path not found http://www.myexception.cn/cvs-svn/1262826.html 更改http.conf 配 ...
 - CentOS 7下搭建配置 SVN 服务器
		
原文链接:https://www.cnblogs.com/tdalcn/p/6937714.html 同步:http://blog.csdn.net/u011884440/article/detail ...
 - 阿里云服务器centos下安装配置svn服务器
		
阿里云服务器centos下安装配置svn服务器 1.安装svn服务器端yum install subversion 从镜像下载安装svn服务器端中间会提示是否ok,输入y,确认安装成功提 ...
 - CentOS 6.6安装配置LAMP服务器(Apache+PHP5+MySQL)
		
准备篇: CentOS 6.6系统安装配置图解教程 http://www.osyunwei.com/archives/8398.html 1.配置防火墙,开启80端口.3306端口 vi /etc/s ...
 - CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL)
		
CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL) 一.准备篇: /etc/init.d/iptables stop #关闭防火墙 关闭SELINUX vi /etc/sel ...
 - CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
		
这篇文章主要介绍了CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)的方法,需要的朋友可以参考下 文章写的不错,很详细:IDO转载自网络: 准备篇: 1.配置防火墙,开启 ...
 - CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)
		
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...
 - 如何配置svn服务器
		
如果你已经安装好了VisualServer服务器,现在让我们一起来配置svn服务器吧. 工具/原料 VisualServer 配置VisualServer 找到VisualServer Manager ...
 
随机推荐
- 动态配置 JBOSS ( eap 6.2 ) 数据源
			
操作环境 windows + jboss eap 6.2 + MyEclipse 10.0 项目用的是jboss eap 6.2,作为Red公司升级后的eap稳定版. 相比之前的 AS 系列,不管是安 ...
 - MDA模型定义及扩展
			
Tiny框架中.对模型本向没有不论什么强制性约束,也就是说你能够把不论什么类型的对象作为模型.也不必实现不论什么接口. 因此简单的说,你定义一个类.里面有一些描写叙述业务属性或处理的内容,就能够说它是 ...
 - POJ 2891 Strange Way to Express Integers 中国剩余定理解法
			
一种不断迭代,求新的求余方程的方法运用中国剩余定理. 总的来说,假设对方程操作.和这个定理的数学思想运用的不多的话.是非常困难的. 參照了这个博客的程序写的: http://scturtle.is-p ...
 - 操作系统: 二级文件夹文件系统的实现(c/c++语言)
			
操作系统的一个课程设计,实现一个二级文件夹文件系统. 用disk.txt模拟磁盘,使用Help查看支持的命令及其操作方式,root为超级用户(写在disk.txt中) 文件的逻辑结构:流式文件. 物理 ...
 - luogu4218 [JSOI2008] 最小生成树计数
			
题目大意 求一个加权无向图的最小生成树的个数.1<=n<=100; 1<=m<=1000,具有相同权值的边不会超过10条. 题解 命题1 由构成最小生成树的边的边权从小到大排序 ...
 - C#实现对数据库的备份还原(完全)
			
C#实现对数据库的备份还原 ( 用SQL语句实现对数据库备份还原操作 备份SqlServer数据库: backup database 数据库名 to disk (备份文件存放路径+文件名).bak 还 ...
 - Codeforces--630E--A rectangle(规律)
			
 E - A rectangle Crawling in process... Crawling failed Time Limit:500MS Memory Limit:65536KB ...
 - [POJ 3565] Ant
			
[题目链接] http://poj.org/problem?id=3565 [算法] KM算法求最小匹配 [代码] #include <algorithm> #include <bi ...
 - Jenkins自动化部署.netcore程序
			
一.安装jenkins 百度一下 二.构建前的准备 搭建好.net core2.0的环境,下载:https://aka.ms/dotnetcore-2-windowshosting (,net co ...
 - netty 引用计数对象(reference counted objects)
			
[Netty官方文档翻译]引用计数对象(reference counted objects) http://damacheng009.iteye.com/blog/2013657