Centos6.4下搭建svn+apache

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。

集中式管理的工作流程如下图:

集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。下面举例说明:

开始新一天的工作:

技术分享

1、从服务器下载项目组最新代码。

2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。

3、下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。

这就是经典的svn工作流程,从流程上看,有不少缺点,但也有优点。

这里我讲的是SVN跟apache搭配:

  1. 安装软件;

    #yum install httpd httpd-devel mod_dav_svn subversion mod_ssl

技术分享

  1. 测试svn是否正确安装;

    技术分享

  2. 配置apache;

    技术分享

    对subversion.conf进行配置,由于篇幅问题,把注释信息删了。

    技术分享

    很多文件这不知道怎么填,就按照上图的实例,先对着写,下面我会指明为什么这么写:

    查看apache的用户:

    技术分享

    注意端口: Listen 80 (若80被占用可以更改成其他端口,如8090)

    User apache

    Group apache

    这是运行Apache的用户和组,都是apache。

    [root@node httpd]# id apache

    uid=48(apache) gid=48(apache) groups=48(apache)

    开始创建SVN目录:

    根据下图,也就是我们刚才配置的subversion.conf文件创建

    技术分享

技术分享

添加用户和密码:

技术分享

配置权限:

技术分享

启动SVN:

十分抱歉前面subversion.conf有一部分写错了:

技术分享

技术分享

Httpd启动比较慢,他在加载模块

[ OK ]

[root@node ~]# vim /etc/httpd/conf.d/subversion.conf

[root@node ~]# chown -R apache.apache /alidata1/svn #修改svn目录的属主属组为apache

[root@node ~]# chmod -R 700 /alidata1/svn #修改权限让其他人不可读

[root@node ~]# svnserve -d -r /alidata1/svn/data #启动SVN,指定svn目录,并在后台运行

[root@node ~]# service iptables stop #iptables和selinux关闭,selinux 要SELINUX=disabled

[root@node ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of these two values:

# targeted - Targeted processes are protected,

# mls - Multi Level Security protection.

SELINUXTYPE=targeted

SVN:

在浏览器输入:ip:port/svn即可见到弹框:

技术分享

剩下的需要

技术分享

这个软件来进行完成,在这就不描述了。

注意:SVN最容易出错的地方就在,权限文件配置上,USER名字定格写,不能有空白行,等号两边要有一个空格。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。