千里冰封
java 浓香四溢
posts - 151,comments - 2801,trackbacks - 0
因为工作需要,要架设一个subversion和apache一起工作的源码管理器.以便协同工作.于是网上找了一些资料,在找资料的过程中,也走了一些弯路,于是自己整理了一下安装的过程和一些注意的事项,希望能对大家有些帮助.
我这里用的ide是netbeans6.0,其实用什么ide都无所谓,只是netbeans一直是我喜欢的ide,所以顺便向大家推荐一下.呵呵.
好了,言归正传吧,要准备的东西如下:
1,apache_2.0.63-win32-x86-no_ssl.msi
下载:http://apache.mirror.phpchina.com/httpd/binaries/win32/apache_2.0.63-win32-x86-no_ssl.msi
2,svn-1.4.5-setup.exe
下载地址:http://subversion.tigris.org/files/documents/15/39559/svn-1.4.5-setup.exe
当然,你也可以选择安装tortoisesvn.但是我没有装,因为我的源码管理都是用netbeans完成的.

好了,准备的两个软件都下载下来以后,就可以开始安装了.
首先安装apache,一般来说直接点下一步就可以了,在设置domain以及host的时候,设置为localhost就可以了,email你可以填你自己的email,也可以随便填一个.安装apache要注意的是,你的电脑上80端口不能被占用,否则你的http服务是启动不起来的,我就遇到过这事,因为我用了skype,它在本机上打开了80和443端口来监听,搞得我一开始装不好,总是启动不起来,后来才发现是skype占用了80端口,于是把skype的设置改了以后,重装apache才成功.装好apache以后,这个时候,它已经在运行了,你可以在浏览器的地址栏输入http://localhost看看,是否安装成功,如果安装成功的话,这个时候浏览器里面应该是可以看到一个页面的.
然后,再安装svn-1.4.5-setup.exe,也很简单,一步一步点下步就可以了,在安装的过程中,它会默认选中一些选项,其中就有一个是是否对apache的http服务器提供支持的选项,这个默认是勾上的,不要去反选它,其它的你可以反选掉.然后svn就宣布安装成功了.你可以到cmd下面去试一下svn这个命令,如果有输出,则说明安装成功了,如果提示svn 不是内部或外部命令,也不是可运行的程序或批处理文件。那就说明没有装好.或者没有把这个命令加入到path中,所以最好的办法是到svn的安装目录下的bin里面去看一下.
两者都装好了以后,就开始配置,当然,配置也是最重要的.
首先要建立一个数据仓库,我们假设建在e盘,数据仓库最好不要建在c盘,因为c盘重装系统以后就格了.我们先在e盘下面建立一个目录叫svnroot,然后在svnroot下面再建立一个我们专门放我们工程的目录,比如叫myproject.于是我们在e盘下面就有了这个一个文件夹:e:\svnroot\myproject,然后我们用svnadmin的命令,使这个文件夹变成我们的数据仓库,命令如下:
svnadmin create e:\svnroot\myproject
如果运行成功的话,什么也没有输出,这个时候,我们再来到myproject文件夹下面,我们会发现多了几个文件夹和文件,我们打开conf文件夹,然后再打开svnserve.conf文件,找到如下行# password-db = passwd,然后把它前面的#去掉,表示myproject是需要密码验证的.但是我们密码设在哪里呢,这个时候我们再打开conf文件夹下面的passwd文件,用文本编辑器打开,在[users]下面加上我们需要启动的人员的用户和密码,比如
[users]
hadeslee=hadeslee1234
tom=123456

这个的话,我们就启动了两个用户,一个叫hadeslee,密码是hadeslee1234,一个叫tom,密码是123456.然后我们保存passwd文件.然后,我们再建一个文件,叫access.auth,这个文件是设置访问权限的,里面内容如下:
[myproject:/]
hadeslee = rw
[myproject:/module1]
tom=rw
hadeslee=rw

这表示,myproject下面的所有子目录hadeslee都是有权限读写的,但是tom只有权限读写此项目下面的module1目录,这个各自的访问权限就分的更细致了.有关于myproject文件夹下面的设置,我们就告一段落了,我们现在开始设置apache,使它能和subvertion一起工作.

首先来到subersion的安装目录,进入它的bin目录,我们会发现如下两个文件:
mod_authz_svn.so
mod_dav_svn.so

我们把这两个文件复制一下,粘帖到apache的安装目录下的modules文件中,然后我们再打开apache安装目录下的conf文件夹,打开httpd.conf文件.增加如下两行:
loadmodule dav_svn_module modules/mod_dav_svn.so
loadmodule authz_svn_module modules/mod_authz_svn.so

注意,由于dav_svn需要dav_module的支持,所以要确保下面这一行没有被注释,并且保证在dav_svn之前加载:
loadmodule dav_module modules/mod_dav.so
然后模块的设置就完成了,下面我们要设置svn的目录,以使我们的apache能知道访问不同的url的时候,它去哪里寻找这个url所对应的svn目录.
httpd.conf文件中,增加如下内容:

dav svn
svnpath e:/svnroot/myproject

authzsvnaccessfile e:/svnroot/myproject/conf/access.auth
satisfy any
require valid-user

authtype basic
authname "subversion repositories"
authuserfile  e:/svnroot/myproject/conf/users.auth
require valid-user


添加完上面这些,我们会发现access.auth是我们刚才新建的,可是users.auth我们并没有新建啊.怎么就把它加进去了.不要急,现在我们就来生成users.auth文件.

进入apache的安装目录的bin文件夹,输入如下命令:

d:\program files\apache group\apache2\bin>htpasswd -cb users.auth hadeslee hadeslee1234
automatically using md5 format.
adding password for user hadeslee

d:\program files\apache group\apache2\bin>

我们就会发现在bin目录生成了users.auth,我们可以看到,hadeslee用户名已经被添加进去了,密码是用md5加密过的.然后我们还要增加用户呢,可以用如下方法:
d:\program files\apache group\apache2\bin>htpasswd -b users.auth tom 123456
automatically using md5 format.
adding password for user tom

d:\program files\apache group\apache2\bin>


只是在生成密码的时候,小了一个c的参数,因为c表示重新生成一个这样的文件,我们第一次的时候是要加的,后面我们要添加用户的时候,就不用这个c了.然后打开users.auth,会发现两个用户都已经在里面了,这个时候,我们把users.auth移到e:/svnroot/myproject/conf/里面去,使我们上面的设置生效.

这个时候,我们的设置就完成了.可以在浏览器里面输入http://localhost/svn/myproject试试看.

如果以后我们还要加入其它的项目呢,可以有两点解决方式
1,把以后的项目也导入到我们的myproject的仓库中,这个的话,就不用改什么配置了
2,新建一个数据仓库,然后只要按上面的步骤,把新的设置放到httpd.conf里面就可以了.
当然,验证文件,访问权限文件,还有访问svn的密码都要自己按上面的方法再设一遍.

祝大家能够设置成功:)





尽管千里冰封
依然拥有晴空

你我共同品味java的浓香.
posted on 2008-03-12 18:59 千里冰封 阅读(35897) 评论(40)     所属分类: java扩展

feedback:
# re: apache和subversion集成安装与配置
2008-03-12 19:09 | beansoft
我汗!发表9分钟页面点击1811!大概是搜索引擎的bot!不错,svn。  回复  
  
# re: apache和subversion集成安装与配置
2008-03-12 20:34 |
windows下面用visual svn就好了,方便快捷,容易管理,而且也免费。  回复  
  
# re: apache和subversion集成安装与配置
2008-03-13 12:24 | 飘然
呵呵,我前段时间写了一个同样的东西,不过是在linux平台。  回复  
  
# re: apache和subversion集成安装与配置[未登录]
2008-03-20 21:44 |
不错,这个要支持!  回复  
  
# re: apache和subversion集成安装与配置
2008-03-24 16:13 |
我按照您的步骤,做了,过程很顺利
可是为什么在浏览器里面输入,
说找不到,有一个404错误  回复  
  
# re: apache和subversion集成安装与配置
2008-03-24 16:32 | 千里冰封
@ericloo
httpd.conf文件你有没有改成你自己的路径?  回复  
  
# re: apache和subversion集成安装与配置
2008-03-24 16:40 |
@千里冰封
改了,
还以为就是这个原因呢,结果还是不行
不过
输入,说不在服务器上  回复  
  
# re: apache和subversion集成安装与配置
2008-03-24 16:44 |
@千里冰封
好了!!!
还是路径的问题,
文章里的路径好像也有问题,

~~~~
dav svn
svnpath e:/svnroot/myproject
~~~~~

这两处不应该一样的吗?

我刚刚接触,呵呵呵

  回复  
  
# re: apache和subversion集成安装与配置
2008-03-24 16:45 | 千里冰封
loadmodule dav_module modules/mod_dav.so
有没有先导入mod_dav.so模块?
然后关键就在于

dav svn
svnpath e:/svnroot/myproject

前者的location后面的是指的相对于浏览器的根目录的目录
svnpath指的是你的svn的目录
前提是,你用了svnadmin在这个目录建了subversion的文件  回复  
  
# re: apache和subversion集成安装与配置
2008-03-24 16:49 |
哦,可能明白了。
真的很感谢。
昨天装了几次,没有成功。
今天看了这篇文章,一个多小时搞定。呵呵呵
谢谢  回复  
  
# re: apache和subversion集成安装与配置
2008-03-24 16:53 | 千里冰封
@ericloo
呵呵,搞定就好,不用谢 ,我自己也是碰过这种事情,后来才把它写下来的,否则,下次我自己也不会装了.  回复  
  
# re: apache和subversion集成安装与配置
2008-03-31 17:36 |
很详细 希望我安装的时候不出啥叉子!上帝保佑  回复  
  
# re: apache和subversion集成安装与配置
2008-04-15 17:42 |
最近刚要配置svn,谢谢楼主的教程~~~支持!  回复  
  
# re: apache和subversion集成安装与配置
2008-07-10 15:17 |
我按照你的方法进行安装,为什么出现403错误呢?
forbidden
you don't have permission to access /svn/myproject on this server.


apache/2.0.63 (win32) svn/1.4.5 dav/2 server at localhost port 80
密码和用户名没有错啊  回复  
  
# re: apache和subversion集成安装与配置
2008-08-28 10:01 |
装了很多次,还是出现这个问题:在浏览器里面输入,
说找不到,有一个404错误
不知道问题出现在哪,ericloo和楼主是怎么解决这个问题的啊,谢谢了  回复  
  
# re: apache和subversion集成安装与配置
2008-09-16 12:33 |
在浏览器里面输入,
在页面上显示:revision 0: /

不知道问题出现在哪,ericloo和楼主是怎么解决这个问题的啊,谢谢了  回复  
  
# re: apache和subversion集成安装与配置
2008-10-15 15:18 |
@dad
在页面上显示:revision 0: / ,说明你已经配置成功了。但是由于myproject为空。所以显示:revision 0: / 。你导入项目就能看到工程目录了。  回复  
  
# re: apache和subversion集成安装与配置[未登录]
2008-10-18 10:34 |
我把我的一个项目copy到myproject目录下,可以刷新页面,并没有出现我copy的项目,导入是这么个导法么? 谢谢楼主了,此帖珍藏了!  回复  
  
# re: apache和subversion集成安装与配置
2008-11-03 16:04 |
相当不错,十分感谢,哈哈  回复  
  
# re: apache和subversion集成安装与配置
2008-11-12 10:11 |
查资料看了别的文章后试了半天没用,这篇文章一试成功了,
可见有些人写的文章逻辑之混乱,这篇文章写的流畅有条理, 非常感谢。
  回复  
  
# re: apache和subversion集成安装与配置[未登录]
2008-11-28 14:52 |
楼主按照您的步骤,都配置好了,httpd.conf文件里也改成自己的路径了,
输入,老是出现404错误。不知道楼主是否知道是哪里错了????急啊~~~~
  回复  
  
# re: apache和subversion集成安装与配置
2008-11-28 18:59 |
@linda
如果你是按楼主配的话,是不会错的  回复  
  
# re: apache和subversion集成安装与配置
2009-03-31 18:30 |
呵呵...楼上说的太有意思了  回复  
  
# re: apache和subversion集成安装与配置
2009-06-05 11:09 |
"我这里用的ide是netbeans6.0"
我也是404错误
是不是跟这个有关,我没有装这个netbeans6.0  回复  
  
# re: apache和subversion集成安装与配置
2009-07-08 13:59 |
楼主我按照你这样配置下来,但浏览器中输入,就访问不到类库了,而我自己启动svn服务器,使用svn://localhost/oa能访问到  回复  
  
# re: apache和subversion集成安装与配置
2009-07-08 14:00 |
这只我在httpd.conf中加的配置  回复  
  
# re: apache和subversion集成安装与配置
2009-07-08 14:00 |
loadmodule dav_svn_module modules/mod_dav_svn.so
loadmodule authz_svn_module modules/mod_authz_svn.so

dav svn
svnpath e:\svnroot\oa

authzsvnaccessfile e:\svnroot\oa\conf\access.auth
satisfy any
require valid-user

authtype basic
authname "subversion repositories"
authuserfile e:\svnroot\oa\conf\users.auth
require valid-user

  回复  
  
# re: apache和subversion集成安装与配置
2009-07-08 14:01 |
望楼主能帮忙解决下,我qq303729254,等待楼主的帮助啊,弄了一天了,郁闷啊  回复  
  
# re: apache和subversion集成安装与配置
2009-08-21 14:37 |
我的也没有成功哦! 都试了好多遍了!   回复  
  
# re: apache和subversion集成安装与配置[未登录]
2009-09-15 16:19 |
按照这个方式,apache服务都启动不了  回复  
  
# re: apache和subversion集成安装与配置
2009-10-05 15:41 |
我按照这篇文章装的 结果是在ie里面可以访问库,但是用tortoisesvn却不能,可以帮我找找原因吗  回复  
  
# re: apache和subversion集成安装与配置
2009-10-09 09:57 |
为什么我的在安装svn的时候,没看到什么是否支持apache的选项啊,我装了三次都没看到,怎么回事  回复  
  
# apache和subversion集成安装与配置
2009-10-31 22:25 |
如果安装没问题,在,
大家可以重启下机器看行不  回复  
  
# re: apache和subversion集成安装与配置
2009-11-03 11:58 |
是的,安装和配置完要重启下机器。要不就是会出现404错误,我重启了一下就ok啦。  回复  
  
# re: apache和subversion集成安装与配置[未登录]
2009-12-27 18:04 |
thank you.按照楼主配置ok.
开始的时候也是出现404 error 重启了之后就ok.wowo.  回复  
  
# re: apache和subversion集成安装与配置
2010-04-30 13:43 |
@飘然
could you show me your article for that about install both apache and subversion in the linux. please.  回复  
  
# re: apache和subversion集成安装与配置
2010-11-05 14:29 |
我按照楼主的方式进行了配置 也没有报错 但是怎么样才能在localhost/svn/myproject下面运行动态页面呢比如index.php呢? 求楼主发邮件给我chenghuiyong1987@hotmail.com 或者 chenghuiyong1987@gmail.com  回复  
  
# re: apache和subversion集成安装与配置
2011-03-31 09:50 |
非常感谢,这个方法可用  回复  
  
# re: apache和subversion集成安装与配置[未登录]
2011-09-05 22:53 |
请问我怎么把java项目放到svn来管理呢?谢谢!  回复  
  
# re: apache和subversion集成安装与配置[未登录]
2011-09-05 22:53 |
@小傅
请问我怎么把java项目放到svn来管理呢?谢谢!  回复  
  

只有注册用户后才能发表评论。


网站导航:
              
 
网站地图