收藏 分享(赏)

apache2.2.11和svn1.6.1搭建svn版本控制平台自测实验通过(windows环境).doc

上传人:cjc2202537 文档编号:1318650 上传时间:2018-06-23 格式:DOC 页数:6 大小:73KB
下载 相关 举报
apache2.2.11和svn1.6.1搭建svn版本控制平台自测实验通过(windows环境).doc_第1页
第1页 / 共6页
apache2.2.11和svn1.6.1搭建svn版本控制平台自测实验通过(windows环境).doc_第2页
第2页 / 共6页
apache2.2.11和svn1.6.1搭建svn版本控制平台自测实验通过(windows环境).doc_第3页
第3页 / 共6页
apache2.2.11和svn1.6.1搭建svn版本控制平台自测实验通过(windows环境).doc_第4页
第4页 / 共6页
apache2.2.11和svn1.6.1搭建svn版本控制平台自测实验通过(windows环境).doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、一、安装第一步,安装 Apache2.2,下载后直接安装就可以了,没有什么难的。第二步,安装 Subversion1.6.1(目前最新版本),注意下载时,看是否支持Apache2.2;我使用的是 svn-win32-1.6.1.zip,解压之后即可使用。-二、整合第一步,打开 Apache 安装目录下的 httpd.conf 文件-找到下面的语句:#LoadModule dav_module modules/mod_dav.so#LoadModule dav_fs_module modules/mod_dav_fs.so将上面语句前面的#去掉-第二步,在这句后面追加,如下语句:LoadModu

2、le dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so将 subversionbin 目录下的 mod_dav_svn.so, mod_authz_svn.so 复制到apache 的 modules 目录下;同时复制 libapr-1.dll, libapriconv-1.dll, libaprutil-1.dll, libdb44.dll, libeay32.dll, libsasl.dll, ssleay32.dll 到 apache 的 bin目录下(覆盖)

3、;紫色部分中牵涉到的所要复制的文件因版本而异,以上所列的文件是参考其他资料的,但是在实际操作过程中发现是不正确的,拷贝过去后发现 Apache 无法正常启动,提示“mod_dav_svn.so”注册不到 server 中,这里解决的办法有两种,一是选择讲 subersionbin 中的所有.dll 文件全部复制过去,然后打开Apache,再进行删除.dll 文件,这时如果没用的.dll 文件 apche 不会做任何提示就可以删除!第二种方法是:用 depends.exe 文件打开“mod_dav_svn.so“ 文件,然后查看这个文件需要什么.dll,相应的从 subversionbin 目录

4、中拷贝到apachebin 中覆盖即可(depends.exe 文件已上传到附近中)。-这里还需注意的是.apache 无法启动的原因,DOS 窗口提示一下信息:httpd.exe: Could not reliably determine the servers fully qualified domain name, using 192.168.1.3 for ServerName这个问题的解决办法是在 httpd.conf 文本文件中找到:#ServerName IP:端口然后把#去掉即可,之后保存后就能启动 apache.-第三步,在这个文件的最后,追加如下语句:DAV svnSVNP

5、arentPath D:/SVN/repository其中/repository 是告诉 Apache 使用这个 URI 作为 SVN 的访问点,可以任选;下面 D:/SVN/repository 是 SVN 仓库的存储位置,也可以自己任选,但是这个目录一定要存在。上面这种是多库的配置方式,对于单库,可以把 SVNParentPath 变成SVNPath。这两个啥区别?简单来说,多库就是下面可以有多个 repository,比如可以用http:/localhost/repository/repo01,http:/localhost/repository/repo02 来访问不同的 reposi

6、tory,对应于 D:/SVN/repository 下面的子目录repo01,repo02,而单库只能用 http:/locahhost/repository/,来访问唯一的 repository。心急的人现在可能就去访问这几个 link 了,是不是结果让你失望啊?因为我们还没有建立 repository,当然不能访问, 建立的方法是用 SVN 安装目录bin 下面的 svnadmin.exe,在命令行输入“svnadmin create D:/SVN/repository/repo01”,就建立了 repo01,然后重启 Apache,再访问http:/localhost/reposito

7、ry/repo01,是不是看到了“Revision 0: /”?这说明版本库已经开始运作了(初始版本 0)。-第四步、基本认证和权限控制-SVN repository 成功跑起来,你的 repository 总要搞个用户名密码?此外 你可能还需要给不同的帐户或角色在不同的目录上赋予不同的权限(只读、可写。更改第三步中的设置DAV svnSVNParentPath “D:/SVN/repository“ AuthType BasicAuthName “your-names subversion repository“AuthUserFile “D:/SVN/svn_auth“Require va

8、lid-user红色这几行就是我们要的,其中 AuthName 随便写问题不大,那个AuthUserFile 也随便放,里面存的是用户名和密码。注意这个文件是 Apache生成的,可不是你随便建立个文本文件把用户名密码写进去就 OK:) 具体是用Apache 的 htpasswd 命令:htpasswd -c filename username #新建一个 password file,并写入 username 的信息,回车后提示你输入密码htpasswd filename username #在当前 password file 里面追加一个 username 的信息这一步做好后,重启 Apac

9、he,再用浏览器访问你的 repository,是不是提示你输入用户名和密码了基本的认证就是这样,接下来是权限。还是照例先改 httpd.conf:DAV svnSVNParentPath “D:/SVN“AuthzSVNAccessFile “D:/SVN/svn_rule“AuthType BasicAuthName “your-names subversion repository“AuthUserFile “D:/SVN/svn_auth“Require valid-user这个 svn_rule 是啥?其实就是个文本文件,这里没加扩展名是 Unix 的风格, 这个文件里定义了每个帐号

10、或者每个角色可以干什么。看几个例子:repo01:/user1 = rwuser2 = r 对于多库,定义其中的一个 repo01 下的所有目录,允许 user1 读写,user2 只读repo01:/Project1user1 = rwuser2 = r 和上面类似,只不过规定细化到了子目录:)/Project1user1 = rwuser2 = r groupsadmin = user1, user3readonly = user2, user4repo01:/admin = rwreadonly = r这个就是设定角色了,和前面的区别主要是有了 group,然后 group 的名字前面有

11、,为了和用户名区分。-下面的是我最终测试通过的 httpd.conf 文件中最后部分的内容!-DAV svnSVNParentPath “D:/svn/repository“AuthzSVNAccessFile “D:/svn/svn_rule“AuthType BasicAuthName “Ideal-SVN“AuthUserFile “D:/svn/svn_auth“Require valid-user-PS:在配置 SVN 时会因为版本的问题出现很多错误,我参考网上资料的时候大部分帖子都是一个模版,并且存在很多问题,以上是我搜集并且修改,亲自测试通过的 SVN 配置方法。下面还有一个关于

12、配置时容易遇到的 apache 的问题-可能遇到的问题:Apache 初次安装好后,可以试着启动它,用系统托盘里的 Apache Monitor,或者开始菜单里的快捷方式都是 ok 的。正常启动后,可以用浏览器访问http:/localhost 或者 http:/127.0.0.1, 如果看到页面上的“It works!”,就 OK。如果 Apache 启动过程中遇到什么麻烦,可以去系统的时间日志里看看究竟发生了什么,方法是“我的电脑”上右键-管理-事件查看 器,在“应用程序”和“系统”里都有可能出现,不妨都 check 一下。Apache 最常遇到的问题有两种,一个是端口被占用,另一个是配置

13、文件httpd.conf 语法出错。我们一般会采用默认的 80 端口,如果有其他 Process在监听这个端口的话,Apache 就无法启动。这时,要么选择给 Apache 换个端口,要么选择干掉占用端口的家伙。换端口只要在 Apache 的 httpd.conf 里面 Listen 配一下就行了,这里不加赘述。主要来说说第二种选择(这也是我经历的)。首先要找到是哪 个家伙占用了 80 端口,头号嫌疑犯当然是 IIS,去管理工具-服务里看看它有没有启动,如果有,干掉并设置为手动或禁用(前提是你确定不会在这台 机器上使用IIS,如果是公用的 server,万分小心咯。);如果不是 IIS,其他A

14、pplication Server 也有一些嫌疑,比如 Weblogic,Tomcat 之流,尽管他们默认端口不是 80,但不排除哪位在用它同时做 HTTP Server,解决方法一样,只是这种情况下往往就不能轻举妄动了,因为别人把默认端口该成 80 总是有目的的;如果这两个都被排除,那就不能在乱猜 测了,要凭证据抓人了:) 这里我们使用强大的 netstat 命令,让罪魁祸首无从藏身。具体的做法是在command line 下输入“netstat -n -ab”,看到了什么?是不是 list 了所有正在使用的端口号?更重要的是,后面还有对应的 PID ,接下来就是从身份证号找人了,在任务管理

15、器里,进程那个标签下,找到和 PID 对应的进程名字(没有 PID 那一列?查看-选择列)。这里说说我的情况,我的 80 端口被 System 占用,刚开始以为是 IIS,后来发现是 SQL2008 的 reporting 服务占用 80 端口,进入 SQL 的配置管理器把该服务停止后就能正常启动,一下是出错是 apache 的提示信息:-(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : make_sock: could not bind to address 0.0.0.0:80no listening sockets available, shutting downUnable to open logsNote the errors or messages above, and press the key to exit. 26.-Made by: 守望者/space/upload/2010/10/28/1374854533215.zip(depends.exe)/space/upload/2010/10/28/1375746563286.rar(apache_2.2.11-win32-x86)/space/upload/2010/10/28/1375978281237.zip(svn-win32-1.6.1)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报