Apache + Subverion 安装和配置

1.准备

操作系统 :WINDOWS 2003

Apache 2.0.59

svn-win32-1.4.6.zip

TortoiseSVN-1.4.8.12137-win32-svn-1.4.6.msi

2安装

2.1安装Apache

1)下载Apache

地址http://httpd.apache.org/download.cgi

 注意:Apache低于2.0.54Windows版本的存在编译问题,低于2.0.54的版本不能与Subversion 1.2一起工作。

   (2) 安装

   注意:如果你已经有了IIS或其他监听80段口的程序,安装会失败,如果发生这种情况,直接到程序的安装目录/Apache Group/Apache2/conf,打开httpd.conf。编辑文件的Listen 80为其他可用的端口,例如Listen 8008,然后重新启动-这样就不会那个问题了,或者将其它应用的端口进行改之。

  3)检查

安装完成后浏览 http://localhost:8008/ 若成功,可看到apache欢迎页面。

 

2.2安装Subversion

  1)下载 Subversion

地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91

在本实例中,选择下载svn-win32-1.4.6.zip此版本.

2)安装

svn-win32-1.4.6.zip解压到安装程序的目录下。

 3  配置Apache

步骤1 svn-win32-1.4.6/bin 中将mod_authz_svn.so mod_dav_svn.so复制到Apache Group/Apache2/modules下,再将svn-win32-1.4.6/bin目录下的所有dll文件全部复制到Apache Group/Apache2/bin文件夹下。

     步骤2 找到Apache Group/Apache2/conf/httpd.conf文件,然后去掉如下几行的注释(删除 ''#''标记):

#LoadModule dav_fs_module modules/mod_dav_fs.so

#LoadModule dav_module modules/mod_dav.so

将下面两行添加到LoadModule部分的最后。

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

进行如上后续修改后完成了SVN+Apache之间的WebDav的工作了。重启Apache以后可看到如下图:

这是安装最终的图,图中状态栏显示Apache/2.0.59Win32 SVN1.4.6 DAV/2是由于还安装了mod_python,此步骤稍后将讲解,如上安装好后应显示为Apache/2.0.59Win32 SVN1.4.6 DAV.

 

4 配置SubVersion

1.2.1建立版本库

首先建立一个用于存在SVN项目的版本库,本例中在D盘驱动器中建立目录var/svnhome,可通过如下命令建立版本库,当然如果你需要建立多个版本库只需将名称进行换名即可。

首先以cmd命令窗口进入svn-win32-1.4.6/bin目录结构下,输入:

>svnadmin create --fs-type fsfs D:/var/svnhome/projects回车,等待提示创建完成;完成后则进行相关密码以及权限设置。

1.2.2 设置密码文件

cmd命令窗口进入路径Apache Group/Apache2/ bin目录然后输入:

> htpasswd -c D:/var/svnhome/projects/conf/<filename> <username>

本例中filename名称使用passwordfile,username名称使用admin(注意filename无需后缀名),这样便可在var/svnhome/projects/conf目录下创建一个用户名为adminpasswordfile文件,此文件将在后面配置权限所用

此后添加用户,可使用如下命令:

>htpasswd filename <username>

删除用户,使用如下命令:

>htpasswd -D filename <username>

若对密码不想加密可使用-cp参数,windows平台下默认是MD5加密。

1.2.3 设置权限文件

用文本编辑器在var/svnhome/projects/conf路径下生成名为svnaccessfile的文件,此名称将在Apache Group/Apache2/conf/httpd.conf配置文件中所用,此处不使用扩展名。编辑一下内容:

[groups]

committers = admin

developers = Allen

[/]

* = r

@developers = r

@committers = rw

[projects:/]

@ developers = rw

基本含义是根目录下任何人有读权限,committers组有读写权限;adminprojects读写权限,developers组只有读的权限

备注: 如果有中文路径,那要把文件存成UTF8格式,不建议使用中文路径,这在编程当中是严格禁止的.

1.2.4 配置服务

编辑Apache Group/Apache2/conf/httpd.conf文件,添加下面代码。

 

<Location /svn>

DAV svn

SVNPath "D:/var/svnhome/projects"

AuthType Basic

AuthName "Subversion repositories"

AuthUserFile "D:/var/svnhome/projects/conf/passwordfile"

AuthzSVNAccessFile "D:/var/svnhome/projects/conf/svnaccessfile"

Require valid-user

SVNAutoversioning on

ModMimeUsePathInfo on

</Location>

备注: 如果使用<Location /svn/>可列出D:/var/svnhome/projects 下的版本库,若为<Location /svn>则不能访问http://127.0.0.1/svn下的项目,而只能这样访问,http://127.0.0.1/svn/<projectname>

配置内容说明

设置

解释

<Location>

意思是Subversion版本库的URLhttp://ipaddress/svn/

DAV svn

告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。

SVNPath

告诉Subversion需要查看的版本库位于D:/var/svnhome/projects之下

AuthType Basic

激活基本认证,就是用户名/密码

AuthName

用来说明弹出要求输入认证信息的对话框信息,可以使用中文.

AuthUserFile

指定使用认证密码的文件

AuthzSVNAccessFile

位置Subversion版本库的访问控制权限的路径文件

Require valid-user

指定只有输入了正确的用户/密码的用户可以访问URL

(另外如果当此时通过访问http://127.0.0.1:8008/svn提示403 Forbidden错误的信息的话,主要是由于svnserve.conf此文件中的[general]内容password-db = passwordfile内容加入(或者将原来的#去掉,同时将passwd修改你所创建的密码文件,本例中为passwordfile),也可以实现根目录的访问了!)

备注:

这样做,还是会报403错误,将AuthzSVNAccessFile "D:/var/svnhome/projects/conf/svnaccessfile"注释就好了,可能是访问控制权限的路径文件有问题。

1.25 安装TortoiseSVN(可选)

    此工具是客户端软件,主要可以用于从服务器上check版本库项目以及updatacommit等相关SVN的管理操作,其下载地址为:http://tortoisesvn.net/downloads,另外还可以下一个语言包,都在给其的subversion官方网站上能下到.

备注:

装了TortoiseSVN后,导致我的XMLSPY 2005出错了,后来下了个XMLSPY 2006

 

5 简单应用

 

1)    Import

选择一个文件夹,点击右键,选择“TortoiseSVN->Import

弹出一框,URL of repository输入 http://localhost:8008/svn,OK

就会将该目录下的文件信息发送到版本库。

2)    SVN CheckOut

点击右键,选择“SVN CheckOut

3)    Commit

如果文件有修改,选择“TortoiseSVN->Commit

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章