原文地址:http://spaces.msn.com/members/stevengong/ 关于svn | |||
很抱歉,最近比较忙,所以没有空回复,因为我希望能够多写一些东西。使用版本管理工具管理项目已经很久了,从一开始的cvs到现在的svn(接触过vss但是没有管理的经历)。要是一开始使用svn有点跟风的原因的话,那么我现在要说的是,现在使用cvs的管理员们,请尽快移植到svn吧,因为有"一千个移植的理由"(夸张)。 真不知道那时管理cvs的时光是怎么过来的,真是不堪回首啊!首先是配置的时候千万不能忘记配置cvswrapper,因为cvs没有自动判别binary的方式,所以必须让你告诉她。然后是branch的管理,打n个tag不说,进行merge的过程实在是不爽,发生重复merge的情况是常有的事。 svn似乎是专门为痛苦的cvs管理员设计的。我们再也不用为binary file发愁了,branch管理已经变得如此的轻松,以至于管理员们会以做branch为乐(别把我的话当真,branch管理的原则是尽量不要branch)。merge的过程连一个没有什么经验的程序员都会操作,这个是使用cvs的时候难以想象的。 另外,svn提供的http访问使得和其他系统的整合成为可能。尽管cvs有viewcvs的工具,但是其使用并不是那么自然。svn的http访问犹如访问文件系统,我们可以把一个url贴到某一个地方作为引用,多么神奇,这个引用具有了版本控制的能力,因为每一次的访问都是最新的版本。 当然,除此之外,svn的安装配置也是十分方便的,不过可惜没有一个完整的教程包含从0开始的安装,所以在这里我写了这样一个guide,一方面作为备忘,一方面作为对希望配置svn的人们提供方便。 圆圆给的url我看过了,那个是一个不错的贴子,不过说实话,我的确对m$的东西不怎么感兴趣,当然,如果m$会使用svn的话,我会感到很高兴的。 至于shadow authentication,我也是最近才找到的。我们以前都使用svn book里面提供的方式,用htpasswd来生成user/pass。但是这种方式的致命问题是,修改password很麻烦,因为我们都希望password是让自己设置的。通过和linux帐号的整合,可以让用户直接登录到系统上,自己修改。shadow authentication面临的最大问题是shadow这个文件是只有root有访问权限的,而web server使用的是apache帐号,所以shadow里面使用了一个validate程序,这个程序是setuid root的,而shadow module使用了pipe来和这个程序通讯。通过这种方式就可以在低权限的情况下访问高权限的文件了。当然,我还没有仔细研究过代码,这个是从文档里面看来的,有点shameless,呵呵! | |||
| |||
| |||
|
4月1日 |
A step-by-step configuration guide for SVN server setup with HTTPS based on shadow authentication |
Abstraction:This guide will step-by-step show the installation and configuration process for SVN server with HTTPS based on linux shadow authentication. Detail: Before you can install svn server with SSL support, please make sure you have openssl, svn, apache and mod_shadow_auth module packages at hand. You can download them below:
Firstly, please install openssl if you haven't. You can also find RPM binary in RH9 CDs. Install or update the svn RPM. The necessary RPMs are: apr, apr-util, neon, subversion, subversion-server. Then, compile apache2. I recommend you to compile mod_ssl and mod_dav as builtin module. (/path/to/configure --prefix=/path/to/installation --enable-ssl --enable-dav) Compile and install mod_shadow_auth. That is 'make all' and 'make install'. Note: before you enter 'make', please modify 'makefile' to make the env point to your apache2 installation. Now, it's done. You can begin configuring your SVN server now.
Now, start apache: /path/to/apache2/bin/apachectl startssl. You'll need to input your password for your rsa-key. Then all is done. Summary:The benefit for authentication based on shadow is that it's easy to integrate user management to os and let the management more smooth. (eg. modification of password) |