Chinaunix首页 | 论坛 | 博客
  • 博客访问: 615997
  • 博文数量: 486
  • 博客积分: 10125
  • 博客等级: 上将
  • 技术积分: 5842
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 18:34
文章分类

全部博文(486)

文章存档

2011年(52)

2010年(107)

2009年(289)

2008年(38)

我的朋友

分类: LINUX

2010-12-02 13:53:24


http://www.eit.name/blog/read.php?393

[无废话]Windows下快速安装和配置 Apache2.2+Subversion1.3

| |
[不指定 2009/03/03 00:07 | by ipaddr ]

1. 软件下载

Apache 2.2 (这里有2.2.11为例)

下 载文件:apache_2.2.11-win32-x86-openssl-0.9.8i.msi
(注意,如果打算用到HTTPS,请下载包含 openssl的版本)

Subversion (这里以1.5.3为例)

下 载文件:Setup-Subversion-1.5.3.msi

(此文档来源: ,原创作者: 鱼漂; 转载请注明)

2. 安装规划

Apache2.2的安装路径为 D:\www\Apache
Subversion的安装路 径为D:\www\Subversion
Subversion Repository的路径为D:\www\svnRep

3. 安装

运行apache_2.2.11-win32-x86-openssl-0.9.8i.msi安装到D:\www\Apache目 录,端口为80
运行Setup-Subversion-1.5.3.msi安装到D:\www\Subversion, 安装时选择"Binding for Apache 2.2.x"

4. 配置Subversion Repository

A.初始化Repository

手 动创建D:\www\SVNRep目录;
打开DOS命令行cmd,进入D:\www\subversion\bin目录,运行以下命令初始化 Repository:
D:\www\Subversion\bin>svnadmin create D:\www\SVNRep

B.创建Repository目录结构

在 D:\www\tmp目录下创建以下目录结构:
――ProjectOne
| |
| ――branches
| |
| ――tags
| |
| ――trunk
|
――ProjectTwo
|
――branches
|
――tags
|
――trunk
使 用以下命令,导入到Subversion:

D:\www\Subversion\bin>svn import D:\www\tmp file:///D:/www/SVNRep/ -m "init"
(需要特 别注意的是file:///D:/www/SVNRep/的语法,这里是正斜杠)

导入完后,D:\www\tmp可以删除了

5. 配置Apache

复制D:\www\Subversion\bin目录 下的mod_dav_svn.so,mod_authz_svn.soD:\www\Apache\modules目 录。
配置Apache的conf/httpd.conf文件,在很多#LoadModule的后面,加下:

LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
#LoadModule authz_svn_module modules/mod_authz_svn.so

DAV svn
SVNPath "D:/www/SVNRep"
AuthType Basic
AuthName "TomZhou's SVN"
AuthUserFile "D:/www/Apache/conf/svn.passwd"
Require valid-user


使 用Apache和htpasswd创建D:/www/Apache/conf/svn.passwd文件:


D:\www\Apache\bin>htpasswd -c -m D:\www\Apache\conf\svn.passwd tomzhou
New password: ********
Re-type new password: ********
Adding password for user tomzhou

D:\www\Apache\bin>htpasswd -m D:\www\Apache\conf\svn.passwd ipaddr
New password: ********
Re-type new password: ********
Adding password for user ipaddr

D:\www\Apache\bin>

注 意,需要先进入到D:\www\apache\bin目录运行,同时,使用"-c"参数创建密码文件,第二次添加用户时不需要"-c"

重启 Apache即可进行测试了。打开IE访问以下进址:

输 入刚才创建的用户名和密码,即可访问了。


6.按不同的目录定义权限

可 以使用mod_authz_svn.so来实现,Apache配置如下:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

DAV svn
SVNPath "D:/www/SVNRep"
AuthType Basic
AuthName "TomZhou's SVN"
AuthUserFile "D:/www/Apache/conf/svn.passwd"
AuthzSVNAccessFile "D:/www/SVNRep/conf/authz.conf"
Require valid-user

使 用上面的方法,创建svn.passwd文件。


创建D:/www/SVNRep/conf/authz.conf文件,内 容如下:

#两个分 组:committers,developers
[groups]
committers = tomzhou ipaddr richard
developers = jimmy michel spark sean
#在根目录下指定所有的用户有读权限
[/ProjectOne]
* = r
#追加 committers 组用户有读写权限
@committers = rw
#在 branches/dev 目录下指定 developers 组的用户有读写权限
[/ProjectOne/trunk]
@developers = rw
#在 /tags 组下给予用户 tony 读写权限
[/ProjectOne/tags]
tomzhou = rw
#禁止所有用户访问 /private 目录
[/ProjectOne/private]
* =
#给 committers 组用户读权限
@committers= r


另外,你还 可以结合Apache的Allow,Deny,Order,Satisfy等指令来配置基于IP的访问规则。


其 它参考:

a.HTTPS的配置只渗及到Apache,可参考我的其它文章或CATools工具.
b.Linux 下的配置方式大同小异.
c.Subversion官方的文档,对Subversion的使用和配置描述得非常清楚,有时间可以参考.


阅读(423) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~