zoukankan      html  css  js  c++  java
  • svn+apache搭建版本控制服务器

    Centos7(linux)搭建版本控制服务器(svn+apache)

    1.简介:
    版本控制服务器:
    版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。
    SVN:
    SVN(subversion)是版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
    作为运维人员来说,安装和配置SVN服务器和客户端是必须要掌握的内容。
    常见的版本控制:
    Cvs:由于之前cvs编码的问题,现在大多数软件开发公司都使用SVN替代了cvs
    Svn:集中式版本控制器
    Git:分布式版本控制器
    2.SVN服务器运行模式:
    模式1:SVN服务器单独运行,监听端口:3690,访问方式:SVN : //ip
    模式2:SVN服务器+Apache,监听端口:80,访问方式:http : //ip
    3.安装:
    安装SVN和Apache服务器,mod_dav_svn模块
    Mod_dav_svn模块:apache http服务器的插件,可以让版本库通过http协议,在网站上展现
    Yum install -y subversion httpd mod_dav_svn

    创建版本库:mkdir /var/repos
    项目仓库:svnadmin create /var/repos/mingdeng3000 (仓库名随便取)
    svnadmin create /var/repos/nike (创建仓库 mingdeng3000 和 nike)

    svn自带用户权限配置文件:在/var/repos/mingdeng3000/conf下的 authz , passwd , svnserve.conf文件
    (由于我们用apache的,所以暂时不用svn自带)
    4.启动SVN:
    svnserve -d -r /var/repos/ (-d,指定svn后台运行;-r,指定svn的根目录或版本库)
    查看是否启动:Ps aux | grep svn; netstat -atnpu | grep 3690;

    5.查看Apache支持subversion的两个动态库有没有安装成功。
    一般默认在/usr/lib64/httpd/modules下,有没有mod_dav_svn.so和mod_authz_svn.so模块
    6.配置Apache通过mod_dav_svn模块访问到svn服务器。
    编辑:Vim /etc/httpd/conf.d/subversion.conf(手写,默认7不存在,6存在此文件)(让apache支持svn)
    写入的内容:
    <Location /svn> #####注释####apache的虚拟目录,后面通过http://192.68.27.101/svn来访问mingdeng3000这个仓库
    DAV svn
    SVNParentPath /var/repos ###注释####存放我这mingdeng3000这个库的根目录
    AuthType Basic
    AuthName "SVN server of mingdeng3000! ###注释###apache认证时弹出的消息
    AuthUserFile /home/svn/passwd #####注释####passwd文件存储用户名和密码
    AuthzSVNAccessFile /home/svn/auth###注释###存放用户的权限
    Require valid-user
    </Location>

    7.建立本地访问控制文件/home/svn/passwd,后期通过httpd服务器访问svn时,会使用这个文件中的用户信息验证用户和密码
    mkdir /home/svn
    htpasswd -c /home/svn/passwd mingdeng,用户:mingdeng密码123.123
    htpasswd /home/svn/passwd john ,用户nike,密码321.321
    8.创建用户权限管理文件:
    vim /home/svn/auth
    [/] #####注释####项目仓库根目录下,有2个仓库,mingdeng都有读写权限
    mingdeng=rw
    [nike:/] ########注释#####nike仓库目录下,用户john只对nike有读写权限
    john=rw

    修改版本库权限
    Chown -R apache:apache /var/repos或者 chmod 777 /var/repos
    9.启动apache:
    systemctl start httpd.service
    10.访问svn:
    浏览器:http://ip/svn/仓库名
    输入账号密码就行
    第一次访问会显示版本0,因为没文件

    11.下载并安装svn的Windows客户端:
    http://tortoisesvn.net/about.zh.html 操作系统多少位就下载多少位的,安装完后,一定要重启电脑(先关闭虚拟机)
    安装好后,新建一个文件夹svnclient,里面鼠标右键点击svn checkout,自动同步服务器svn

    12.验证svn:

    Windows客户端:拷贝几个文件到新建文件夹svn,没上传时文件上有“?”号标识符,右键点击svn commit上传文件到想去的库。
    上传后黑色?就变成绿色对勾了。版本从0变为1了。
    Linux客户端: svn checkout http://192.168.80.240/svn/mingdeng3000/
    先输入当前Linux登录密码(我这是root),再输入svn账号密码。
    登录完后,会自动下载仓库的文件,保存到当前路径下自动生成mingdeng3000/文件夹里(仓库nike同理)

  • 相关阅读:
    链式队列(先进先出)
    单链表的基本操作
    线性表的基本操作
    面向对象分析与设计
    结构化分析与设计
    图片
    2021-ACM-ICPC-济南站 K Search For Mafuyu 【树的遍历与回溯,dfs, 邻接表】
    Codeforces Round #754 (Div. 2), problem: (A) A.M. Deviation泪目 万万没想到狂wa是因为这
    Codeforces Round #704 (Div. 2), problem: (C) Maximum width还是要多学习
    Educational Codeforces Round 116 (Rated for Div. 2), problem: (C) Banknotes
  • 原文地址:https://www.cnblogs.com/mingdeng3000/p/12005702.html
Copyright © 2011-2022 走看看