这几天把工作环境从windows下面转到linux了,因为用的java语言开发,项目移植还是蛮容易的,但不准备再用CVS来做版本控制系统了,决定换功能较强大的SVN,于是了解了下linux下安装Subversion的方法,现总结如下
文/囝泺 www.bluenuo.cn
编译安装相关软件(我们采用源码编译安装)
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.bluenuo.cn