您的位置主页 > SVN配置

svn+trac+websvn+svn_eclipse插件

svn+trac+websvn+svn_eclipse插件
1.安装 subversion<br /># apt-get install subversion subversion-tools<br /><br />创建一个新的储存库:<br />#svnadmin create /svn/repository<br /><br />在/svn目录创建一个新的空储存库,数据储存方式默认采用Berkeley DB。<br /><br />导入你的源码:<br /># svn import /svn/repository file:///data/svn/ldap<br /><br />把/data/ldap整个目录导入到储存库中的repository目录中,储存库的repository目录会自动创建。<br />显示储存库内容:<br /><br />mt@mtmt:~$ svn list file:///svn/repository<br />.cache/<br />.project<br />.projectOptions<br />.settings/<br />bbscnmo/<br />newcnmo/<br /><br />显示目录内容,成功导入。<br /><br />上面使用了file:///形式的URL来访问Subversion库,这表示在本地通过文件系统访问。但我们的Subversion库可能需要通过网络被其它用户访问,这就需要用到其它的协议,下表是Subversion支持的各种访问协议:<br /><br />访问协议<br />协议 访问方法<br />file:/// 通过本地磁盘访问。<br />http:// 与Apache组合,通过WebDAV协议访问。<br />https:// 同上,但支持SSL协议加密连接。<br />svn:// 通过svnserve服务自定义的协议访问。<br />svn+ssh:// 同上,但通过SSH协议加密连接。<br /><br /><br />2.配置 subversion 与Apache组合通过WebDAV方式访问Subversion库<br /><br /># apt-get install apache2 libapache2-svn<br /><br />配置文件位于/etc/apache2/mods-enabled/目录下,配置文件共有两个,分别是dav_svn.conf和dav_svn.load,dav_svn.load文件负责装载必要的模块,内容如下:<br /><br /># Load mod_dav_svn when apache starts<br />LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so<br />LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so<br /><br />在装载mod_dav_svn.so前,必须先装载mod_dav.so模块。它由dav.load文件控制,内容如下:<br /><br />LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so<br />dav_svn.conf是mod_dav_svn.so模块的配置文件,内容如下:<br /><br /># dav_svn.conf - Example Subversion/Apache configuration<br />#<br /># For details and further options see the Apache user manual and<br /># the Subversion book.<br /><br /># …<br /># URL controls how the repository appears to the outside world.<br /># In this example clients access the repository as http://hostname/svn/<br />#设置访问路径<br /><br /># Uncomment this to enable the repository,<br />DAV svn #启用by siko<br /><br /># Set this to the path to your repository<br />SVNPath /data/subversion #设置储存库路径,仅支持单个储存库,该路径要可被Apache进程访问。<br />#SVNParentPath /data/subversion #如果subversion下有多个储存库,则用SVNParentPath<br /># The following allows for basic http authentication. Basic authentication<br /># should not be considered secure for any particularly rigorous definition of<br /># secure.<br /><br /># to create a passwd file #按下面的步骤创建Apache用户验证文件<br /># # rm -f /etc/apache2/dav_svn.passwd<br /># # htpasswd2 -c /etc/apache2/dav_svn.passwd dwhedon<br /># New password:<br /># Re-type new password:<br /># Adding password for user dwhedon<br /># #<br /><br /># Uncomment the following 3 lines to enable Basic Authentication<br />AuthType Basic #启用Apache基础验证<br />AuthName “Subversion Repository” #设置验证框标题<br />AuthUserFile /etc/apache2/dav_svn.passwd #指定验证用户文件名<br /><br /># Uncomment the following line to enable Authz Authentication<br />AuthzSVNAccessFile /etc/apache2/dav_svn.authz #启用目录级别授权,dav_svn.authz是授权配置文档<br /><br /># The following three lines allow anonymous read, but make<br /># committers authenticate themselves.<br /><br />#<br />#允许匿名访问,不允许Commit,不能与AuthzSVNAccessFile同时使用<br />Require valid-user<br />#<br /><br />修改/data/subversion目录访问权限使它可被Apache进程访问,我的Apache是用www-data启动的,所以设置方法如下:<br /><br /># chown -R www-data.www-data /data/subversion<br /><br />通 过Apache的用户验证功能可以区别匿名用户和验证用户,从而赋予匿名用户读权限和验证用户读/写的权限。这些权限只能在全局范围内设置,不能设置具体 的某个目录是否能被某个用户操作。要实现目录级别的授权,就要使用mod_authz_svn.so模块提供的 AuthzSVNAccessFile指令。它会指定一个授权文档,该授权文档设置具体的目录权限。根据上面的配置,授权文档名叫 dav_svn.authz,它的内容如下:<br /><br />[groups] #定义组<br />admin=jims,ringkee<br />tests=tester1,tester2<br /><br />[erp:/] #定义erp储存库根目录的访问权限<br />@admin=rw #admin组有读写权限<br />tests=r #test用户只有读权限<br /><br />[oa:/test] #定义oa储存库下test目录的访问权限<br />*= #禁止所有用户访问,星号代表所有用户,权限为空代表没有任何权限<br />ringkee=rw #打开ringkee用户的读写权限<br /><br />在该文件中使用的用户需在apache2的用户文件/etc/apache2/dav_svn.passwd中预先设置好。<br /><br />3.安装trac #sudo apt-get install trac 配置TRAC<br /><br />#cd /trac/<br />#trac-admin repository initenv<br /><br />在运行trac-admin时有一步设置需要注意,就是”Path to repository”,要指向上面的/svn/repository<br /><br />chown -R www-data.www-data /trac/repository<br /><br />以CGI方式运行TRAC,有一些设置要做<br />建立密码文件:<br />htpasswd -c /somewhere/trac.htpasswd username<br /><br />编辑apache的apache2.conf<br /><br />#edit by siko@ 2006.11.24<br />ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi<br />SetEnv TRAC_ENV “/trac/repository”<br /><br />Alias /tracdoc “/usr/share/trac/htdocs/”<br /><br />Options -Indexes -MultiViews<br />AllowOverride None<br />Order allow,deny<br />Allow from all<br /><br />AuthType Basic<br />AuthName “Trac”<br />AuthUserFile /home/mt/trac.htpasswd<br />Require valid-user<br /><br />重启apache使其生效<br /><br />4. svn的eclipse插件 安装配置:<br />1.更新安装http://subclipse.tigris.org/update的subclipse插件<br />2.安装完成后eclipse会自动重启后,在svn的透视图中可以看到svn的相关菜单<br />3.将新的 SVN 资源库添加至“SVN 资源库。url为http://your_ip/svn<br />4.引用项目成功后,便可以用前面的用户名和密码来更新和提交工程内文件了。<br />5.subclipse的较新版本都是中文的,详细操作略。svn有很多的客户端,在此只通过命令行来操作,结合eclipse的插件来控制版本并不涉及任何客户端程序。<br /><br />



<br>

<br>