实验环境:

服务端:Centos 7     IP: 192.168.56.133

客户端:window7

服务概述:

SVN(subversion)是版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用SVN作为代码版本管理软件。常见的版本管理软件有CVS、SVN、Git。

SVN运行模式:

模式一:SVN服务器单独运行   监听:3690端口   访问:svn://IP

模式二:SVN服务+Apache     监听:80端口    访问:http://IP   本实验要实现的


一、安装SVN、Apache软件和中间组件

[root@h1 ~]# yum -y install subversion httpd mod_dav_svn

mod_dav_svn模块 : apache http 服务器的插件,可以让版本库通过http协议,在网站上展现。

查看是否安装成功

[root@h1 ~]# svn --version


二、创建版本库目录和项目仓库目录

[root@h1 ~]# mkdir /var/www/repos                                     //创建版本库目录

[root@h1 ~]# svnadmin create /var/www/repos/test            //项目仓库目录

#注:用户权限配置我们使用apache的,这里暂时不用svn自带

启动SVN服务:

[root@h1 ~]# svnserve -d -r /var/www/repos/

-d表示以daemon方式(后台运行)运行

-r  /var/www/repos指定svn根目录是/var/www/repos

三、配置Apache服务

(1)查看apache支持subversion两个动态库有没有安装成功

[root@h1 ~]# vi /etc/httpd/conf.modules.d/10-subversion.conf

 #看到下面配置文件中两个模块相关信息,说明安装成功。

SVN+apache搭建一个版本控制服务器_服务器

(2)配置apache通过mod_dav_svn模块访问SVN服务器

[root@h1 ~]# vi /etc/httpd/subversion.cof

<Location /svn>                                            // Apache的虚拟目录

DAV svn

SVNParentPath /var/www/repos                               //存放项目的真实目录

AuthType Basic

AuthName "SVN server of test!"                               //认证是弹出的欢迎信息

AuthUserFile /var/www/svn/repos/passwd                         //存放用户名和密码

AuthzSVNAccessFile /var/www/repos/svn/authz                //存放用户权限

Require valid-user

</Location>

(3)建立本地访问控制文件/var/www/svn/passwd  后期通过httpd服务器访问svn时,会使用这个文件中的用户信息验证用户和密码。

[root@h1 ~]# mkdir /var/www/repos/svn

[root@h1 ~]# htpasswd -c /var/www/repos/svn/pass hq      //用户名可按需求修改

查看用户名和密码:

* 密码是加密的   (密码+用户名 ) md5

(4)建立用户权限文件 /var/www/svn/authz

[root@h1 ~]# vi /var/www/svn/authz

[/]             //这个表示在所有仓库的根目录下

hq=rw     //表示hq用户对所有仓库根目录下的软件版本库有rw权限

(5)给目录权限,设置防火墙

[root@h1 ~]# chmod -R 777 /var/www/repos/

[root@h1 ~]# firewall-cmd --permanent --add-service=http

[root@h1 ~]# firewall-cmd --reload

(6)启动Apache服务

[root@h1 ~]# systemctl enable httpd

[root@h1 ~]# systemctl restart httpd

四、访问测试

访问地址: http://192.168.56.133/svn/test


win7客户端

http://tortoisesvn.net/about.zh.html

注: 32位的软件只能安装在32位操作系统上。 我是64位,所以在安装在64上。

下载安装完成后,重启计算机

在电脑中建立一文件夹 鼠标右键点击“SVN CHeckout"

SVN+apache搭建一个版本控制服务器_管理软件_02

SVN+apache搭建一个版本控制服务器_管理工具_03

SVN+apache搭建一个版本控制服务器_服务端_04

SVN+apache搭建一个版本控制服务器_开源软件_05

SVN+apache搭建一个版本控制服务器_管理软件_06

如果弹出这个错误

SVN+apache搭建一个版本控制服务器_服务端_07

查Apache的错误日志

[root@h1 ~]# vim /var/log/httpd/error_log

SVN+apache搭建一个版本控制服务器_管理工具_08

解决方法1:关闭SELlinux

解决方法2:

[root@h1 ~]# setsebool -P httpd_unified 1

SVN+apache搭建一个版本控制服务器_服务器_09


第一次写Blog,请大家见谅!!谢谢!!