- 论坛徽章:
- 0
|
软件下载:
www.subversion.org
参考:
http://www.jdkcn.com/entry/29.html
http://www.blogjava.net/liveandletdie/articles/72484.html
1、安装apache2.0.58
tar zxvf apache2.0.58.tar.gz
./configure --enable-dav --enable-so --prefix=/usr/local/apache2/ --enable-maintainer-mode --enable-rewrite --enable-MODULE=shared --with-mpm=worker
make && make install
2、安装 subversion
新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作
#groupadd svn
#useradd svnroot -g svn
#passwd svn
2.1 tar jxvf subversion-1.4.2.tar.bz2
#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2
make && make intall
2.2 创建库文件所在的目录 (svnroot用户进行下面的操作)
# mkdir /home/svnroot/
创建仓库"repository"
# /usr/local/subversion/bin/svnadmin create /home/svnroot/repository
查看svn是否安装成功
# /usr/local/subversion/bin/svnadmin --version
//不让其他人有该目录的权限
# chmod 700 /home/svnroot/repository
(svnroot用户操作结束)
2.3
修改Apache配置文件
# 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
//在后面添加
DAV svn
SVNParentPath /home/svnroot/repository/ //svn父目录
AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
AuthType Basic //连接类型设置
AuthName "Subversion.zoneyump" //连接框提示
AuthUserFile /home/svnroot/repository/authfile //用户配置文件
Require valid-user //采用何种认证
//重启apache
# /usr/local/apache2/bin/apachectl restart
//打开浏览器访问
http://localhost/svn/test/
,如果有东西显示就说明成功。
权限管理
1)增加用户
# htpasswd -c /home/svnroot/repository/authfile 用户名
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
# htpasswd /home/svnroot/repository/authfile 用户名(加入新的用户,就不用-c了)
2)权限分配
# vi /home/svnroot/repository/authz.conf
[groups]
admin=useradmin
devteamcs = useradmin,user1,user2//这里定义了一个用户组
[/]//对所有的项目,所有的用户都有读权限,admin用户有读写权限
@admin = rw
* = r
[test:/]//对test项目,
@devteamcs = rw
在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行:
User daemon
Group daemon
// 将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行
//改完后是这个样子
User svnroot
Group svn
//重启apache
# /usr/local/apache2/bin/apachectl restart
访问
http://localhost/svn/test
,现在需要身份验证,且通过验证后应该可以看到信息
补充:在xp的环境下,如果你运行着卡巴斯基,可能会导致无法访问svn,通常会报400 Bad Request错误
解决办法是:进入卡巴斯基的设置-->网络设置--->端口设置,然后从端口列表中去掉80端口即可
再次补充:eclipse有svn的插件,subclipse,安装路径为:
http://subclipse.tigris.org/update
服务器端安装完毕
安装客户端
从
http://tortoisesvn.tigris.org/
下载TortoiseSVN。一个WIndows资源管理器插件, 把Subversion客户端和资源管理器近乎完美的结合到了一起,现在就可以开始用了。 Let’s GO!
通过自带协议访问(svn://)
当您创建了 SVN 文件仓库,您可以修改 /home/svn/myproject/conf/svnserve.conf 来配置其访问控制。
例如,您可以取消下面的注释符号来设置授权机制:
# [general]
# password-db = passwd
现在,您可以在“passwd”文件中维护用户清单。编辑同一目录下“passwd”文件,添加新用户。语法如下:
username = password
要了解详情,请参考该文件。
现在,您可以在本地或者远程通过 svn:// 当文 SVN 了,您可以使用“svnserve”来运行 svnserver,语法如下:
$ svnserve -d --foreground -r /home/svn
# -d -- daemon mode
# --foreground -- run in foreground (useful for debugging)
# -r -- root of directory to serve
要了解更多信息,请输入:
$ svnserve --help
当您执行了该命令,SVN 就开始监听默认的端口(3690)。您可以通过下面的命令来访问文件仓库:
$ svn co svn://hostname/myproject myproject --username user_name
基于服务器的配置,它会要求输入密码。一旦通过验证,就会签出文件仓库中的代码。
要同步文件仓库和本地的副本,您可以执行 update 子命令,语法如下:
$ cd project_dir
$ svn update
要了解更多的 SVN 子命令,您可以参考手册。例如要了解 co (checkout) 命令,请执行:
$ svn co help
后记:
要注意的还有如下几点:
服务器端的运行方式除了通过http访问外,还可以是用svn自己的服务器运行,但没有尝试
svn存储数据有两种方式,一种是文件,一种是berklydb, 但是没有让我选择。
Subversion服务器端全靠字符界面来配置,自己手动写配置文件,很麻烦, 尤其是要对整个项目树进行精确的权限管理的时候。 有个Web界面的配置工具
SVNManager
,应该能节省很多力气。可惜因为php5安装出现莫名奇妙的问题而没有尝试成功,如果有尝试成功的还请给出测试报告。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/11765/showart_236230.html |
|