八月 22, 2010

Linux下安装使用Subversion

Written by
    这几天把工作环境从windows下面转到linux了,因为用的java语言开发,项目移植还是蛮容易的,但不准备再用CVS来做版本控制系统了,决定换功能较强大的SVN,于是了解了下linux下安装Subversion的方法,现总结如下

 


编译安装相关软件(我们采用源码编译安装)
a.httpd
下载地址:http://httpd.apache.org
下载
httpd-*.tar.gz (*为版本号,这里使用的是2.8.8)
安装
#tar -zxvf httpd-2.8.8.tar.gz
#cd httpd-2.8.8
#./configure –enable-dav –enable-so –enable-maintainer-mode
#make
#make install
b.
Berkeley DB
下载地址:http://www.oracle.com/technology/products/berkeley-db/index.html
下载
Berkeley DB 4.7.25.tar.gz
安装
#tar -zxvf db-4.4.20.NC.tar.gz
#cd db-4.4.20.NC/build_unix/
#../dist/configure –prefix=/usr/local/bdb
#make
#make install

c.Subversion
下载地址:http://subversion.tigris.org
下载
subversion-*.tar.gz subversion-deps-*.tar.gz包下下来,后一个包里是一些依赖程序,把2个包放在同一个目录下,解压缩,解压的文件会自动放到同一个文件夹下。
安装
#tar -zxvf subversion-1.2.3.tar.gz
#cd subversion-1.2.3
#./configure –with-berkeley-db=/usr/local/bdb –with-apxs=/usr/local/apache2/bin/apxs
#make
#make install

安装成功后你可以使用 #svnadmin –version检查是否安装成功
安装成功会出现
svnadmin,版本 1.4.6 (r28521)
   编译于 May  6 2008,19:55:08
…………
配置
配置Subversion
# mkdir /home/*/svn(*代表用户目录)
# cd /usr/local/subversion/bin
# ./svnadmin create /home/*/svn/test
这样我们就在svn下面建立了一个test仓库
修改httpd配置文件
# vi /usr/local/apache2/conf/httpd.conf
在最下面添加如下内容

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /home/*/svn/ //svn父目录
AuthzSVNAccessFile /home/*/svn/authz.conf //权限配置文件
AuthType Basic //连接类型设置
AuthName “Subversion.zoneyump” //连接框提示
AuthUserFile /home/*/svn/authfile //用户配置文件
Require valid-user //采用何种认证
</Location>
//其中authfile是通过”htpasswd [–c] /home/*/svn/authfile username password”来创建的
//”Require valid-user”告诉apache在authfile中所有的用户都可以访问。如果没有它,
//则只能第一个用户可以访问新建库
修改好后保存,重启apache
# ./usr/local/apache2/bin/apachectl restart

 

权限管理

1)增加用户
# ./usr/local/apache2/bin/htpasswd [-c] /home/*/svn/authfile wooin
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
# ./usr/local/apache2/bin/htpasswd authfile 用户名(加入新的用户)
2)权限分配

# vi /home/svnroot/repository/authz.conf
   [test:/] //这表示,仓库test的根目录下的访问权限
   wooin = rw //test仓库wooin用户具有读和写权限
   bao = r //test仓库bao用户具有读权限
   [test2:/] //test2仓库根目录下的访问权限
   wooin = r //wooin用户在test2仓库根目录下只有读权限
   bao = //bao用户在 test2仓库根目录下无任何权限
   [/] //这个表示在所有仓库的根目录下
   * = r //这个表示对所有的用户都具有读权限
   #[groups] //这个表示群组设置
   #svn1-developers = wooin, bao //这个表示某群组里的成员
   #svn2-developers = wooin
   #[svn1:/]
   #@svn1-developers = rw //如果在前面加上@符号,则表示这是个群组权限设置

 

将这个设置完成后。重启Apache,就可以通过
http://localhost/svn/test
这个URL来访问仓库了

至于在eclipse使用svn就需要自己安装svn插件了

这里介紹Eclipse的SVN Plugin,叫做Subclipse,官方网站的下载地址在http://subclipse.tigris.org/,也提供了update site http://subclipse.tigris.org/update
Eclipse 的使用者可以通过Eclipse的插件自动下载和更新功能来安装这个插件,在Eclipse的菜单中选择Help->Software Updates->Find and Install-> Search for new features to install ->New Remote Site。URL中就输入http://subclipse.tigris.org/update,Eclipse就会自已安装上了.

安装完成后,在Eclipse的plugins中就会多了5个包,命名为org.tigris.subversion.*的都应该是了。打开 Eclipse,window->show view窗口中多了一个SVN文件夹,到此就证明svn插件成功的安装上了。具体的使用方法,在Eclipse的Help中有详细的帮助 Subclipse – Subversion Eclipse Plugin,教你一步一步的使用SVN的客户端了。如果你对subversion想进行深入的了解,那么看看help中的Version Control with Subversion一定有所收获,通过本人的观察,这份文档和sbuversion安装文件中提供的官方文档一样,这里看起来就更舒服些了。

注:本文是总结前辈资料的成果

 

本文来自:http://www.blogjava.net/chybox/archive/2008/05/09/199448.html

Category : Linux/Unix其他

Tags :

Comments

No Responses

发表评论

电子邮件地址不会被公开。

Proudly powered by WordPress and Sweet Tech Theme