版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、svn与apache服务器结合的配置过程一. 准备安装软件先下载Http服务器,官方网站为/ , 目前最新版本为Apache 2.2.6,我下载的是apache-2.2.15-win32.msi再下载SVN服务器,官方网站为 /,最新版本为 Subversion1.4.6,下载时要注意下载和 Apache2.2.x版本对应的,我下载的是Subversion-1.5.6( 服务端).msiTortoiseSVN,客户端程序。TortoiseSVN 是扩展 WindowsShell的一套工具,可以看作
2、 Windows资源管理器的插件,安 装之后 Windows 就可以识另U Subversion 的工作目录,点鼠标 右键即可看到。网址为/,我下载的是TortoiseSVN-4908-win32-svn-1.5.5.msi(svn 和tortoiseSvn版本最好一样,至少客户端版本要比服务端高,如果相差太远,Svn有可能读不了 tortoiseSvn 的文件夹的)TortoiseSVN的中文语言包,注意这个需要下和客户端程序版本相同的。这个可以在language packs下面下载。二. 安装1. 先安装Apache服务
3、器。自己手动填写 ServerInfo 。安装完成之后到安装目录下找到conf目录下的httpd.config文件,搜索Listen,并将Listen后面的80改为8080 (或者 你希望的端口),然后重新启动Apache服务器,这时可以用http:/localhost:8080 来测试是否安装正确。2. 再安装SVN服务器,直接解压即可。3. 安装TortoiseSVN ,很简单,一路安装下去。安装完毕 后会要求重启,重启后进行以下配置。三. 集成Apache和SVN首先将Subversion安装目录下面的两个文件:mod_authz_svn.so 和 mod_dav_svn.so复制至U
4、Apache 安装目录目录下; 再将Subversion安装目录下面的所有.dll文件复制到Apache安装目录目录下需要再修改httpd.conf ,并做如下修改:找到Apache安装目录下的conf目录,用文本编辑器打开httpd.conf ,找到一下两行:#LoadModule dav_module modules/mod_dav.so#LoadModule dav_fs_module modules/mod_dav_fs.so将每行前面的注释符 “# ”去掉。再在所有LoadModule 语句的 最后添加一下几行:#SVNLoadModule dav_svn_modulemodules
5、/mod_dav_svn.soLoadModule authz_svn_modulemodules/mod_authz_svn.so如图:Apache Service lon.it rService Status :Apachs/2 2.5 W血)SVN/1.4. 6 DAV/2注意下面的状态栏已经是 Apache/2.2.6 SVN1.4.6 DAV/2建立一个SVN存放文件的目录,例如:在 E盘下创建一个文件 夹:E:/svn接下来对Apache进行配置svn配置库所在的路径,可以通过 Location指令来完成这个设置。因为不希望为每个单独的项目 都进行单独的设置,所以我们把所有项目都存
6、放在统一的资源库 目录,那么可以使用SVNParentPath指令来指定存放所有项目的路径。在httpd.conf文件最后添加下面配置:(这是一个不用用户密码验证的一段简单配置)#SVN <Location /mysvn>DAV svnSVNListParentPath onSVNParentPath "E:/svn"(#SVNPath "E:/svn/NewMapGis"#认证的类型AuthType Basic#认证的名称,显示于登录提示框AuthName "Subversion资源库,请登录!”#Which passwordfi
7、le to use for authentication存储用户登录信息的文件AuthUserFile E:svnpasswd#限定各个用户或组在版本库中目录的访问权限AuthzSVNAccessFile E:svnsvnaccessfile#让所有用户对版本库都有读的权限而只有特定的用户才有写的权限Require valid-user )</Location>具体代码:<Location /mysvn>DAV svnSVNListParentPath onSVNParentPath "E:/svn"<Location>然后在e:svn下
8、建立一个版本库,例如 NewMapGis ,就是新 建一个NewMapGis的文件夹,然后进去,按右键 选择 TortoiseSvn 的在此创建版本库。创建好后,按右键 选择版本库浏览器,然后输入:8080/mysvn/NewMapGis注意的是端口改了 8080然后<Location /mysvn>设置的是mysvn ,而不是svn (虽然物理地址是e:svn ),如果 只是输入 :8080/mysvn 是不行的, 要进入到具体版本库,svn这个文件夹只是用来管理所有版本 库的。四. 设置基本的Http验证基本(Basi
9、c) 访问控制在之前的设定中没有启用身分验证的功能,可以实现访问都不需要帐户和密码,但是我们通常不希望所有人都能任意存取你的文 件库,免得重要资料外泄,或者资料被破坏,因此了解如何加入 身分验证也是必要的。Sebversion提供了多种验证使用者身份的方式,这里介绍 Basic访问控制,按下列步骤进行:1.修改 httpd.conf 的 <Location> ,设定如下:<Location /mysvn>/ (/mysvn说明 用 :8080/mysvn访问所以版本库的地址,是 http地址,和物理地址有区别)说明:<Location /svn&
10、gt;(意味着可以通过像这样的URL(http:/MyServer/svn) 来访问Subversion 版本库)<Location /svn>DAV svn(告诉Apache哪个模块负责服务像那样的URL 在这里就是 Subversion 模块)SVNListParentPath on(在Subversion 1.3及更高版本中,这个指示器使得Subversion 列出由SVNParentPath指定的目录下所有的版本库)SVNParentPath E:svn(告诉Subversion 在目录E:svn 下寻找版本库)AuthType Basic(启用基本的验证,比如用户名/密码
11、对)AuthName "Subversion repositories"(当一个验证对话框弹出时,告诉用户这个验证是用来做什么的)AuthUserFile E:svn htpasswd(指定E:svn htpasswd用为密码文件用来验证用户的用户名及密码)AuthzSVNAccessFile E:svn authz(指定E:svn authz 来限定各个用户或组在版本库中目录的访 问权限)Require valid-user(限定用户只有输入正确的用户名及密码后才能访问这个路径(此项表示,无论是IE还是Tortoise ,只有通过密码验证才能 访问)。)下面表示允许匿名访
12、问,对于读操作,不需要用户验证。#<LimitExcept GET PROPFIND OPTIONS REPORT#Require valid-user#</LimitExcept>具体代码:<Location /mysvn>(通过 :8080/mysvn/NewMapGis访问)DAV svnSVNListParentPath onSVNParentPath E:svnAuthType BasicAuthName "Subversion repository"AuthUserFile E:svnpasswdAut
13、hzSVNAccessFile E:svnaccessfile.#<LimitExcept GET PROPFIND OPTIONS REPORTRequire valid-user #</LimitExcept> </Location>然后在Apache 里添加用户,这些用户通过 Apache 里面的 httpd.conf 文件,上面的代码,把用户和svn联系。 在 Apache 的bin目录加到环境变虽Path ,以后直接可以调用 Apache bin 里面的htpasswd 命令,这个exe 命令只能在 dos下调用,把bin路径加到Pah里面,在dos下用
14、Apache bin 的htpasswd命令就不用一层层进入C:ProgramFilesApache SoftwareFoundationApache2.2bin,而是直接在 下打htpasswd 就可 以 了。用Apache 的htpasswd 指令生成用户名和密码:htpasswd -cm e:/svn/passwd.txt Ihb htpasswd -m e:/svn/passwd.txt Iszhtpasswd 的参数-c是创建文件的意思,故只在首次使用,仅 使用-m参数时也可用来修改密码。在下建立一个accessfile 名字的文件。如果AuthzSVNAccessFile &quo
15、t;e:/svn/accessfile.txt”(或者"e:/svn/accessfile ") 是没用.txt的 这个文件也不需要.txt配置文件库访问政策文件(假设 repository文件库下已经建直了 projectA 和 projectB ),如:repository:/usernamel = rwrepository:/projectAusername2 = rrepository:/projectA/trunk usernamel =username2 = rwrepository:/projectB* = rrepository:/projectB/trunkusername1 =小节名称中冒号前面的文件库名称不要轻易省略,省略就代表是针对所有文件库,这样是很为危险的,*号代表所有用户,等于号后面为空表示没有权限,mod_authz_svn 模块首先会找到 匹配自己的目录,然后是父目录,父目录的父目录,依次下去, 并会以最近找到的描述为准。另外,你还可以定义一组用户,然 后按组进行权限配置,比如:groupsdepartment=username1, username2department_2 = username3, username4, username5repository:/pro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合理利用网络说课稿分钟
- 碧桂园物业管家述职报告
- 教育器材租赁合同模板
- 胸腰椎骨折的诊断与治疗
- 温室大棚灌溉系统安装协议
- 新能源项目密封条模板
- 外卖公司墙布施工合同协议
- 城市住宅楼隔音改造合同
- 科研机构办公设备招投标书
- 城市有轨电车塔吊租赁合同
- 2024年吊车使用协议(一年期)
- 临床护理带教老师培训
- 水电站管护协议书范文范本
- 酒店直播方案
- 安徽省合肥市第五十中学西校区2024-2025学年期中考试七年级数学试题(无答案)
- 湖北省恩施市沙地初中2024-2025学年八年级数学上学期期中考试题卷(含答案)
- 国开2024年秋《大数据技术概论》形考作业1-4答案
- 旅游景区旅游安全风险评估报告
- 部编2024版历史七年级上册第三单元《第14课 丝绸之路的开通与经营西域》说课稿
- 医院介绍课件模板
- DZ∕T 0148-2014 水文水井地质钻探规程(正式版)
评论
0/150
提交评论