SVN服务器运行模式:
模式1:svn服务器单独运行 监听: 3690端口 访问: svn://IP
模式2: svn 服务器+ apache : 80 端口 访问: http://IP 今天要讲的
腾讯&学神IT-讲师-cd老 2017/5/1 20:55:12
搭建svn 服务器+ apache 实现版本控制服务器
腾讯&学神IT-讲师-cd老 2017/5/1 20:55:22
安装: svn服务器,apache, mod_dav_svn 软件包
运行机制:
腾讯&学神IT-讲师-cd老 2017/5/1 20:55:46
20:56:11
腾讯&学神IT-讲师-cd老 2017/5/1 20:56:11
mod_dav_svn模块 : apache http 服务器的插件,可以让版本库通过http协议,在网站上展现
腾讯&学神IT-讲师-cd老 2017/5/1 20:57:11
创建版本库目录,并修改相应权限。
[[email protected] ~]# mkdir /var/repos
20:59:37
腾讯&学神IT-讲师-cd老 2017/5/1 20:59:37
创建两个项目仓库。 xuegod.cn和svn2
[[email protected] ~]# svnadmin create /var/repos/xuegod.cn
[[email protected] ~]# svnadmin create /var/repos/svn2
[[email protected] ~]# ls /var/repos/xuegod.cn
conf db format hooks locks README.txt
21:01:44
腾讯&学神IT-讲师-cd老 2017/5/1 21:01:44
启动:SVN服务器
[[email protected] conf]# svnserve -d -r /var/repos/
-d表示以daemon方式(后台运行)运行
-r /var/repos指定svn根目录是/var/repos
21:04:01
腾讯&学神IT-讲师-cd老 2017/5/1 21:04:01
[[email protected] conf]# ps -axu | grep svn
Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ
root 6982 0.0 0.0 161476 1924 pts/2 S 18:09 0:00 su - svn
svn 6983 0.0 0.0 108392 1864 pts/2 S 18:09 0:00 -bash
svn 7262 0.0 0.0 182760 1056 ? Ss 18:26 0:00 svnserve -d -r /var/repos/
腾讯&学神IT-讲师-cd老 2017/5/1 21:04:06
[[email protected] conf]# netstat -antup | grep 3690
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 7262/svnserve
总结:svn服务器搭建
1、安装: yum install subversion httpd mod_dav_svn
2、创建仓库存储代码: svnadmin create /var/repos/xuegod.cn
3、启动svn服务器:svnserve -d -r /var/repos/
APACHE部分
腾讯&学神IT-讲师-cd老 2017/5/1 21:06:42
第一步,查看apache支持subversion两个动态库有没有安装成功。
腾讯&学神IT-讲师-cd老 2017/5/1 21:07:51
查看:
[[email protected] conf]# vim /etc/httpd/conf.d/subversion.conf #看到下面配置文件中两个模块相关信息,说明安装成功。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
腾讯&学神IT-讲师-cd老 2017/5/1 21:08:00
配置apache通过mod_dav_svn模块访问SVN服务器
[[email protected] ~]# vim /etc/httpd/conf.d/subversion.conf
添加到最后:
<Location /svn>
DAV svn
SVNParentPath /var/repos
AuthType Basic
AuthName " SVN server of xuegod!"
AuthUserFile /home/svn/passwd
AuthzSVNAccessFile /home/svn/auth
Require valid-user
</Location>
21:10:07
腾讯&学神IT-讲师-cd老 2017/5/1 21:10:07
注释:
<Location /svn> #apache的虚拟目录。后期通过链接:http://192.168.1.63/svn 来访问两个仓库:xuegod和svn2
DAV svn
SVNParentPath /var/repos #存放两个仓库:xuegod和svn2的真实目录
AuthType Basic
AuthName " SVN server of xuegod!" #apache认证时弹出的消息
AuthUserFile /home/svn/passwd # passwd存储用户名和密码
AuthzSVNAccessFile /home/svn/auth #存放用户的权限
Require valid-user
</Location>