实验环境:
服务端: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
#看到下面配置文件中两个模块相关信息,说明安装成功。
(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"
如果弹出这个错误
查Apache的错误日志
[root@h1 ~]# vim /var/log/httpd/error_log
解决方法1:关闭SELlinux
解决方法2:
[root@h1 ~]# setsebool -P httpd_unified 1
第一次写Blog,请大家见谅!!谢谢!!