本节继续介绍MyEclipse下SVN安装,SVN这一版本控制工具现在正越来越受到用户的欢迎,用途也越来越广,下面就让我们一起来看一下SVN安装的相关介绍希望你能学到SVN更多的知识。
4.安全配置Subversion
4.1首先解释3.4种配置信息的用途。
4.1.1<Location/svn>
说明我们所有的代码仓库在/svn这个虚拟目录下
4.1.2DAVsvn
说明Apache会使用svn这个module来解析这个虚拟目录
4.1.3SVNParentPathe:\SVN
说明所有的代码仓库都在本地硬盘的e:\SVN下
4.1.4AuthTypeBasic
使用最基本的认证校验,用户名/密码
4.1.5AuthName“Subversionrepositories”
说明在认证对话框弹出的时候,对话框的标题显示,你可以把它修改成你想要的任何提示信息,比如:AuthName“Warning”等等
4.1.6AuthUserFilepasswd
说明我们使用的accesslist文件的名字,在上一讲中我们建立的文件名字是passwd,所以这里是passwd。如果你建立的文件名字是其他的,这里要作相应的改动
4.1.7AuthzSVNAccessFile
说明svn自己控制的accesslist文件,这个文件很重要,可以丰富svn的安全配置,在下面会讲到
4.1.8Requirevalid-user
说明只有输入正确的用户名/密码才能访问
4.2对代码仓库进行更细致的控制
MyEclipse下SVN安装过程中,如果你对于代码仓库里面某些目录还有更细致的访问控制,只用passwd就没办法啦,这个时候我们就需要AuthzSVNAccessFile文件了,去掉#AuthzSVNAccessFilesvnaccessfile这一行前面的注释。Apache首先会使用passwd校验用户名和密码,然后会认证信息传给Subversion的AuthzSVNAccessFile模块,由这个模块作更进一步的权限控制。
首先我们来新建一个文件svnaccessfile,内容如下:
- [groups]
- developers=user1,user2,user3,user4
- docs=user5,user6,user7
- #toalloweveryonereadaccess
- [/]
- *=r
- #allowalldeveloperscompleteaccess
- @developers=rw
- #givethedocpeoplewriteaccesstothedocsfolder
- [/project/trunk/doc]
- @docs=rw
首先我们定义了两个group,一个是developer,代表开发组,另外一个是docs,代表文档撰写组,然后[/],*=r
意思是对于所有的用户开放可读的权限。注意这里的[/],表示是对根目录下的所有代码仓库赋予权限。接着是
@developers=rw
[/project/trunk/doc]
@docs=rw
这里再说说SVNParentPath,配置了SVNParentPath,以后每次在根目录下面加入新的repository就不需要再重新配置Subversion和Apache了,自动获取了根目录的配置信息,很方便。然而这也引发了另外一个问题,当你在浏览器地址栏里输入http://youserver/svn/的时候,服务器会报错,提示你没有权限访问访问这个url,我们想要的效果是浏览到这个url时能够把根目录下的所有的repository列出来。完成这个工作需要写点代码了,使用的工具可以是很多,这里使用php。MyEclipse下SVN安装需要访问代码库。
4.3使用php使得可以通过web访问代码库
4.3.1首先去某网站下载php。
4.3.2将下载的php压缩文件解压,文件夹改名为php复制到你想放置的目录路径下,注意目录名不能有空格,否则apache会找不到相关的module,比如D:/php-4.3.10RC1-Win32。
4.3.3打开刚才解压的PHP目录,你会发现有一个叫做”php.ini-dist”的文件,这就是PHP的配置文件了,你需要把它改名成”php.ini”,然后复制到系统目录windows(2K应该是winnt)下。打开这个配置文件,把;cgi.force_redirect=1改成cgi.force_redirect=0,这样做是强迫不运行在cgi模式下,我们希望php工作在Apache的module模式下。
4.3.4PHP安装目录下的”php4ts.dll”必须要复制到windows系统的system32目录下。
4.4.5dlls和extensions目录里的所有文件拷到system32里。
4.4.6打开Apache的配置文件http.conf,在module配置节末尾加上LoadModulephp4_moduleD:/php-4.3.10RC1-Win32/sapi/php4apache2.dll和AddTypeapplication/x-httpd-php.php.php3.php4
4.4.7如果下载得到是php5的话,仍然做与上面类比作操作,应该也很容易吧~~
4.4.8用文本编辑器编写一个php文件,保存为svn_index.php,内容如下:
- <html>
- <head>
- <title>SubversionRepositories</title>
- </head>
- <body>
- <h2>SubversionRepositories</h2>
- <p>
- <?php
- $svnparentpath=“e:/svn”;
- $svnparenturl=“/svn”;
- $dh=opendir($svnparentpath);
- if($dh){
- while($dir=readdir($dh)){
- $svndir=$svnparentpath.“/”.$dir;
- $svndbdir=$svndir.“/db”;
- $svnfstypefile=$svndbdir.“/fs-type”;
- if(is_dir($svndir)&&is_dir($svndbdir)){
- echo“<ahrefahref=\”".$svnparenturl.“/”.
- $dir.“\”>”.$dir.“</a>\n”;
- if(file_exists($svnfstypefile)){
- $handle=fopen(“$svnfstypefile”,“r”);
- $buffer=fgets($handle,4096);
- fclose($handle);
- $buffer=chop($buffer);
- if(strcmp($buffer,“fsfs”)==0){
- echo”(FSFS)<br/>\n”;
- }else{
- echo”(BDB)<br/>\n”;
- }
- }else{
- echo”(BDB)<br/>\n”;
- }}}
- closedir($dh);
- }
- ?>
- </p>
- </body>
- </html>
上述php文件中svnparentpath=“e:/svn”;需要注意,你的subversion的代码仓库的根目录可能并不在e:/svn,请修改和你自己设置一样的路径。更改Apache的配置文件http.conf文件,把#LoadModulerewrite_modulemodules/mod_rewrite.so前面的注释去掉。然后在文件末尾加上如下几句:
RewriteEngineon
RewriteRule^/svn$/svn_index.php[PT]
RewriteRule^/svn/$/svn_index.php[PT]
RewriteRule^/svn/index.html$/svn_index.php[PT]
5MyEclipse下SVN安装完成后如何在在MyEclipse中使用SVN?
5.1引入相关的plugins和features
在$MyEclipse\eclipse\plugins\下应有org.tigris.subversion.javahl.win32_1.2.2.jar,org.tigris.subversion.subclipse.core_1.2.2.jar,org.tigris.subversion.subclipse.doc_1.2.0.jar,org.tigris.subversion.subclipse.mylar_1.0.1.jar,org.tigris.subversion.subclipse.ui_1.2.2.jar。
在$MyEclipse\eclipse\features\下应有org.tigris.subversion.subclipse.mylar_1.0.1,org.tigris.subversion.subclipse_1.2.2。
5.2重起MyEclipse。在windows->preferences->team中应该可以看到SVN了。这时就可以使用SVN的相关功能了。本节MyEclipse下SVN安装问题介绍完毕。
【编辑推荐】
- 技术指导:Subversion安装配置(Windows)之详解
- Subversion和TortoiseSVN如何在Windows下进行构建SVN版本控制
- 深度剖析:Subversion服务器安装配置
- MyEclipse中SVN安装配置新手指南
- MyEclipse下配置SVN专家全程指导