今天讲的内容:

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

每天: 10:00

晚上:21:00

服务端:xuegod63.cn   IP:192.168.10.63

服务概述:

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 软件包

运行机制:

 

实战:RHEL6 上安装配置 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指定根目录是/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两个动态库有没有安装成功。

查看:

[root@xuegod63 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

 

配置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

 

第二次添加用户是否需要加 -c 参数:  要1 : 不要:2

 

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

New password: 123456

Re-type new password:123456 

Adding password for user tree

 

查看用户名和密码:

[root@xuegod63 ~]# cat /home/svn/passwd

cd:sjplr6rMtpN3E

tube:gZEcmDnMwFsMc

注:tube和cd两个用户的明文密码都一样,但是加完密码以后是不一样。

 

加密时:  (密码+用户名 ) md5  -》  ll7IH3i5G0JfU

 

第四步,建立本地项目版本库,权限控制文件。

达到以下目标:

用户     仓库                  权限

tube    xuegod.cn,svn2     rw

cd       xuegod.cn            rw

 

[root@xuegod63 ~]# vim /home/svn/auth   #写入以下内容

[/]         

tube = rw    

[xuegod.cn:/]

cd = rw

 

解释:

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

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

[xuegod.cn:/]        #这表示,仓库xuegod.cn的根目录下的访问权限

cd= rw        # cd用户对xuegod.cn仓库具有读和写权限

 

给目录权限

[root@xuegod63 conf.d]# chmod  777  /var/repos/ -R

 

[root@xuegod63 ~]# service httpd restart

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

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

 

SVN客户端使用说明

subversion windows客户端TortoiseSVN配置:

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

 

 

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

 

新一个文件夹:www.xuegod.cn

取出版本为0的源代码:

 

 

上传代码:

随意保存一个网页,把网页源代码复制到目录www.xuegod.cn中,然后提交第一个网站代码:

 

 

在Linux下测试客户端:

[root@xuegod64 ~]# svn checkout http://192.168.10.63/svn/xuegod.cn xuegod.cn

认证领域: <http://192.168.10.63:80>  SVN server of xuegod!

“root”的密码:

认证领域: <http://192.168.10.63:80>  SVN server of xuegod!

用户名: tube

“tube”的密码:

 

-----------------------------------------------------------------------

注意!  你的密码,对于认证域:

 

   <http://192.168.10.63:80>  SVN server of xuegod!

 

只能明文保存在磁盘上!  如果可能的话,请考虑配置你的系统,让 Subversion

可以保存加密后的密码。请参阅文档以获得详细信息。

 

你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,

来避免再次出现此警告。

-----------------------------------------------------------------------

保存未加密的密码(yes/no)?no

A    xuegod.cn/salt主机地址密码.txt

A    xuegod.cn/新建虚机需知.txt

取出版本 1。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实战:使用SVN+apache搭建一个版本控制服务器的更多相关文章

  1. Mac下用apache搭建一个局域网服务器

    一:由于MacOX系统下自带Apache环境,所以我们在Mac系统下用Apache配置. Mac系统:10.14.4 二:启动Apache 启动 在终端输入:sudo apachectl start验 ...

  2. Linux中搭建一个ftp服务器详解

    来源:Linux社区  作者:luzhi1024 详解Linux中搭建一个ftp服务器. ftp工作是会启动两个通道:控制通道 , 数据通道在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种 ...

  3. Apache搭建http网站服务器入门教程

    Apache搭建http网站服务器入门教程 准备工具 一台带有Linux系统的主机,这里使用CentOS 7.1 64位系统 一个备案过的域名,这里使用www.hellopage.cn 一台可以访问网 ...

  4. 在Linux中搭建一个FTP服务器

    在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...

  5. 【netty】(2)---搭建一个简单服务器

    netty(2)---搭建一个简单服务器 说明:本篇博客是基于学习慕课网有关视频教学.效果:当用户访问:localhost:8088 后 服务器返回 "hello netty"; ...

  6. 如何搭建一个WEB服务器项目(二)—— 对数据库表进行基本的增删改查操作

    使用HibernateTemplate进行增删改查操作 观前提示:本系列文章有关服务器以及后端程序这些概念,我写的全是自己的理解,并不一定正确,希望不要误人子弟.欢迎各位大佬来评论区提出问题或者是指出 ...

  7. CentOS 7 使用SVN+Apache搭建版本控制服务器

    svn简介 Subversion是一个免费/开源的版本控制系统, Subversion 可以跨越时间地对文件和目录, 以及它们的修改进行管理. 这就允许你恢复 数据的旧版本, 或检查数据的修改历史. ...

  8. svn+apache搭建版本控制服务器

    Centos7(linux)搭建版本控制服务器(svn+apache) 1.简介: 版本控制服务器: 版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所 ...

  9. 27、通过visual s'tudio 验证 SOCKET编程:搭建一个TCP服务器

    本文就是在windows下进行socket编程,搭建一个TCP客户端. 在visual studio下编程,首先在windows下进行初始化(这点在linux下是不需要的): /* 初始化 Winso ...

随机推荐

  1. 【第十一课】Tomcat原理解析【转】

    目录 一.Tomcat顶层架构 二.Tomcat顶层架构小结: 三.Connector和Container的微妙关系 四.Connector架构分析 五.Container架构分析 六.Contain ...

  2. Linux 学习日记 2 (常用命令 + deb包的安装)

    常用命令:以下是一些比较常用的命令,主要是关于安装软件的一些命令 @_@ cd ~/下载(文件名)/ //进入这个文件夹 , ~指的是根目录 cd .. //返回上一级文件夹 sudo apt-get ...

  3. JAVA eclipse Maven项目红叹号解决方案

    我是通过 Windows --> show view --> problems 查看到发现 ch.qos.logback 1.1.1 出现了错误, 于是我换成了 ch.qos.logbac ...

  4. SSIS 包配置

    在商业智能解决方案中,SSIS工程有两种部署模式:工程部署(project deployment)和包部署(package deployment),默认是工程部署模式,在Package的管理上,工程部 ...

  5. mui框架(一)

    1.界面初始化 初始化就是把一切程序设为默认状态,把没准备的准备好. mui框架将很多功能配置都集中在mui.init方法中,要使用某项功能,只需要在mui.init方法中完成对应参数配置即可,目前支 ...

  6. PAT甲题题解-1037. Magic Coupon (25)-贪心,水

    题目说了那么多,就是给你两个序列,分别选取元素进行一对一相乘,求得到的最大乘积. 将两个序列的正和负数分开,排个序,然后分别将正1和正2前面的相乘,负1和负2前面的相乘,累加和即可. #include ...

  7. Redis学习笔记之单机实现

    1.数据库 Redis的所有数据库都保存在redisServer.db数组中,数据库主要是由两个字典组成:dict字典,负责保存键值对:expires,负责保存键的过期时间 Redis使用惰性删除和定 ...

  8. web框架-Struts开始

    问题: 为什么有structs 作为一种框架(frameset)可以与传统的mvc进行比较? MVC是一种模式数据处理.显示和数据输入分开,来规范开发,但是却又并不规范.可以这样想:有三家公司,他们对 ...

  9. 四则运算安卓版ver.mk2

    做了一点微小的变动....非常微小...不过美观点了就是...那就是----加背景! 变更后的部分代码: <LinearLayout xmlns:android="http://sch ...

  10. 作业C#程序分析

    阅读下面程序,请回答如下问题: 问题1:这个程序要找的是符合什么条件的数? 问题2:这样的数存在么?符合这一条件的最小的数是什么? 问题3:在电脑上运行这一程序,你估计多长时间才能输出第一个结果?时间 ...