`
huanghuizz
  • 浏览: 85260 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

svn1.6+apache2.2配置之Apache集成

    博客分类:
  • svn
阅读更多

软件准备

svn-win32-1.6.1.zip (http://subversion.tigris.org/files/documents/15/45600/svn-win32-1.6.1.zip ) 和 apache_2.2.11-win32-x86-no_ssl.msi 注意版本要匹配,否则可能会报错误12 (见 下面)

软 件安装:
1. 安装svn

1.1 直接解压下载的svn 压缩包 即可

1.2 %svn%svn 的 主目录)使用%svn%/bin 下的svnadmin 命令创建工程:

      svnadmin create d:/svn/myproject

     注释:d:/svnsvn 的 根目录,myproject 是我们的工程

2. 安装apache
2.1 按照提示安装即可

   2.2 关于80 端口是否被占用

2.2.1 使 用命令
netstat -ano|findstr ".*:80.*:.*" 即可查看80 端口是否被使用,一般安装iis 以及迅雷等 软件有可能把端口占用,如果80 被占用的话,最后一列的数字即为占用80 端口软件的pid ; 当然您可以把该软件关闭,也可以修改apache 的端口
   2.2.2 %apache%apache 的 主目录)修改apache 的端口可以修改%apache%/conf/httpd.conf

把里面的Listen 80 修改为:

    Listen 81
    这样您的apache 的端口就变成81 了,不会与80 冲 突啦,修改后端口再按照2.1 重新安装一次即可

2.3 在浏览器里输入http//localhost:81 正 常显示说明安装成功。(81 是端口号)

3. svnapache 结 合
3.1 拷贝%svn% 下的文件到%apache%

3.1.1 %svn%\bin\ 下 的
mod_dav_svn.so mod_authz_svn.so %apache%\ modules 目录下
3.1.2 %svn%\bin\ 下的 九个dll 文件intl3_svn.dll,libapr-1.dll,libapriconv-1.dll,libaprutil-1.dll,libdb44.dll,libsvn_delta-1.dll,libsvn_fs-1.dll,libsvn_repos-1.dll,libsvn_subr-1.dll 拷 贝到%apache%\bin 目录下( 建议全部copy 过去,否则容易 报错误2 ,见下面)

3.2 修改%apache%/conf/httpd.conf 文 件

3.2.1 把在httpd 中找到以下2 行, 并把前面的注释符# 删除:

    #LoadModule dav_fs_module modules/mod_dav_fs.so
    #LoadModule dav_module modules/mod_dav.so

     如果不删除容易报错误3 ,见下面

3.2.2 LoadModule 结尾 处添加以下2 行:

    LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule authz_svn_module modules/mod_authz_svn.so

3.2.3 http.conf 文件的结尾处添加以下配置行:

<Location /svn>
    DAV svn
    SVNParentPath D:\svn
    AuthType Basic
    AuthName "Subversion repositories"
    AuthUserFile D:\svn\passwd
    #AuthzSVNAccessFile D:\svnaccessfile
    Require valid-user
</Location>
注释:1. SVNParentPath D:\svn svn 的主目录,参加1.2 中设置

        2 .AuthUserFile D:\svn\passwd 密 码存储文件,(下面要使用)
说明:
<Location /svn/>
   意 味着可以通过像这样的URL(http://MyServer/svn) 来访问Subversion版本库
DAV svn
   告 诉Apache哪个模块 负责服务像那样的URL--在这里就是Subversion模块
SVNListParentPath on
   在Subversion 1.3及更高版本中,这个指示器使得Subversion列出由SVNParentPath指定的目录下所有的版本库
SVNParentPath F:\svnROOT
   告 诉Subversion在目录F:\svnROOT下寻找版本库
AuthType Basic
   启 用基本的验证,比如用户名/密码对
AuthName "Subversion repositories"
   当 一个验证对话框弹出时,告诉用户这个验证是用来做什么的
AuthUserFile F:\svnROOT\htpasswd
   指 定F:\svnROOT\htpasswd用为密码文件用来验证用户的用户名及密码
AuthzSVNAccessFile F:\svnROOT\authz
   指 定F:\svnROOT\authz来限定各个用户或组在版本库中目录的访问权限
Require valid-user
   限 定用户只有输入正确的用户名及密码后才能访问这个路径(此项表示,无论是IE还是Tortoise,只有通 过密码验证才能访问)。
下面表示允许匿名访问,对于读操作,不需要用户验证。
#<LimitExcept GET PROPFIND OPTIONS REPORT>
#Require valid-user
#</LimitExcept>
    AuthUserFile和AuthzSVNAccessFile 的 工作原理是,先使用Apache用户机制进行验证,通过之后将请求提交给mod_authz _svn.so 进行认证,最后使用mod_dav _svn.so提供的功能。     

3.3
创建passwd 文件 来管理svn 的访问权限
3.3.1 使用%apache%\bin\
htpasswd .exe 来创建密码
    第一个用户的命令:
htpasswd -c D:\svn\passwd %username%
    第二个用户的命令:
htpasswd D:\svn\passwd %username%
    注释:1.-c 是创建新文,%username% 是 用户名,输入命令后还会提示输入密码二次。

          2.D:\svn\passwd 3.1.3 中设置的路径 文件
上面的配置仅仅是一个简单的示例。你还可以对Apache进行许许多多的配置。
1.如果你想让所有用户对版本库都有读的权限而只有特定的用户才有写的权限,你可以将这行
CODE:
Require valid-user
改为
CODE:
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
2.上面的配置使用了passwd文件将你所有的版本库作为一个单元来限定访问权限。如果你想获得更多的控制,如限定某个用户可以访问版本库中的哪个目 录,可以把下面这行的#去掉:
CODE:
#AuthzSVNAccessFile D:\svnaccessfile
然后用文本编辑器创建一个Subversion授权文件。Apache将确保只有有效的用户可以访问你的/svn位置,然后将用户名传到 AuthzSVNAccessFile模块,这样可以依据Subversion授权文件得到更精细的权限控制。注意,路径将被指定为[库:路径]或者简单 的[路径]。如果你不明确指定一个库,访问规则将应用到由SVNParentPath指定的目录下所有的版本库中。一个授权文件例子可能像这样:
CODE:
[groups]
admin = john, kate
devteam1 = john, rachel, sally
devteam2 = kate, peter, mark
docs = bob, jane, mike
training = zak
# 为所有库指定默认访问规则
# 所有人可以读,管理员可以写,危险分子没有任何权限
[/]
* = r
@admin = rw
dangerman =
# 允许开发人员可以完全访问他们的项目版本库
[proj1:/]
@devteam1 = rw
[proj2:/]
@devteam2 = rw
[bigproj:/]
@devteam1 = rw
@devteam2 = rw
trevor = rw
# 文档编写人员对所有的docs目录有写权限
[/trunk/doc]
@docs = rw
# 培训人员可以完全访问培训版本库
[TrainingRepos:/]
@training = rw

Svn apache 结合容易产生的错误
    1. httpd.exe: Syntax error on line 86 of D:/Program Files/Apache Software Fou
n/Apache2.2/conf/httpd.conf: API module structure 'dav_svn_module' in file
ogram Files/Apache Software Foundation/Apache2.2/modules/mod_dav_svn.so is
ed - expected signature 41503232 but saw 41503230 - perhaps this is not an
e module DSO, or was compiled for a different Apache version?
Note the errors or messages above, and press the <ESC> key to exit. 3....
解决办法就是使用2.0 版本的apache

 

 

    2. httpd.exe: Syntax error on line 86 of D:/Program Files/Apache Software Foundatio
n/Apache2.2/conf/httpd.conf: Cannot load D:/Program Files/Apache Software Founda
tion/Apache2.2/modules/mod_dav_svn.so into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\
xb8\xb6\xa8\xb5\xc4\xb3\xcc\xd0\xf2\xa1\xa3
Note the errors or messages above, and press the <ESC> key to exit. 16...
可以看到已经说明了是2.2.9 以上的apache

3. Syntax error on line 487 of D:/Program Files/Apache Software Foundation/Apache2.
2/conf/httpd.conf:
Invalid command 'DAV', perhaps misspelled or defined by a module not included in
the server configuration
Note the errors or messages above, and press the <ESC> key to exit. 25...

LoadModule dav_module modules/mod_dav.so 前 的注释去掉

 

转帖:http://hi.baidu.com/lubezhang/blog/item/bf7aa72ea2c7fa5b4ec226d2.html

分享到:
评论

相关推荐

    Trac0.12+SVN1.6+Apache2.2在windows下的配置说明

    例如,使用`htpasswd -c F:/install/Apache2.2/conf/passwd admin`来创建管理员用户。 完成以上步骤后,你就可以通过浏览器访问Trac了,例如`http://127.0.0.1:8000/ABC`。这个过程确保了Trac能够与SVN和Apache协同...

    linux下apache2.2.23+svn1.6

    在Linux环境下,构建一个SVN(Subversion)代码服务器,特别是使用Apache2.2.23作为前端Web服务器,Subversion1.6作为版本控制系统,是开发者常用的实践。以下是搭建这个环境的详细步骤: 首先,确保你的Linux系统...

    Apache配合SVN在Windows下安装配置及其权限管理

    - 将SVN安装目录`D:\install\svn-win32-1.6.6\bin`下的`mod_dav_svn.so`, `mod_authz_svn.so`以及所有以`lib`或`int`开头的dll文件复制到Apache的模块目录`D:\Program Files\Apache Software Foundation\Apache2.2\...

    TortoiseSVN-1.6.0 中文帮助文档(PDF)

    自那时起,它不断地发展和完善,成为了 Windows 平台上最受欢迎的 SVN 客户端之一。 **1.3 TortoiseSVN的主要特性** - **集成于 Windows 资源管理器:** 用户可以通过简单的右键点击来执行 SVN 命令。 - **直观的...

    SVN使用指南,win版

    - **服务器端**:使用CollabNet提供的SVN服务器端安装包,其中包括Apache2.2服务器,用于托管版本库。 - **客户端**:推荐使用TortoiseSVN (TSVN),这是一个强大的图形化SVN客户端,提供了丰富的功能和良好的用户...

    linux下subversion+https安装手册

    1.6 配置代码库 根据需求配置`conf`目录下的`authz`和`passwd`文件,定义用户和权限。 1.7 配置防火墙(使用 ROOT 用户) 打开防火墙端口,允许HTTP/HTTPS访问,例如`sudo ufw allow 80`和`sudo ufw allow 443`。 ...

    手把手教你使用Maven进行Android的从配置到开发与资源管理教程.doc

    【Maven for Android Development and Resource ...同时,结合Eclipse插件,可以在集成开发环境中无缝地进行Android开发。继续深入学习Maven的POM模型、生命周期和构建过程,你将更高效地管理你的Android项目。

    linux应用程序开发环境.pdf

    - **Apache服务及配置**: Web服务器及其配置。 - **Postfix详解**: 邮件传输代理服务。 - **Linux网络配置及管理**: 包括防火墙配置及管理、日志管理及维护等。 以上是对“Linux应用程序开发环境”这一主题的主要...

    Openbravo技术评测

    定期备份是保证数据安全的重要措施之一。Openbravo ERP 提供了自动化备份工具,用户可以根据需要设置备份计划。 **4.2 恢复** 当数据丢失或损坏时,可以使用之前备份的数据进行恢复。Openbravo ERP 的恢复过程直观...

Global site tag (gtag.js) - Google Analytics