Subversion安装手记
为把业余生活搞得专业一点,遂把家里那台PS3用作了svn服务器,折腾了半天,原来很简单的东西被网上文章误导了很长时间,现留笔存证。
Fedora Core 6安装好服务器组件,应该就有SVN了,如果不确定:
$ rpm -q subversion
这时你最好先增加一个svn专用的用户:
$ useradd svnroot
$ passwd svnroot
然后切换到svnroot用户,在用户目录下
$ svnadmin create ./repo
切换为root,将目录的访问权限给改了
$ chown –R svnroot:daemon /your/repo/path
这会建立一个数据库,多了不少文件,ls以确认:
$ ls repo
conf/ dav/ db/ format hooks/ locks/ README.txt
我们不用apache,所以对于conf/svnserve.conf文件,需要进一步的配置,主要需要把权限和权限文件设置一把。这个可以参考手册这里就不详述了。
然后要编写authz权限文件和passwd密码文件,也是参考手册的做法即可。千万不要信一些网上文档,只会让你越搞越复杂。
当然你的服务默认是不会开启的。官方文档说可以用inetd的方式开启,但我没成功,于是用地球人都用的daemon方式启动
svnserve -d -r /home/svnroot/repo
要确认是否成功了,你可以在你的client端telnet yourserverip 3690,如果出现
( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline ) ) )
就说明成功启动了svn服务。
这时候你可以装windows的tortoiseSVN客户端了,装完了重启,然后在浏览器里直接打svn://yourserverip,输入用户名和密码,应该能看到你的svn目录结构了。把你的东西先import进去,然后checkout出来,事成矣。
如果想每次启动时自动启动svn服务,那么编辑/etc/init.d/svn
#!/bin/sh
# subversion initialization routine
svnserve -d -r /your/repo/path
然后
$ chmod 755 /etc/init.d/svn
$ ln -s /etc/init.d/svn /etc/rc.3/S60svn
$ ln -s /etc/init.d/svn /etc/rc.5/S60svn
最后重启即可。