CentOS下搭建SVN Server

1. 介绍

这里想在CentOS上搭建的是基于http访问的SVN Server

2. 软件准备

安装相关软件

 yum install httpd httpd-devel mod_dav_svn subversion mod_ssl 

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

其中, mod_dav_svn是apache服务器访问svn的一个模块

安装完成后可以通过如下命令查看是否安装成功

httpd -versionsvnserve –versionls /etc/httpd/modules/ | grep svn              ----->  mod_authz_svn.so mod_dav_svn.so

3. 建立SVN Server仓库

通过如下命令建立svn仓库

mkdir /var/www/svnsvnadmin create /var/www/svn/workspacels /var/www/svn/workspace           --->  conf  db  format  hooks  locks  README.txtchown -R apache.apache /var/www/svn

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

4. 配置SVN Server

创建用户文件passwd, 并建立用户admin和guest

touch /var/www/svn/passwdhtpasswd /var/www/svn/passwd adminhtpasswd /var/www/svn/passwd guest

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

创建权限文件authz

cp /var/www/svn/workspace/conf/authz /var/www/svn/authz

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

修改/var/www/svn/authz, 使其包含如下内容

[/]admin = rwguest = r

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

5. 配置httpd

创建文件/etc/httpd/conf.d/subversion.conf, 内容如下

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /svn>
    DAV svn
    SVNPath /var/www/svn
    SVNListParentPath on
      AuthType Basic
      AuthName "Authorization SVN"
      AuthUserFile /var/www/svn/passwd
      AuthzSVNAccessFile /var/www/svn/authz
      Require valid-user
</Location>

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

6. 启动服务

如果开启了防火墙, 需要开启httpd访问权限

firewall-cmd --permanent --add-service=httpfirewall-cmd --permanent --add-service=httpsfirewall-cmd --reload

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

通过查看文件/usr/lib/systemd/system/svnserve.service, 了解到svnserver的配置文件是/etc/sysconfig/svnserve
修改/etc/sysconfig/svnserve

OPTIONS="-r /var/svn"     ======>        OPTIONS="-r /var/www/svn"

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

通过如下命令来启用服务

systemctl start svnserve.servicesystemctl start httpd.service

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

如下命令使其开机自启动

systemctl enable svnserve.servicesystemctl enable httpd.service

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

7. 其他配置

前面建立的SVN在访问时首先要httpd验证, 然后又是svn验证, 本人期望的是http进行ip过滤, svn则需要用户密码验证

参考
<CentOS6.5搭建apache+SVN环境>
<CentOS7:搭建SVN + Apache 服务器>
<Install SVN Server on Fedora 23/22, CentOS/RHEL 7.2/6.7/5.11>

时间: 2024-09-29 01:24:19

CentOS下搭建SVN Server的相关文章

(总结)CentOS Linux搭建SVN Server配置详解

PS:今天给开发的同事搭建一个公网的SVN Server,google一下,发现下面这篇最详细,就记录下来,重新排版一下.顺便根据自己的使用经验,补充了几个细节和总结.本文配置是基于CentOS 5.x的,但一样适用于其他Linux发行版! SVN简介和工作原理 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和windows,但较多安装在linux下. svn服务器有两种运行

如何使用CentOS Linux搭建SVN Server

之前给开发的同事搭建一个公网的SVN Server,google一下,发现下面这篇最详细,就记录下来,重新排版一下 顺便根据自己的使用经验,补充了几个细节和总结.本文配置是基于CentOS 5.x的,但一样适用于其他Linux发行版! subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人 目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和windows,但较多安装在linux下 svn服务器有两种运行方式:独立服务器和借助于apa

CentOS Linux搭建SVN Server配置详解

SVN简介和工作原理 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和windows,但较多安装在linux下. svn服务器有两种运行方式:独立服务器和借助于apache. svn://或http://svn客户端tortoisesvnsvn的基本工作原理: 在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序.有源代码库管理员统一管理这些源程序.每个用户在使用

Centos 下搭建SVN + Apache 服务器

摘要: 搭建SVN + Apache 服务器 安装软件包 # yum install httpd # yum install mod_dav_svn # yum install subversion 2.  验证安装  # httpd -version 结果显示: 前往 /etc/httpd/modules/ 下,检查是否包含mod_dav_svn.so和mod_authz_svn.so,如果有,mod_dav_svn安装成功. # svnserve --version 结果显示: 安装svn

CENTOS下搭建SVN服务器(转)

1.安装svn yum install -y subversion 2.验证安装是否成功 svnserve --version 3.创建svn版本库 mkdir svn svnadmin create svn/repo 注:repo是版本库名称 4.配置svn 创建版本库后,在这个版本库的conf目录下会生成3个配置文件: [[email protected] conf]# pwd /root/svn/repo/conf [[email protected] conf]# ls authz pa

Centos 下搭建SVN + Apache 服务器(转载)

安装软件包 ? 1 # yum install httpd ? 1 # yum install mod_dav_svn ? 1 # yum install subversion 2.  验证安装 ? 1  # httpd -version 结果显示: 前往 /etc/httpd/modules/ 下,检查是否包含mod_dav_svn.so和mod_authz_svn.so,如果有,mod_dav_svn安装成功. ? 1 # svnserve --version 结果显示: 安装svn 成功.

centos下搭建svn服务器

1. 安装Apache :yum install httpd 2. 安装SVN :yum install mod_dav_svn subversion 3. 配置SVN :vim /etc/httpd/conf.d/subversion.conf<Location /svn> DAV svn SVNParentPath /home/svn/repo AuthType Basic AuthName "Restricted Access" #File will be creat

CentOS下搭建LAMP环境详解

前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS 6.5,32位. CentOS安装 我选取了32位的CentOS 6.5这个Linux系统,安装过程也很简单,不再过多叙述,只稍微介绍一下我的分区情况: 分区名  大小 /boot  200MB /swap  2GB(不大于物理分区即可) /  20GB /home 剩余空间 Apache编译安装

Linux 搭建SVN server

一. SVN 简单介绍 Subversion(SVN) 是一个开源的版本号控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中. 这个档案库非常像一个普通的文件server, 只是它会记住每一次文件的变动. 这样你就能够把档案恢复到旧的版本号, 或是浏览文件的变动历史. SVN中的一些概念 : (1). repository(源码库) 源码统一存放的地方 (2). Checkout (提取) 当你手上没有源码的时候,