之前做JAVA的时候一直都是用visualsvn,因为不喜欢手动去配置。
如今开始对手动配置的东西有点兴趣了,于是昨晚搞到凌晨终于第一次成功安装collabnet 1.6.12并手动配置了apache服务器。
兹撰文记下,以作日后参考。言入正题:
Chapter 01 当前环境描述
- 硬件平台:Dell PC、局域网、无代理服务器
- 系统环境:Windows Vista Home Premium Service Pack2 32bit 中文oem(dell)版
- 软件环境:
- Collabnet Subversion 1.6.12、此前未安装过其他版本的svn服务器及类似软件
- 首次安装使用apache服务器
- 文本编辑器: gVim.
- 自定义环境变量:"%M2%;%CATALINA_HOME%;%JAVA_HOME%/bin;%GROOVY_HOME%/bin;%RUBY_HOME%/bin;%GWT%;%ANT_HOME%/bin;"
Chapter 02 安装过程
- 下载Collabnet Subersion 1.6.12,右键点击安装文件选择“以管理员身份运行”。
- 因为C盘基本已满,所以我的安装路径跟默认有区别。程序目录是"D:/xProgram Files/CollabNet/Subversion Server"(下文全部 以"%svn_root% "代之)
- 我的svn repository的路径是"D:/Data/svn_repository"(下文全部 以"%svn_repository% "代之)
- 其他部分留默认,直到安装完成
- 运行services.msc,如果看到"Collabnet Subversion Apache"&"Collabnet Subversion svnserve"两个服务已被注册,则表明安装已成功。其实我自己安装的时候第一次只看到一个,第二天起床后才看到了两个(忘了是那个了)。所以如果只看到一个被注册成了服务也不必惊慌,也不必重启,继续配置吧。
Chapter 03 配置apache
- 安装好后进入安装目录%svn_root% ,里面有一个httpd目录,这里面就是Apache服务器。
进入httpd下的bin目录,可以看到Apache服务器的各个程序。 双击“ApacheMonitor.exe”打开Apache控制台,可以看到控制台的状态栏有如下内容:“Apache/2.2.15 (Win32) DAV/2 SVN/1.6.12”。 这说明Apache与Subversion在安装的过程中已经整合成功。(这段参考 ) - 创建工程:进入到%svn_root% /httpd/bin, 运行"svnadmin create %svn_repository% ",这时候会看到在%svn_repository%下面已经生成了如下目录结构.
%svn_repository%
├─conf
├─dav
│ └─activities.d
├─db
│ ├─revprops
│ │ └─0
│ ├─revs
│ │ └─0
│ ├─transactions
│ └─txn-protorevs
├─hooks
└─locks
- 用文本编辑器打开%svn_root% /httpd/conf/httpd.conf
找到下面两行
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
在后面一行添加"LoadModule authz_svn_module modules/mod_authz_svn.so"
找到<Location /svn>标签,将这标签之间的内容改成
DAV svn
SVNPath "%svn_repository% "
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile "%svn_repository% /conf/passwd"
AuthzSVNAccessFile "%svn_repository% /conf/authz"
Require valid-user
- 进入%svn_root%/httpd/bin 运行
“htpasswd -cm %svn_repository% /conf/passwd admin”
然后输入密码:
New password: ******
Re-type new password: ******
Adding password for user admin
- 用文本编辑器打开 %svn_repository% /conf/authz, 将所有的东东都注释掉,添加如下内容
[groups]
committers=admin
#developers=allen
[/]
*=r
#@developers=r
@committers=rw
[projects:/]
#@developers=rw
其中用#前缀的部分是被行注释掉的部分。这段代码是从"http://developer.51cto.com/art/201005/200381_1.htm"这里抄袭 并修改过来的。这里采用了人员组、人员和授权三者分开的授权方式。
接着重启Apache服务器,在本地打开"http://localhost/svn".当你看到"rep - Revision 0: /"的时候,就说明已经配置成功啦~~:)
特别鸣谢internet上各位的指导。上班去~~