- 论坛徽章:
- 0
|
废话不说了,总的来说subversion比cvs要先进,尤其是服务器放在公网的,subversion要比cvs安全。同时它功能更加强大。
一、编译apache
/configure --prefix=/usr/local/apache --enable-so --enable-cgi --enable-dav-fs \
--enable-deflate --enable-dav --disable-userdir --disable-dir
二、yum install subversion
三、下载连接模块
wget
http://summersoft.fay.ar.us/pub/subversion/latest/rhel-5/i386/mod_dav_svn-1.4.4-1.i386.rpm
rpm –ivh mod_dav_svn-1.4.4-1.i386.rpm –nodeps
cp /usr/lib/httpd/* /usr/local/apache/modules
四、vi /usr/local/apache/conf/httpd/conf
添加:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
DAV svn
SVNListParentPath on
SVNParentPath /home/svn
#SVNPath "/web/svn/project1" #如果你想对每个项目单独配置,使用该项
AuthType Basic
AuthName "subversion"
AuthUserFile /usr/local/apache/htdocs/passwd
Require valid-user
五、添加密码:
htpasswd -c passwd subversion
六、建立项目:
svnadmin create --fs-type fsfs /home/svn #建立共享项目
cd /home/svn
svnadmin create --fs-type fsfs project #建立分项目
七:启动subversion
svnserve --daemon –root /home/svn
netstat –nautp|grep svnserver #查看是否启动
八、测试
svn import /home/project1 http://localhost/svn/project1 -m 'Initial import¡ #chekin测试
也可以通过win的客户端来测试,都是一样的。
[root@www project1]# svn checkout
http://192.168.0.108/svn/project1
认证领域 subversion
用户名:test
密码:
A project1/conf
A project1/db
取出修订版1.
导出成功。
在这个过程中出现的一个问题是始终报:301 Moved Permanently错误,google了几个小时,出现301错误有一下一个原因:
客户端使用TSVN时出现 svn: PROPFIND of '/svn/project1': 301 Moved Permanently,修改httpd.conf,注释LoadModule dir_module
modules/mod_dir.so一行,类似错误还有可能是与mod_rewrite冲突,导致TSVN生成不识别的路径,修改相应的rewrite_rule即可。
SVNParentPath /home/svn 中的/home/svn不能与DocumentRoot的目录在同一个目录下面。
九、权限控制
编辑项目下面conf/authz文件,如
[groups]
# harry_and_sally = harry,sally
# [/foo/bar]
# harry = rw
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
详细根据自己需要设定。
参考文档:
http://svnbook.subversion.org.cn/1.1/index.html
http://www.subversion.org.cn/tsvndoc/index.html
不容易啊,就一个301错误花了我半天的时间,郁闷。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/26978/showart_428668.html |
|