`

以http,svn两种方式访问svn库

阅读更多
  在[url] http://room-bb.iteye.com/blog/2190213[/url]搭建svn服务器这一文中,是通过svn:// 方式来访问svn仓库的。本文着重介绍通过apache配置,以http方式来访问版本库(这对于svn版本库部署在外网服务器上很有用)

1:创建多个svn仓库
svnadmin create /data/svn/exam_1
svnadmin create /data/svn/exam_2
svnadmin create /data/svn/exam_3

注意,你也可以不用执行多次svnadmin 其实创建了一个exam_1,可以直接cp -r exam_1 exam_2


2:配置svn
我们创建了三个svn仓库,可以把其中一个仓库的/data/svn/exam_1/conf目录下的配置文件移到 /data/svn/conf,这样可以通过一份配置,控制三个仓库的权限,具体操作如下:
mkdir -p /data/svn/conf
cp -r /data/svn/exam_1/conf/* /data/svn/conf

配置passwd
vi /data/svn/conf/passwd
manager = 123456
dev1 = 123456
dev2 = 123456
dev3 = 123456

art1 = 123456
art2 = 123456
art3 = 123456

des1 = 123456
des2 = 123456
des3 = 123456

配置authz
vi /data/svn/conf/authz
admin = manager

dev = dev1,dev2,dev3

art = art1,art2,art3

des = des1,des2,des3

[/]
@admin = rw
* =

[exam_1:/]
@admin = rw
@dev = rw
* = 

[exam_2:/]
@admin = rw
@art = rw
* = 

[exam_3:/]
@admin = rw
@des = rw
* =

配置全局文件 svnserve.conf
vi /data/svn/conf/svnserve.conf
anon-access = none  #禁止匿名访问,设置为none。默认为read,参数:read,write,none
auth-access = write #授权用户写权限

password-db = /data/svn/conf/passwd
authz-db = /data/svn/conf/authz

realm = svn #每个SVN项目的认证名,会在认证提示里显示,建议写项目名称。

 
  3:启动svn 注意参数噢,很重要
svnserve -d -r /home/svn --config-file /data/svn/conf/svnserve.conf 


  4:配置svn支持http访问
生成账号密码认证文件
htpasswd -cm /data/svn/conf/http_passwd manager #第一次生成要参数-c
htpasswd -m /data/svn/conf/http_passwd dev1 #后面添加的用户不要带参数-c

http_passwd 是http模式下使用的认证文件,passwd是svn模式使用的认证文件,
这两个文件中的用户和密码最好一样,这样,同一个用户可以用两种方式访问svn库

设置apache svn配置文件
cd /etc/httpd/conf.d/

如果没有subversion.conf 文件,那么先执行 yum -y install mod_dav_svn
vi /etc/httpd/conf.d/subversion.conf
<Location /svn> #/svn是虚拟目录,映射到/data/svn中。
   DAV svn
   
        #SvnPath /data/svn/ #只支持一个主目录的SVN版本库
        SVNParentPath /data/svn/ #支持多个相同父目录的SVN版本库

   # Limit write permission to list of valid users.
   #<LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL

      AuthType Basic
      AuthName "Authorization SVN"
      AuthzSVNAccessFile /data/svn/conf/authz
          AuthUserFile /data/svn/conf/http_passwd
          Require valid-user
   #</LimitExcept>
</Location>

设置权限目录
  chown -R apache:apache /data/svn/

 重启apache服务
  service httpd restart


5:关闭 SELinux。这个很重要,我就是没关闭,导致一直登陆不了,调试了一整天,都是泪啊
getenforce          ##查看SELinux状态
setenforce 0        ##设置SELinux  为permissive模式 不用重启,立即生效
                    ##setenforce 1 成为enforcing模式

vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled 重启机器后生效



6:测试
svn方式访问:
在windows下,通过svn客户端输入
svn://192.168.7.223/exam_1

http方式访问
在浏览器地址栏输入
http://192.168.7.223/svn/exam_1
注意:这里比svn方式方位多了个/svn,因为我们配置location时设置了一个虚拟路径

如果想通过域名访问
例如
http://www.bb.com/svn/exam_1

修改hosts文件
vi /etc/hosts
192.168.7.223 www.bb.com

如果无法登录,要检查防火墙设置啦,iptables -L -n
查看svn和httpd的端口是否开放
分享到:
评论

相关推荐

    Linux下SVN服务器同时支持Apache的http和svnserve独立服务器两种模式且使用相同的访问权限账号

    本文将详细介绍如何在Linux环境下配置SVN服务器,使其能够同时支持通过Apache HTTP服务器提供的HTTP访问方式以及通过svnserve提供的独立服务器模式访问,并确保这两种访问方式使用相同的用户权限。 #### 实现目标...

    svn版本库迁移方法

    为了确保迁移过程中的数据完整性和连续性,通常会采用以下两种方式来实现:全局备份与导入新库。 #### 二、Linux环境下的SVN版本库迁移 **1. 全局备份** 全局备份是指对整个版本库进行备份,包括所有的数据和历史...

    从CVS迁移至SVN的两种方法

    【从CVS迁移到SVN的两种方法】 随着版本控制系统的发展,越来越多的团队选择从CVS(Concurrent Versions System)转向SVN(Subversion),因为SVN提供了更强大的功能和更好的用户体验。本教程将详细解释如何使用两...

    svn代码库如何备份到本地

    在日常开发过程中,为了防止数据丢失或者便于离线访问,有时需要将SVN中的代码库完整地备份到本地计算机上。 #### 备份流程详解 本文主要介绍如何将运行在Linux系统上的SVN代码库备份到Windows系统上,并提供具体的...

    tortoisesvnsvn仓库

    SVN服务器的运行方式有两种:独立服务器模式和借助Apache运行模式。这两种方式各有特点: 1. **独立服务器模式**:也称为svnserve模式,它使用一个名为svnserve的服务来处理SVN请求。这种模式配置简单,只需安装...

    互不连接的两个SVN双向同步方法

    当开发团队分布在不同的地理位置,且出于安全原因无法直接访问同一SVN仓库时,实现仓库间的双向同步就显得尤为必要。SVN虽然原生支持单向的仓库镜像,但不直接支持双向同步。面对这种情况,我们可以采取手动操作的...

    SVN版本库的迁移(从一台服务器迁移到另一台服务器)

    以下是两种常见的SVN版本库迁移方法: ### 第一种方法:相同操作环境下的迁移 **前提条件**: 1. 旧版本库和新版本库的操作系统相同。 2. SVN的版本一致,以确保兼容性。 3. 旧版本库的版本号不低于本地SVN库,...

    svn使用方式

    13. **SVN URL管理**: SVN仓库可以通过HTTP/HTTPS、SVN或file协议访问,根据你的网络环境和安全性需求选择合适的方式。 14. **与其他工具集成**: SVN可与IDE(如Eclipse、IntelliJ IDEA)、构建工具(如Maven、...

    SVN版本控制系统

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。它允许多人协同工作,记录每次修改,以便团队成员可以共享代码、文档等资源,并且能够回滚到任何历史版本。SVN的核心概念包括仓库...

    linuxsvn离线安装

    7. **配置Apache或HTTPD服务器**: 要通过Web访问SVN,需要配置Apache或HTTPD服务器。安装`httpd`或`apache2`,并启用`mod_dav_svn`模块。编辑`/etc/httpd/conf.d/subversion.conf`,添加仓库配置,如: ``` ...

    svn常见问题及解决

    15. **路径或权限问题**: 确保输入的URL正确,并拥有足够的权限访问SVN资源。如果遇到权限错误,检查用户角色和访问控制设置。 16. **SVNserve或Apache配置**: 如果使用SVNserve,检查服务是否运行以及端口设置。...

    svn服务端安装步骤

    - 如果希望以守护进程的方式运行SVN服务,可以使用`svnserve -d`命令。 ```cmd svnserve -d -r "D:\SVNRoot" ``` - `-d`选项表示以守护进程方式运行。 - `-r`选项指定仓库的根目录。 #### 五、其他注意事项 ...

    svn使用教程

    svn 服务器的工作方式有独立服务器方式和借助 Apache 方式两种,版本数据存储方式有 BDB 和 FSFS 两种。 四、svn projekt 管理工具 svn 是一个功能强大的项目管理工具,可以帮助开发团队协作开发,解决代码冲突、...

    svn安装包.zip

    SVN,全称为Subversion,是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件的变更历史。在本文中,我们将深入探讨SVN的基本概念、安装过程以及如何使用它进行版本控制。 首先,理解SVN的核心功能...

    SVN打基线常用命令使用介绍

    - **Repo-browser**:使用该命令可以直接在本地访问SVN版本库。 - **Checkout**:从版本库中取出一个工作拷贝到本地。 - **Commit**:从本地拷贝提交到版本库中。 - **Update**:从版本库中更新到本地拷贝。 - **...

    svn link方式安装,资源包

    通过这种方式,一个项目可以引用另一个项目的特定版本,使得团队成员可以在各自的代码库中访问共享的代码或资源,而无需复制整个项目。这对于大型项目或多个项目之间存在共用模块的情况非常有用。 安装SVN通常涉及...

    CentOS6.5下安装SVN

    SVN支持两种数据存储方式: 1. **BDB(Berkeley DB)**:提供事务安全表类型,但在服务器连接中断时可能导致数据锁定。 2. **FSFS(File System-based)**:无需数据库的存储系统,更安全且不易出现数据锁定问题,...

    svn 管理工具(web版)

    SVN,全称Subversion,是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件的变更历史。在软件开发过程中,SVN起到了跟踪文件修改、协同工作、解决冲突的重要作用。Web版的SVN管理工具则将这些功能...

    SVN安装配置手册

    - **SVN服务器**:SVN(Subversion)是一种分布式版本控制系统,用于管理软件开发中的源代码版本控制。安装SVN服务器可以让团队成员通过网络共享代码库,并且能够追踪每一次的更改历史。 - **SVN客户端**:除了...

    SVN库建立及VSS数据导入

    方法我采用了两种: 1) 将文件直接拉到版本库浏览器里 步骤: • 任意文件夹空白处右键- TortoiseSVN-版本浏览器; • 在跳出的对话框内写入版本库的URL(http://localhost:18080/svn/test/) • 我是访问...

Global site tag (gtag.js) - Google Analytics