上周的group scheme 是搭建subversion. 不过没有顺利完成。总结一下失败的教训吧。做任何事情前一定要先做好充分的准备,了解一个大的框架,指定好一条可以走通的路,然后坚持的走下去。
第一, 确定版本,一般用最新的。
第二, 如果有很多路都可以走通,那么首先要多上网查资料,看看已经做通的是多用哪条路,然后在已经知道项目框架的前提下自己选择一个好的方法走下去;
第三, 定期自己总结一下现在项目做的了什么程度,有哪些已经解决的了,有哪些还没有解决,哪些不确定; 如果不确定的地方太多,而且在资料上也找不到好的方法,可以考虑换另一条不同路走了,而换的这条路你要明确他是否可以明显的弥补你的当前的问题,你要清楚这二条路的不同之处。
现在说说我在做subversion时的经历,subversion 的server有二种运行模式,即:apache+svn
和 用其自己的一个独立的服务svnserve。刚开始自己选择了apache+svn的这条路,当然,那时不知道这二种运行模式的服务器配置的具体的优缺点。而且当时最大的失误就是前期的资料准备和工具准备都太仓促了,都没有想好一个统一的版本! 在走apache的前期就遇到了一个小问题,但是自己没有去研究就放弃了,为什么呢,因为这不还有svnserve的方式么于是自己就有又去走svnserve的这条路了,前期走的很顺利,但是到了后面,种种不明确的错误就出现了,然后就一直的陷在解决问题上,但是最后已经到了一团糟的场景。然后经过了几天的折磨,知道了原来apache在解决这方面做的很好。 到了最后,分析svnserve这条路有太多的不确定了,就又回到了apache。并重新开始,这次有了svnserve的教训后,上来先是小心的确定编译用的源码,版本尽量最新,尽量的统一,然后就是找相关的文档,当然也要和你定下来的版本相同,因为不同的版本在配置的参数多有不同。这次,工具齐了,资料也充足了,关键是自己知道了大的框架,知道自己每一步要做得在主树干上处于什么位置,下一步大概怎么走,就这样,仅用了半天时间,就将subversion成功的配置了起来。在这次的工作中,自己走的每一步都记录在了README中,一步一步走的很扎实,在哪一步遇到了问题也很耐心的去解决了,然后在向下走。一定要每一步都确定你做的是否和文档和你自己计划的路线相同。
下面是subversion 服务器的搭建时的步骤,注意点也都写了下来,只要耐心,细心的去做,20分钟肯定可以搭建好一个subversion了!
#descrip: build subversion server
#author: liyangth@gmail.com
#date: 10/30/2006
1.编译安装apache2
#/*tar xjvf httpd- 2.0.58 .tar.bz2*/
#/* config and compiler httpd- 2.0.58 for apache2 */
./configure --enable-dav --enable-so --prefix=/usr/local/apache2/
make
make install
#/* start appache service */
cd /usr/local/apache2/bin
./apachectl start
#/ * open website look at wether apache work * /
#http://localhost/
2.编译安装subversion
#tar subversion- 1.4.0 a nd subversion-deps-1.4.0 on the same dir
#/* config and compiler subversion 1.4.0 */
./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2/ --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib --enable-maintainer-mod
make
make install
#test complish
Svn --version
3.建立仓库
#create repository path
mkdir /home/liyangth/repository # svn的总目录
#create repository for project source
svnadmin create /home/liyangth/repository/test #一个test项目src
#test complish
Ls /home/liyangth/repository/test
#import your project srouce to subversion repository
Svn import /home/liy_pj file:///home/liyangth/repository/test -m “liy subversion”
4.配置服务器配置文件
#start apache service
/usr/local/apache2/bin/apachectl start
#config apache server
vi /usr/local/apache2/conf/httpd.conf
<Location /svn>
DAV svn
SVNParentPath /home/liyangth/repository
AuthzSVNAccessFile /home/liyangth/repository/authz.conf #/* 权限配置文件 由第六步生成*/
AuthType Basic
AuthName "Embedded Group Subversion"
AuthUserFile /home/liyangth/repository/userfile #/* 用户配置文件 由第五步生成 */
Require valid-user
</Location>
5.添加用户
#add user and passwd
htpasswd -c /home/liyangth/repository/userfile worm
#if you first create userfile you must adding -c,if userfile exist you can use
#htpasswd userfile usera
6.设置用户访问权限
#access purview
vi /home/liyangth/repository/authz.conf
[test:/]
worm = rw
usera = r
7.注意 下面这些你不做,svn出不来不要哭哦
/* liyangth就是建立subversion的用户也是他的拥有者 */
/* close fire wall */
/etc/init.d/iptables stop
#notice!!!
vi /usr/local/apache2/conf/httpd.conf
将User daemon 改为 User liyangth
Group daemon
#notice!!!
chown -R liyangth /home/liyangth/repository
chmod 775 /home/liyangth/repository
8.改变启动脚本
#ps
vi /etc/profile
/usr/sbin/apachectl start
export SVN_EDITOR=vi
重启apache服务:
/usr/local/apache2/bin/apachectl restart
大功告成,现在去看一看自己的源码库吧:
打开web,输入http://localhost/svn/test
输入你添加的用户名和密码后,如果出现了传说中的画面,不要太兴奋哦。