CENTOS7使用SVN+apache搭建一个版本控制服务器

本文介绍了如何在CentOS7上利用SVN和Apache搭建版本控制服务器。内容涉及版本控制的重要性,SVN作为CVS的替代者,以及SVN的两种运行模式。实战部分详细讲解了配置Apache+SVN的步骤,包括创建配置文件、设置用户和密码,以及权限管理文件。同时,还提及了Windows客户端TortoiseSVN的配置。
摘要由CSDN通过智能技术生成

服务概述:

版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。

 

SVN(subversion)是版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。作为一个运维人员安装和配置SVN服务器和客户端是必须要掌握的内容。

版本控制:

常见版本控制软件:

Cvs  由于之前CVS编码的问题,现在大多数软件开发公司都使用SVN替代了CVS

Svn  集中式版本控制器

git  分布式版本控制器

 

SVN服务器运行模式:

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

模式2: svn 服务器+ apache   : 80 端口 访问: http://IP

 

 

实战:搭建svn 服务器+apache 实现版本控制服务器

 

安装: svn服务器,apache, mod_dav_svn 软件包

运行机制:




实战:CENTOS7 上安装配置 svn server+apache
#安装svn服务器和 apache服务器,  mod_dav_svn模块 
# yum install subversion  httpd  mod_dav_svn  -y
mod_dav_svn模块 : apache http 服务器的插件,可以让版本库通过http协议,在网站上展现。


创建版本库目录,并修改相应权限。
[root@xuegod63 ~]# mkdir /var/repos


创建两个项目仓库。 xuegod.cn和svn2
[root@xuegod63 ~]# svnadmin create /var/repos/xuegod.cn
[root@xuegod63 ~]# svnadmin create /var/repos/svn2
[root@xuegod63 ~]# ls /var/repos/xuegod.cn
conf  db  format  hooks  locks  README.txt


[root@xuegod63 conf]#ls /var/repos/xuegod.cn/conf
authz  passwd  svnserve.conf
#注:用户权限配置我们使用apache的,这里暂时不用svn自带


启动:SVN服务器
[svn@xuegod63 conf]# svnserve -d -r /var/repos/
  -d表示以daemon方式(后台运行)运行
-r  /var/repos指定svn根目录是/var/repos


[svn@xuegod63 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/
[svn@xuegod63 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部分
第一步,查看apache支持subversion两个动态库有没有安装成功。
find / -name mod_dav_svn.so
/usr/lib64/httpd/modules/mod_dav_svn.so
find / -name mod_authz_svn.so
/usr/lib64/httpd/modules/mod_authz_svn.so


配置apache通过mod_dav_svn模块访问SVN服务器
[root@xuegod63 ~]# 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>
注释:
<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>


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


[root@xuegod63 ~]# mkdir /home/svn
[root@xuegod63 ~]# htpasswd -c /home/svn/passwd  tube   
# -c create, 创建/home/svn/passwd文件。会提示你输入密码,默认是MD5加密
New password: 123456
Re-type new password: 
Adding password for user tube


[root@xuegod63 ~]# htpasswd  /home/svn/passwd  cd   #后期再创建时,就不需要加-c参数,否则,会把之前添加到/home/svn/passwd中信息,全部覆盖。
New password: 123456
Re-type new password:123456 
Adding password for user cd


查看用户名和密码:
[root@xuegod63 ~]# cat /home/svn/passwd 
cd:sjplr6rMtpN3E
tube:gZEcmDnMwFsMc




第四步,建立本地项目版本库,权限控制文件。
达到以下目标: 
用户     仓库                  权限
tube     xuegod.cn,svn2     rw
cd       xuegod.cn            rw


[root@xuegod63 ~]# vim /home/svn/auth   #写入以下内容
[/]         
tube = rw    
[xuegod.cn:/]
cd = rw


解释:
[/]          #  这个表示在所有仓库的根目录下
tube = rw    #  表示tube用户对所有仓库根目录下的软件版本库有rw权限
[xuegod.cn:/]        #这表示,仓库xuegod.cn的根目录下的访问权限
cd= rw        # cd用户对xuegod.cn仓库具有读和写权限


给目录权限chown -R apache:apache /var/repos/
[root@xuegod63 ~]# systemctl start httpd.service

svn的访问地址是:       http://192.168.10.63/svn/xuegod.cn



总结:配置apache+svn

1、创建配置文件:vim/etc/httpd/conf.d/subversion.conf  让apache可以支持svn

2、创建SVN用户和密码文件: /home/svn/passwd       htpasswd

3、创建SVN权限管理文件:/home/svn/auth

 

 

SVN客户端使用说明

subversion windows客户端TortoiseSVN配置:

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



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值