`
snoopy7713
  • 浏览: 1146905 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

http协议的svn服务器搭建(apache+subversion)

    博客分类:
  • SVN
阅读更多
之前在Ubuntu Server上安装过了SVN,这次试着在CentOS上装装看,不是都说CentOS是服务器里最稳定的版本吗
之前在装虚拟机时没有安装任何 服务器,全部的服务都从头开始
第一步:安装apache subversion
yum install httpd
yum install  httpd-devel       //用于开发Apache模块
yum install  subversion
yum install  mod_dav_svn   //Subversion与Apache之间的接口(通过它,Apache就可以访问版本库,可以让客户端也使用HTTP的扩展协议 WebDAV/DeltaV进行访问)
yum install  mod_auth_mysql   //这一项用于用户身份验证,在网上有资料说貌似这个mod_auth_mysql没得配置访问权限的只有用户设置,建议不装,用htpasswd就可以,在这里我没有装,我还是打算用htpasswd,可能下回会试试。
验证 svn模块(mod_dav_svn)是否正确安装
ls /etc/httpd/modules | grep svn
系统提示:
mod_authz_svn.so
mod_dav_svn.so
验证安装:
svn --version
显示如下表明正确安装
===========================================
svn,版本 1.4.2(r22196)
   编译于 Aug 10 2009,18:00:04

Copyright (C) 2000-2006 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet(http://www.Collab.Net/).

可使用以下的档案库存取 (RA) 模块:

* ra_dav : 通过WebDAV (DeltaV) 协议访问档案库的模块。
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : 使用svn网络协议访问档案库的模块。
  - handles 'svn' scheme
* ra_local : 访问本地磁盘的档案库模块。
  - handles 'file' scheme
============================================
第 二步:创建SVN库和项目
mkdir /home/svn          //创建SVN库
svnadmin create /home/svn/projcet         //创建项目
第三步:添加组及组员权限
groupadd subversion     //创建一个叫subversion的组为拥有仓库所在的目录
usermod -G subversion -a apache   //将自己和Apache 用户加入组成员中
查看:more /etc/group | grep subversion
系统提示:subversion:x:500:apache
第 四步:修改项目权限

chgrp -R subversion /home/svn/project
chmod -R 777 /home/svn/project

这里最好根据自己的安全需求配置相 应的权限,我这是试验环境所以直接给了777

第五步:配置httpd
编辑 httpd.conf
vim /etc/httpd/conf/httpd.conf
查看有没有LoadModuledav_svn_module modules/mod_dav_svn.so这一行,如果没有就添加上为了使客户端能够通过Apache来访问SVN档案库,Apache需要加载 mod_dav_svn模块。如果Apache是按照与预设目 录安装的,mod_dav_svn 模块应该会安装在 Apache 安装位置 (默认路径是 /etc/httpd/) 的 modules 子目录内。同时在Apache的配置文件httpd.conf(默认路径为etc/httpd/conf/)中已经使用 LoadModule指令加载了该模块(如果没有,手动添加)注意这个指令必须出现在其它的Subversion 相关指令之前。还要加载mod_authz_svn.so模块
例如:
LoadModule dav_svn_modulemodules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
一般来说apache2都己正常加载了这两个模块
启动httpd
/etc/init.d/httpd start
打开浏览器查看是否能看到apache的页 面(注意如果开了防火墙记得开放80端口)
第六步:配置SVN
编辑 subversion.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

<Location /svn>
DAV svn
SVNParentPath /home/svn
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for passwordprotection.
#      # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /home/svn/passwd
Require valid-user
#   </LimitExcept>
</Location>
第 七步:建立用户
# htpasswd -c /home/svn/passwdtest         //第一次添加用户使用参数“-c”以后再添加就不用了
系统提示:
Newpassword:                       //输入新密码
Re-type newpassword:         //确认密码
Adding password for user test
重启apache                                   
通过web页面访问,弹出用户登录验证,访问成功 (注意开放防火墙的3690端口)
2011/2/15 15:22
=========试 验过程中出现的问题记录==============
配置完httpd.con后重启apach过程中提示出错
/etc/init.d/httpd restart
系统提示:
启动 httpd:
[Mon Jan 31 18:45:03 2011] [warn]module dav_svn_module is already loaded, skipping
[Mon Jan 31 18:45:03 2011] [warn] module authz_svn_module is already loaded,skipping
[Mon Jan 31 18:45:03 2011] [warn] module dav_svn_module is already loaded,skipping
[Mon Jan 31 18:45:03 2011] [warn] module authz_svn_module is already loaded,skipping
了看样子不太 对,提示是模块己加载过,现在己是重复了,仔细查了一下,在/etc/httpd /conf.d/subversion.con内的确己包含了dav_svn_module和authz_svn_module这两个模块,我是重复加入 了删除……,但我在httpd.conf里确实没有看到这两个模块加载的语句,但提示说是己加载过,只好也删除,重启正常,回到目录里去查看,在etc/httpd/conf.d/module/下的确是存在这两个模块,但httpd.conf里也确实是没看到己加载的 语句,哪么到底在哪儿加载了呢?2011-02-21

打开web输入http://192.168.0.5/svn/projcet提示:
The requested URL /svn/project wasnot found on this server.
找不到服务,但apache的页面可以打开,应该是在/etc/httpd /conf.d/subversion.conf设置出错了,回头再查了一下发现错是出在“<Location /svn/projcet>”在这句里不应是指到项目,而是指到文件仓库就行了,应该是“<Location /svn>”

打开web输入http://192.168.0.5/svn/projcet弹出了验证窗口,输入后没进入提示:
Forbidden
You don't have permission to access /svn/project on this server.
应该是用户访问文件仓库的权限问题,还是解决一下权限的问题吧
主要 原因是:/home/svn/project目录对于svn用户(如:svnroot)没有权限,可能是因为用svnadmin create时是以root运行的,所以,mod_dav_svn就没有相应权限等
修改了svn的权限:
chown -R test /home/svn/project
chgrp -R subversion /home/svn/project
chmod -R 777 /home/svn/project
再打开web,输入网址后直接进入了项目目录,很郁闷,直接就进入了,验证跑哪儿去 了?2011-02-23 13:38
重启httpd后再进入,验证窗口弹出来了,也正确进入了。2011-02-2313:43

打开web浏览器,输入用户名和密码,但总是要求验证,三次过后提示:
This server could not verify thatyou are authorized to access the document requested. Either you supplied thewrong credentials (e.g., bad password), or your browser doesn't understand howto supply the credentials required.
权限?密码错误?不可能是密码错误,再试试吧,新建用户后,再试的结果一样,肯定是权限的问题了今天烦了先告一段落吧  
分享到:
评论

相关推荐

    搭建SVN服务器(整合Apache+Subversion)

    搭建一个SVN(Subversion)服务器,整合Apache作为前端HTTP服务器,可以实现高效且安全的代码版本控制。这个过程涉及到多个组件的安装和配置,包括Apache、Subversion、SSL加密以及必要的依赖库。以下是详细步骤: ...

    SVN服务器配置+SVN局域网搭建+系列工具

    apache_2.2.2-win32-x86-no_ssl.msi Setup-Subversion-1.6.6.msi TortoiseSVN-1.6.12.20536-win32-svn-1.6.15.msi SVN与Apache服务器的安装配置.doc 配套的安装程序和说明,我自己也是用这一套工具搭建的SVN

    windows下svn+apache搭建svn服务器.docx

    ### Windows下SVN + Apache搭建SVN服务器 在软件开发过程中,版本控制系统是必不可少的工具之一,它能够帮助团队高效地管理代码版本、合并更改以及追踪历史记录等。其中,Subversion (SVN) 是一个非常流行的集中式...

    subversion+apache+TortoiseSVN安装说明

    通过以上步骤,你可以搭建起一个基于 Subversion、Apache 和 TortoiseSVN 的版本控制系统,为团队协作提供便捷的代码版本管理。在实际应用中,可能还需要根据项目需求进行更详细的权限设置和日志管理。

    apache+svn服务器搭建apache_2.2.11-win32-x86-openssl-0.9.8i.msi、svn-win32-1.5.4

    通过以上步骤,你已经成功地在Windows上搭建了一个Apache+SVN服务器。这使得开发团队能够通过WebDAV协议协同编辑代码,跟踪文件更改,实现版本控制。记得保持Apache和SVN的更新,以确保安全性和兼容性。在实际生产...

    CentOS 6.2 服务器下搭建Apache+SVN

    在IT领域,构建一个高效的版本控制系统对于团队协作至关重要。本教程将详细介绍如何在基于Linux的CentOS 6.2操作系统上安装和配置Apache Web服务器与...希望这个指南对你在CentOS 6.2上搭建Apache+SVN有所帮助。

    搭建SVN + Apache 服务器

    Apache HTTP Server是搭建SVN服务器的基础组件之一,其主要功能是提供Web服务。安装步骤如下: 1. **安装Apache服务**: ```bash yum -y install httpd ``` 2. **安装mod_dav_svn模块**:这是Apache服务器用于...

    ubuntu linux 配置svn+apache+ssl

    在Ubuntu环境下搭建SVN(Subversion)服务器,结合Apache HTTP服务器和SSL(Secure Sockets Layer)加密,能够实现安全的版本控制系统,并通过HTTPS协议进行访问。Apache的用户认证管理确保了权限控制,而authz配置...

    SVN服务器搭建以及Eclipse作为SVN客户端配置

    SVN 服务器搭建和 Eclipse 配置为 SVN 客户端 SVN(Subversion)是一种版本控制系统,旨在帮助开发团队更好地管理代码版本。下面是关于 SVN 服务器搭建和 Eclipse 配置为 SVN 客户端的详细知识点: 一、SVN 服务器...

    Windows apache svn服务器搭建

    接下来,我们将按照以下步骤进行Apache SVN服务器的搭建: 1. **下载与安装Apache**: - 首先,从Apache官方网站下载适合Windows系统的Apache服务器安装包,如httpd-x.y.z-win32.zip。 - 解压到你希望的安装目录...

    Linux下搭建svn+apache

    通过Apache作为前端服务器,可以利用HTTP协议方便地进行SVN仓库的管理和访问。本文将详细介绍在Linux环境下搭建SVN + Apache的具体步骤以及过程中可能遇到的问题及解决方法。 #### 二、核心知识点 1. **Apache与...

    svn+apache+trac配置

    在本配置中,我们将通过Apache web服务器来部署Trac,实现通过Web访问项目管理和版本控制的功能。 1. **总体说明** Trac环境的搭建主要涉及以下组件: - Apache HTTP Server:作为Web服务器,负责处理HTTP请求并...

    Windows7+_SVN+_Apache2+TortoiseSVN配置安装

    通过以上步骤,你已经在Windows 7上成功搭建了一个基于Apache的SVN服务器,并安装了方便的TortoiseSVN客户端。这个环境将为你的团队提供一个可靠的代码版本管理平台,提升协作效率,保障项目数据的安全。在实际应用...

    Ubuntu+svn+ssl+ldap

    1. **安装SVN服务器**:首先,通过`apt-get`安装所需组件,包括SVN、Apache及LDAP模块。 2. **创建版本库**:创建一个名为`nafsvn`的版本库,设置用户组和权限。 3. **配置Apache**:编辑`dav_svn.conf`,添加代码以...

    SVN服务器搭建+客户端使用+VS上传说明

    **SVN服务器搭建** SVN(Subversion)是一种版本控制系统,用于管理代码和其他文件的变更历史。搭建SVN服务器的目的是为了实现团队间的代码共享、版本控制和协作。以下是搭建SVN服务器的基本步骤: 1. **选择...

    SVN服务器搭建和使用

    ### SVN服务器搭建与使用详解 #### 一、SVN简介 Subversion(简称SVN)是一种集中式的版本控制系统,主要用于代码版本管理。它通过记录文件和目录的变化来帮助团队成员协同工作,支持多人同时开发同一项目,并能...

    xp+apache2.2+subversion1.6.17搭建版本控制服务器

    本教程将详细讲解如何在Windows XP操作系统上,利用Apache2.2和Subversion 1.6.17搭建一个版本控制服务器。 首先,我们需要安装Subversion。文件"Setup-Subversion-1.7.5.msi"是一个Subversion的安装程序。运行这个...

    svn服务器搭建

    svn 服务器搭建(Apache+SVN) 本文将详细介绍基于 Apache 服务器的 Subversion 安装与配置过程,Subversion 是管理工程本版的必备工具,对比 vss 及其前身 cvs 都有着无与伦比的优势。 一、安装 svn 依赖包 在安装...

    Linux下SVN服务器的搭建与配置.docx

    Linux 下 SVN 服务器的搭建与配置 Linux 下 SVN 服务器的搭建与配置是指在 Linux 操作系统下搭建和配置 SVN 服务器的过程。SVN(Subversion)是一种版本控制系统,允许多个用户同时对文件进行编辑和修改。下面将...

Global site tag (gtag.js) - Google Analytics