Apache2.2 + subversion

注意:所有的配置都需要重新启动才会生效

软件准备:

1)apache_2.2.14-win32-x86-openssl-0.9.8k.msi

到apache官方网站下apache_2.2.14-win32-x86-openssl-0.9.8k.msi安装包(下载附件也可以)

http://archive.apache.org/dist/httpd/binaries/win32/apache_2.2.14-win32-x86-openssl-0.9.8k.msi

2)Subversion-1.6.13.msi

到http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100页面下载或用下面链接下载

http://down.51cto.com/download.php?do=attachment&aid=226934&k=9ceba7bd68a5485a2a81b6fd712946dd&t=1309170893

3)TortoiseSVN-1.6.16.21511-win32-svn-1.6.17.msi

到http://tortoisesvn.net/downloads下载TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi

http://nchc.dl.sourceforge.net/project/tortoisesvn/1.6.16/Application/TortoiseSVN-1.6.16.21511-win32-svn-1.6.17.msi

软件安装:

1)安装apache一般来说直接点下一步就可以了,在设置domain以及host的时候,没有自己的域名可以设置为localhost,Email填你自己的Email

出现下面两个选择项:

forAllUsers,onport80,asaService--Recommended.

onlyforCurrentUser,onport8080,whenstartedManually.

意思为:

为所有用户安装程序和快捷方式,端口80,作为服务安装,推荐

仅为当前用户安装程序和快捷方式,端口8080,启动apache服务手动启动

选择第一个注意80端口有没被占用,第二个则注意8080端口占用问题。装好apache以后,这个时候,它已经在运行了,你可以在浏览器的地址栏输入http://localhost看看页面是否出现:Itworks!出现则表明安装成功,没有出现,检查可能出现的问题。

(Here我就遇到了端口号被占用的情况,于是修改端口号)打开:C:\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\conf\httpd.conf,找到:Listen80

为防止端口号被占用我改成了:Listen8888

所以我访问的apache时候路径就得跟端口号:http://localhost:8888

2)安装Setup-Subversion-1.6.6.msi,这个简单,没有什么特别的

3)TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi安装,简单,不用细说。

配置:

在C:\ProgramFiles\Subversion\bin\目录下复制下面两个文件

mod_authz_svn.so和mod_dav_svn.so

粘帖到C:\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\modules,

然后我们再打开C:\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\conf\httpd.conf文件.

找到

#LoadModuledav_modulemodules/mod_dav.so

#LoadModuledav_fs_modulemodules/mod_dav_fs.so

去掉前面的注释符号#

然后再下面添加

LoadModuledav_svn_modulemodules/mod_dav_svn.so

LoadModuleauthz_svn_modulemodules/mod_authz_svn.so

注意不要随意改变顺序。可能出现其它错误。

模块的加载设置完成,下面我们要设置SVN的版本库目录,以使我们的apache能知道访问不同的URL的时候,它去哪里寻找这个URL所对应的SVN目录.

在httpd.conf文件中,增加如下内容:

<Location/svn/myproject>

DAVsvn

SVNPathE:/svnroot/myproject

AuthzSVNAccessFileE:/svnroot/myproject/conf/access.auth

SatisfyAny

Requirevalid-user

AuthTypeBasic

AuthName"Subversionrepositories"

AuthUserFileE:/svnroot/myproject/conf/users.auth

Requirevalid-user

</Location>

上面使用了access.auth,和users.auth两个文件,我们后面创建。

在e:\创建svnroot文件夹,然后通过svn的svnadmin命令创建数据仓库

(注意:E:\svnroot\myproject这个路径是区分大小写的,如果建议都小心。否则你就等着重新操作吧!)

svnadmincreateE:\svnroot\myproject

如果运行成功的话,什么也没有输出,也可以按如下操作来创建数据仓库

在e盘下新建E:\svnroot\下创建myproject文件夹,通过TortiseSVN来创建。

选中myProject右键选择TortiseSVN,选择二级菜单createrepositoryhere在这个目录创建数据仓库

在创建的myProject文件夹下面我们会发现多了几个文件夹和文件,打开conf文件夹,然后使用editplus(如果没有安装editplus,可以用记事本或者写字板打开)再打开svnserve.conf文件,找到如下行#password-db=passwd,然后把它前面的#去掉,表示myProject是需要密码验证的.再打开conf文件夹下面的passwd文件,用文本编辑器打开,在[users]下面加上我们需要的用户和密码,比如

[users]

admin=admin

tom=123456

我们就启动了两个用户,一个叫admin,密码是admin,一个叫tom,密码是123456.

然后保存为passwd文件.

我们再建一个文件,叫access.auth,这个文件是设置访问权限的,里面内容如下:

[myproject:/]

admin=rw

[myproject:/module1]

tom=rw

admin=rw

上诉只是对单个用户设置权限,如果需要配置组的权限可以如下配置:

[groups]

svn_manager=admin

svn_engineer=tom

[/]

*=r

[myproject:/]

@svn_manager=rw

[myproject:/module1]

@svn_engineer=rw

rw表示可读可写,r表示只读,多个用户用逗号隔开,这表示,myproject下面的所有子目录admin都是有权限读写的,但是tom只有权限读写此项目下面的module1目录,这个各自的访问权限就分的更细致了.

命令行模式下,到apache安装目录下的bin目录下操作如下:

C:\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\bin>htpasswd-cbusers.authadminadmin

AutomaticallyusingMD5format.

Addingpasswordforuseradmin

C:\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\bin>

为admin用户设置好密码,创建第一个用户时创建文件,添加第二个用户则不用创建,具体命令参数有细微区别,请注意-cb

C:\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\bin>htpasswd-busers.authtom123456

AutomaticallyusingMD5format.

Addingpasswordforusertom

C:\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\bin>

此时把C:\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\bin目录下的users.auth复制粘贴到E:\svnroot\myproject\conf目录下。

重新启动apache服务,通过http://localhost:8888/svn/myproject/

注:没改端口号的访问(http://localhost/svn/myproject/)

访问出现

myproject-Revision0:/

表示配置成功,客户端TortiseSVN配合使用。

好了,部署第一个项目:

在cmd命令行里输入:svnimportE:\test\file:///E:/svnroot/myproject/-m"testimport"

注意:

1.(E:\test\)是你要部署的项目

2.(file:///E:/svnroot/myproject/)这是你建立版本控制的仓库路径---里面的/千万注意别写成\,否则会操作失败。---

最后:

打开网址:http://localhost:8888/svn/myproject/

访问会列出你项目的版本信息

相关推荐