`
tangshuang
  • 浏览: 43082 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

apache和subversion配置(转载)

阅读更多

第一步,安装Apache+Subversion
首先,我选择了apache_2.0.59+svn-1.4.3的组合
下载安装apache_2.0.59版本,http://ftp.ntu.edu.tw/Apache/httpd/binaries/win32/
把Subversion/bin下面所有.dll文件复制到Apache Group\Apache2\bin下,提示有文件覆盖,选择不覆盖;再将Subversion/bin下的.so文件复制到Apache Group\Apache2\modules下。

第二步,修改apache的配置文件
接著打开Apache HTTP Server 的 httpd.conf(在 /conf/ 目录下),先找到以下两行:
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
把這两行最前面的 '#' 字符刪除,然后把下面这行加到这些 LoadModule 指令的后面:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
用记事本打开 Apache HTTP Server 的 httpd.conf,在文件最后面加上以下几行:
#<Location /svn>
    DAV svn
    #give the repository path
    SVNParentPath "e:/svn"
    #Satisfy Any  
   # AuthType Basic
    #AuthName "subversion repository"
    #AuthUserFile "C:/Program Files/Apache Group/Apache2/svn-auth-filename"
    #(保存用户名和密码)
    #Require valid-user
    #SSLRequireSSL
    #AuthzSVNAccessFile "C:/Program Files/Apache Group/Apache2/svn-access-filename"
    #(保存用户访问的权限策略)
#</Location>
其中d:/svn为你要建的仓库的父目录(必须为本地目录),最好用双引号引一下.

第三步,创建仓库
根据apache的配置文件的设置建立目录:d:/svn.然后我们就可以在下面建立仓库了,创建方法如下:
c:\>svnadmin create d:/svn/repository
命令执行成功之后,会在d:/svn/repository下面生成很多的文件和目录

第四步,使用
重新启动Apache Server
在浏览器中输入网址:
http://localhost/svn/repository/
这时候,看到页面显示:

Revision 0: /
Powered by Subversion version 1.3.2 (r19776).

*****************************************************************
4
创建用户
Apache的 ..\apache\Apache2\bin文件下自带的程序:htpasswd.exe 即可完成用户创建。
C:\Apache Group\Apache2\bin>htpasswd –cm /path/fileName admin
好了,这样就在指定的路径处创建了一个指定名字的用户文件,并创建了一个用户名admin。其中c表示要创建新的文件,m表示要创建账户。这时候,会提示输入密码,并要求验证:
New password: *****
Re-type new password: *****
Adding password for user admin
好了,一个账号建好了。可以接着建用户:
C:\Apache Group\Apache2\bin>htpasswd –m /path/fileName kevinl
New password: ******
Re-type new password: ******
Adding password for user kevinl
注意,因为第一次已经创建了文件,此处只需要-m 即可,不需要c了。


           创建   用户目录文件   用户名  密码

htpasswd   –cm    ../passawd     admin    mi





1.创建新用户

目录 C:\Program Files\Apache Group\Apache2\bin

htpasswd –cm ../passawd admin mi

在C:\Program Files\Apache Group\Apache2\目录下的创建passawd用户文件,并创建用户admin ,密码mi



2.添加新用户

目录 C:\Program Files\Apache Group\Apache2\bin

htpasswd –m ../passawd abc 123

在C:\Program Files\Apache Group\Apache2\目录下的passawd用户文件创建用户abc,密码123


Ok,现在用户文件建好了。打开apache的httpd.conf文件,将…< Location>改为:


DAV svn
#give the repository path
SVNPath /absolute/path/to/repository

AuthType Basic
AuthName “Xi’an server of NA mirror”
AuthUserFile /path/to/passwd/fileName
Require valid-user


如果已经有一个apache服务,希望两个apache服务同时运行,则修改其中一个的服务端口。
修改httpd.conf中的一行: Listen 80 将80改成其他不用的端口号

5  权限管理

这同样需要一个权限管理文件。首先在httpd.conf中指定这个文件.

AuthzSVNAccessFile / path/to/auth_access_police_file



下面我们来讨论如何写权限管理文件.

这之中权限有三个等级:读写,读,无,分别为(rw, r, 空)

权限文件中以空行分开多个单位。每个单位定义对一个文件的权限管理。此外,为了方便管理我们可以将用户分组。分组用一个单位,一般位于文件的前面。如下:

[groups]

calc-developers = harry, sally, joe

paint-developers = frank, sally, jane

admin = joe, frank, sally, jane



形式如下:
建立控制用户访问权限的文件svn-access-filename
[svn1:/]               //这表示,仓库svn1的根目录下的访问权限
harry = rw             // svn1仓库harry用户具有读和写权限
sally = r               // svn1仓库sally用户具有读权限
[svn2:/]               //svn2仓库根目录下的访问权限
harry = r               // harry用户在svn2仓库根目录下只有读权限
sally =               // sally用户在 svn2仓库根目录下无任何权限
[svn2:/src]           //svn2仓库下src目录的访问权限
harry=rw           
sally=r
[/]                  // 这个表示在所有仓库的根目录下
* = r               // 这个表示对所有的用户都具有读权限
[groups]               // 这个表示群组设置
svn1-developers = harry, sally           // 这个表示某群组里的成员
svn2-developers = sally
[svn1:/]          
@svn1-developers = rw       // 如果在前面加上@符号,则表示这是个群组权限设置

然后修改httpd.conf配置:
<Location /svn>
DAV svn
SVNParentPath /svn
AuthType Basic
AuthName “Subversion repository”
AuthUserFile /svn-auth-filename (保存用户名和密码)
Require valid-user
AuthzSVNAccessFile /svn-access-filename(保存用户访问的权限策略)
</Location>

[calc:/trunk/]

harry = rw

sally = r

@=rw

设置calc工程中/trunk的权限.其中harry对其有读和写权限,sally有读的权限,组admin有读写权限(注意,组名前面有一个@符号).

上面定义针对多个库的情况,若只有一个可写为:

[ /trunk/]

harry = rw

sally = r

若要设置所有用户对根目录的权限,为:

[/]

*=r



权限管理的工作原理:默认情况下对所有文件夹是有读写权限的;对于父文件的权限会被子文件夹和文件继承;对于子文件权限的定义会覆盖由父文件继承来的权限规则。当某用户访问某一文件夹时,首先会寻找是否对此文件夹下此用户进行了设置,若设置了就采用该规则;否则,就找他的父文件夹,若还是没有对该文件夹定义,则继续向上。直到根目录。若仍没有,就采用默认。



Ok。如果我们向增加安全性,可以让apache采取SSL方式发布,需要两步,首先是制作证书,然后是配置管理文件.










3.1.4. 配置
现在你已经设置了Apache和Subversion,但是Apache不知道如何处理Subversion客户端,例如TortoiseSVN。为了让Apache知道哪个目录是用来作为Subversion版本库,你需要使用编辑器(例如记事本)编辑Apache的配置文件(通常是c:\program files\apache group\apache2\conf\httpd.conf):

在配置文件最后添加如下几行:

<Location /svn> DAV svn SVNListParentPath on SVNParentPath D:\SVN #SVNIndexXSLT "/svnindex.xsl" AuthType Basic AuthName "Subversion repositories" AuthUserFile passwd #AuthzSVNAccessFile svnaccessfile Require valid-user </Location>
这个配置告诉 Apache 你的所有 Subversion 版本库位于D:\SVN,版本库对外的URL是: http://MyServer/svn/ 。访问被文件passwd中的用户/密码限制。

为了创建passwd文件,再次打开命令行提示符(DOS),来到apache2目录(通常是c:\program files\apache group\apache2)通过输入下面的命令创建文件

bin\htpasswd -c passwd <username>
This will create a file with the name passwd which is used for authentication. Additional users can be added with

bin\htpasswd passwd <username>
再次重启Apache服务。

 

1
3
分享到:
评论

相关推荐

    apache+subversion配置说明 v1 8

    本配置说明主要针对Apache 2.2.29和Subversion 1.8.13版本进行安装和配置,以实现SVN仓库的跨版本库迁移,并保留提交日志。 首先,我们需要准备以下软件包: 1. Apache HTTP Server(httpd-2.2.29) 2. Subversion...

    apache和Subversion及TortoiseSVN安装配置

    在配置远程服务器端时,你需要确保Apache和Subversion服务器能够正确通信。这可能涉及到防火墙的设置,允许特定端口(如443或8080)的入站连接。同时,你需要在Apache配置中指定SVN仓库的位置,比如: ```apache ...

    Apache和Subversion集成安装与配置

    Apache和Subversion(通常简称为SVN)是两个在软件开发领域广泛应用的工具。Apache是一个开源的Web服务器,而Subversion则是一个版本控制系统,用于跟踪和管理代码的变化。这篇文章将深入探讨如何将这两个工具集成,...

    linux + apache + subversion安装和基本配置

    在IT行业中,Linux、Apache和Subversion是三个非常重要的组件,它们共同构成了一个高效且可靠的软件开发环境。本文将详细讲解如何在Linux系统上安装和配置Apache Web服务器以及Subversion版本控制系统。 首先,...

    Apache-Subversion-1.14.0.zip

    Apache Subversion(简称SVN)是一个开源的版本控制...通过以上介绍,你应该对如何使用和配置Apache Subversion有了基本的了解。在实际工作中,熟练掌握Subversion的命令和使用技巧,对于团队协作和项目管理至关重要。

    Apache-Subversion-1.14.2

    Apache Subversion(简称 SVN)是一个开源的版本控制系统,用于管理和跟踪文件和目录的变更。它允许团队成员协同工作,共享和追踪项目代码的不同版本。下面是一些关于 Apache Subversion 的要点: 版本控制:SVN ...

    Apache-Subversion-1.8.13

    在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本...

    用 Apache 和 Subversion 搭建安全的版本控制环境

    ### 用 Apache 和 Subversion 搭建安全的版本控制环境 #### Subversion 简介 Subversion 是一种开源版本控制系统,它以其强大的特性和灵活性,在开源软件开发领域获得了广泛的认可。相比于早期流行的版本控制系统 ...

    Apache-Subversion-1.14.1.zip

    Apache Subversion(简称SVN)是一个开源的版本控制系统,用于管理软件项目的源代码和其他文件的变更历史。在“Apache-Subversion-1.14.1.zip”这个压缩包中,我们找到了“bin”和“Licenses”两个目录,这分别代表...

    Apache-Subversion-1.9.5

    Apache Subversion(简称SVN)是一个开源的、跨平台的版本控制系统,它在2000年代初诞生,旨在改进RCS(Revision Control System)和CVS(Concurrent Versions System)等早期版本控制工具的不足之处。Subversion ...

    Apache+ subversion+tortoiseSVN安装手册

    Apache、Subversion 和 TortoiseSVN 是用于版本控制系统的重要组件,尤其在软件开发团队中广泛使用,便于协作和代码管理。下面将详细介绍这三个组件以及如何进行安装。 **Apache Subversion (SVN)** Apache ...

    Apache-Subversion-1.7.2.zip

    Apache Subversion遵循Apache Software License 2.0,这是一个非常宽松的开源许可证,鼓励代码共享和改进。在这里,用户可以找到关于Subversion及其依赖库的授权条款和版权信息。 Apache Subversion 1.7.2 版本引入...

    Apache-Subversion-1.14.0.rar

    Apache Subversion(简称SVN)是一个开源的版本控制系统,用于管理软件项目的源代码和其他文件的变更。这个"Apache-Subversion-1.14.0.rar"文件是Apache Subversion 1.14.0版本的压缩包,适用于在网络环境不理想时...

    Apache-Subversion.zip

    Apache Subversion(简称SVN)是一款广泛使用的版本控制系统,它允许用户在多个开发人员之间协作,跟踪文件和目录的修改历史。本压缩包文件“Apache-Subversion.zip”包含了在Windows环境下安装和使用SVN命令行工具...

    Apache-Subversion-1.7.1

    Apache Subversion(简称SVN)是一个...总的来说,Apache Subversion 1.7.1是Windows用户管理和协同开发项目的重要工具,其命令行客户端提供了丰富的功能,能够帮助开发者有效地控制代码版本,实现团队间的高效协作。

    Apache-Subversion-1.9.2

    Apache Subversion(简称SVN)是一个广泛使用的版本控制系统,它允许团队协作开发并跟踪文件和目录的更改。在Android Studio中,Subversion是用于版本控制的重要工具,尤其是对于那些使用Git不熟悉或不习惯的开发者...

    Apache-Subversion-1.13.0.zip

    Apache-Subversion-1.13.0最新版,不需要安装,复制下面的命令到bat文件。以管理员方式运行,即可在每次系统启动后自动开启SVN服务: sc create SVNService binPath= "C:\Program Files\Apache-Subversion-1.13.0\...

Global site tag (gtag.js) - Google Analytics