最近工作需要,装了svn服务器,在网上找了很多,都不是太全太详细,故整理了一下安装过程供大家参考。
svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。如前面文章提到的spring。
svn服务器有2种运行方式:独立服务器和借助apache,本文介绍第二种方式的,这种方式无论何时何地都能访问服务器端程序代码或文件。
一、安装apache
Apache是世界使用排名第一的Web服务器软件。svn借助apache,就可以用http的方式访问我们svn服务器上的文件了。
下载地址:http://download.csdn.net/source/2901925
安装截图如下,基本上都是默认的选项。
安装的目录是:C:/Program Files/Apache Software Foundation/Apache2.2
安装成功后访问:http://127.0.0.1 出现如下界面:
第二步,安装subversion
下载Setup-Subversion-1.6.4.msi
下载地址:http://download.csdn.net/source/2902047
基本上也都是默认的,只管点击下一步就可以了。
第三步,配置svn
cmd进入到svn安装目录C:/Program Files/Subversion下,用svn命令创建svn版本库,命令如下:
svnadmin create --fs-type bdb d:/svn/respository
此时就创建了d:/svn/respository目录为svn版本库。
此时查看d:/svn/respository目录,会多出如下目录:
第四步:集成apache和svn
打开apache安装目录C:/Program Files/Apache Software Foundation/Apache2.2/conf,打开httpd.conf文件,
1,找到一下两行
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
把前面的#号去掉(#号是注释,此时把#号去掉就是让这两行起作用)
2,在以LoadModul开头的行最下的一行下边加上如下两行(其实位置不重要,但这样加更符合要求)
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
3,在文件最下边加上如下代码:
<Location /svn>
DAV svn
SVNParentPath "d:/svn"
AuthType Basic
AuthName "my Subversion Server"
AuthUserFile "d:/svn/repository/conf/passwd"
AuthzSVNAccessFile "d:/svn/repository/conf/authz"
Require valid-user
</Location>
其中AuthUserFile是密码的加密文件,AuthzSVNAccessFile是对应的用户名及其所在的组。
增加用户的时候首先在AuthzSVNAccessFile对应的文件里增加一个用户名,再用命令:
htpasswd -bm d:/svn/repository/conf/passwd username password
向d:/svn/repository/conf/passwd文件里增加该用户名的对应密码。其中username password这两个参数分别为对应的用户名和密码。
注意该命令是apache的,需要到apache的bin目录下C:/Program Files/Apache Software Foundation/Apache2.2/bin来使用。
此时访问http://127.0.0.1/svn/repository/输入自己的用户名密码就能看到服务器文件了。
注意:AuthzSVNAccessFile文件可以按照组或用户来控制每个人的操作每个目录的权限(增、删等),所以对于权限管理使用起来更灵活。
其中linux下安装于window下步骤类似,只是平台不一样罢了。
-- 2012-04-20 add
直接打开authz文件,新增用户。
进入apache的bin目录,使用htpasswd 命令来新增或修改用户的密码:
htpasswd -m d:/svn/passwd username