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

实验环境:

服务端: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软件和中间组件

[[email protected] ~]# yum -y install subversion httpd mod_dav_svn

mod_dav_svn模块 : apache http 服务器的插件,可以让版本库通过http协议,在网站上展现。

查看是否安装成功

[[email protected] ~]# svn --version

二、创建版本库目录和项目仓库目录

[[email protected] ~]# mkdir /var/www/repos                                     //创建版本库目录

[[email protected] ~]# svnadmin create /var/www/repos/test            //项目仓库目录

#注:用户权限配置我们使用apache的,这里暂时不用svn自带

启动SVN服务:

[[email protected] ~]# svnserve -d -r /var/www/repos/

-d表示以daemon方式(后台运行)运行

-r  /var/www/repos指定svn根目录是/var/www/repos

三、配置Apache服务

(1)查看apache支持subversion两个动态库有没有安装成功

[[email protected] ~]# vi /etc/httpd/conf.modules.d/10-subversion.conf

#看到下面配置文件中两个模块相关信息,说明安装成功。

(2)配置apache通过mod_dav_svn模块访问SVN服务器

[[email protected] ~]# 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时,会使用这个文件中的用户信息验证用户和密码。

[[email protected] ~]# mkdir /var/www/repos/svn

[[email protected] ~]# htpasswd -c /var/www/repos/svn/pass hq      //用户名可按需求修改

查看用户名和密码:

* 密码是加密的   (密码+用户名 ) md5

(4)建立用户权限文件 /var/www/svn/authz

[[email protected] ~]# vi /var/www/svn/authz

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

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

(5)给目录权限,设置防火墙

[[email protected] ~]# chmod -R 777 /var/www/repos/

[[email protected] ~]# firewall-cmd --permanent --add-service=http

[[email protected] ~]# firewall-cmd --reload

(6)启动Apache服务

[[email protected] ~]# systemctl enable httpd

[[email protected] ~]# systemctl restart httpd

四、访问测试

访问地址: http://192.168.56.133/svn/test

win7客户端

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

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

下载安装完成后,重启计算机

在电脑中建立一文件夹 鼠标右键点击“SVN CHeckout"

如果弹出这个错误

查Apache的错误日志

[[email protected] ~]# vim /var/log/httpd/error_log

解决方法1:关闭SELlinux

解决方法2:

[[email protected] ~]# setsebool -P httpd_unified 1

第一次写Blog,请大家见谅!!谢谢!!

时间: 2024-08-25 20:38:46

SVN+apache搭建一个版本控制服务器的相关文章

Linux下使用Apache搭建Web网站服务器

Linux下使用Apache搭建Web网站服务器 实验目标 apache服务器常见概念 apache服务器安装及相关配置文件 实战: 例1:为公司内网搭建一个web服务器 例2:取消apache默认欢迎页: 例3:使用rpm搭建lamp 环境 例4, 使用别名,引用网站根目录以外的路径. 例6:打开软链接功能. 通过软件链接直接引用网站根目录以外的内容 例5,当一个目录下没有默认首页时,访问http://192.168.1.63/phpmyadmin/禁止显示目录列表 例7:通过用户认证的方式,

使用Apache搭建Web网站服务器

  使用Apache搭建Web网站服务器 一:实验目标 apache服务器常见概念 apache服务器安装及相关配置文件 例1:为公司内网搭建一个web服务器 例2:使用rpm搭建lamp 环境 例3:修改网根目录及对应参数,设置访问权限 例4,:使用别名,引用网站根目录以外的路径. 例5:打开软链接功能. 通过软件链接直接引用网站根目录以外的内容 例6:当一个目录下没有默认首页时,访问http://192.168.1.63/phpmyadmin/禁止显示目录列表 例7:通过用户认证的方式,对网

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

来源:Linux社区  作者:luzhi1024 详解Linux中搭建一个ftp服务器. ftp工作是会启动两个通道:控制通道 , 数据通道在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)PORT模式:在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21)  发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ft

搭建一个git服务器

12 December 2018 by Rango 需求 搭建一个git服务器,没有github的存储空间限制,同时仓库是私有的. 设备 一台本地电脑(linux 系统) 一台服务器(linux 系统) 步骤 步骤主要根据以下链接整理: 搭建属于你自己的 Git 服务器 忽略特殊文件 搭建Git服务器 1.安装git到服务器上 $ sudo apt install git 2.创建一个git用户,用来运行服务器 $ sudo adduser git 2.创建证书登录 收集所有需要登录的用户的公钥

在Linux中搭建一个FTP服务器

在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/ftp/ftp2. 两个小组互相不能访问各自的文件,需要限制用户不能离开自己的工作目录. [实现步骤] 1.检查安装vsftpd服务器 以root进入终端后(其他账户进入终端的可以用su root 输入密码后进入root 模式)之后,在终端命令窗口输入以下命令进行验证:# rpm –qa | grep

Hello Node.js之搭建一个web服务器

Node.js简述 Nodejs 是JavaScript运行时,解释器是C/C++写的,基于ChromeV8引擎, 事件驱动,非阻塞I/O模型.本系列目前参考了Node.js官网,慕课网Scott的Node.js基础,<Node即学即用>图灵系列,以及可能的网上公开资源. Nodejs包管理器是npm 包就是别人写好的库. Nodejs提供了fs,http等内置对象,操作磁盘文件.搭建服务器. 特征:单线程.事件驱动.异步非阻塞I/O模型. Node.js安装 官网安装Node.js,自带np

使用Apache搭建一个个人的静态网址,网址里面的内容是:i like linux

使用Apache搭建一个个人的静态网址,网址里面的内容是:i like linux以下为主要内容:1.重启服务 网址内容写入 2.测试结果 3.修改配置文件 4.赋予权限5.测试结果 原文地址:http://blog.51cto.com/13963299/2173372

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

svn简介 Subversion是一个免费/开源的版本控制系统, Subversion 可以跨越时间地对文件和目录, 以及它们的修改进行管理. 这就允许你恢复 数据的旧版本, 或检查数据的修改历史. 由于这个特点, 很多人把版本控制系统 看成是一种 "时间机器". Svn的组件 svn 客户端命令行工具 svnversion 用于报告工作副本状态 (就项目的版本号而言) 的工具 svnlook可以直接检查仓库的工具 svnadmin 用于创建, 调整或修复 Subversion 仓库的

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

Centos7(linux)搭建版本控制服务器(svn+apache) 1.简介: 版本控制服务器: 版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新. SVN: SVN(subversion)是版本管理工具,是CVS的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件. 作为运维人员来说,安装和配置SVN服务器和客户端是必须要掌握的内容. 常见的版本控制: Cvs:由于之前cvs编码的问题,现在大多数软件开发