如题,分成3个部分:
1、SVN服务器搭建。操作系统Ubuntu 14.04.2 LTS。具体方法度娘很多,不再细数。
安装:sudo apt-get install subversion
创建版本库:sudo mkdir /home/svn/repo,svnadmin create /home/svn/repo
此处需要注意的是文件目录的权限,因为要跟apache2整合,因此权限使用的是www-data:subversion,755
2、安装apache2的相关模块。
安装:sudo apt-get install libapache2-svn
在apache2中启用相关的模块:ln -s ../mods-available/dav_svn.conf /etc/apache2/mods-enabled/dav_svn.conf。需要启用的模块有:/etc/apache2/mods-enabled下有:dav_fs.load、authz_svn.load、dav_svn.conf、dav_svn.load、dav.load
修改相关配置:dav_svn.conf,注意配置一个目录、两个文件(用来鉴权)的位置.其中第7行让我走了很多弯路,默认的dav_svn.conf中这一行是mod_authz_svn.c,去掉注释后怎么都无法在apache2中启用权限控制,直到无意中发现启用的模块是authz_svn.load,而不是mod_authz_svn.load,试着删掉mod_前缀,成功了。
dav_svn.conf:
<Location /rep> DAV svn SVNPath /home/svn/repo AuthType Basic AuthName "My Repository" AuthUserFile /home/svn/dav_svn.passwd <IfModule authz_svn.c> AuthzSVNAccessFile /home/svn/dav_svn.authz </IfModule> Require valid-user
</Location>
/home/svn/dav_svn.passwd:需要安装apache2-utils后使用htpasswd -c /var/svn/repos/conf/passwd test1新建用户(第一个用户才要加-c参数)
/home/svn/dav_svn.authz:
[groups] Admin=usera Develop=userb Tester=userc [/] @Admin=rw [project1] @Develop=rw @Tester=r
最后重启apache2生效。
3、在eclipse中使用SVN,需要安装SVN插件:现在是1.10版。URL:http://subclipse.tigris.org/update_1.10.x。插件不大,但网络奇慢。
新建项目可以直接在项目上点击右键,选Team->Share Project,按提示新建项目。
如果权限生效了,会弹出提示输入账号密码。