首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > CVS SVN >

Ubuntu上SVN服务器的安装和配置 备份

2012-11-08 
Ubuntu下SVN服务器的安装和配置 备份这个ubuntu的安装参考了别人的文章,但是各自的服务器版本不同或者环境

Ubuntu下SVN服务器的安装和配置 备份

这个ubuntu的安装参考了别人的文章,但是各自的服务器版本不同或者环境不同安装有出入

参考文章: http://blog.csdn.net/Max__Payne/archive/2008/12/03/3437529.aspx

?

===========================================

?

一,安装 subversion

sudo apt-get install subversion subversion-tools


二、创建仓库 svnadmin create /home/svnrepo

/root/svnrepo为所创建仓库的路径,理论上可以是任何目录

【************注 在修改相关配置文件时你可能没有权限,或者文件不可以修改**********】
【************可以在命令前加 sudo ,不能修改的文件用 chmod [-R] 777 文件夹或文件名 **********】


三、修改配置文件/home/svnrepo/conf/svnserve.conf

代码

#去掉#[general]前面的#号
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd


注意:所有的行都必须顶格,否则报错。
建议:为了防止不必要的错误,建议你直接用我上面的内容覆盖掉文件原来的内容



四、修改配置文件passwd。

代码
[users]
sxy = sxy


注意
1. 一定要去掉[users]前面的#,否则svn只能以匿名用户登录,客户端不会出现登录窗口,除非你的anon不为none,否则将返回一个错误。
2. 这里的密码都是没有加密的,我按照一些教程所说的用htpasswd生成的密码无法使用。

五、配置SVN xinetd启动方式:
【***********如果没有xinetd.d 则需要装这个服务sudo apt-get install xinetd **********】
在/etc/xinetd.d/下面新建svn文件
service svn
{
??? disable = no
??? port = 3690
??? socket_type = stream
??? protocol = tcp
??? wait = no
??? user = svn
??? server = /usr/local/bin/svnserve
??? server_args = -i -r /home/svnrepo

}

重启xinetd?? /etc/init.d/xinetd restart

六、停止SVN服务器:killall svnserve

七、启动SVN服务器

对于单个代码仓库

启动命令?? svnserve -d -r /home --listen-host 192.168.1.16


其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接用svn://服务器ip来访问了。如果服务器有多ip的话--listen-host来指定监听的ip地址.

我们可以在svn客户端中通过svn://192.168.1.16来访问svn服务器

对于多个代码仓库,我们在启动时也可以用-r选项来指定服务器根目录,但访问时需要写上每个仓库相对于svn根目录的相对路径.

比 如,我们有两个代码仓库/home/repo1 和/home/repo2,我们用svnserve -d -r /home --listen-host 192.168.1.16来启动,那么在客户端访问时可以用svn://192.168.1.16/repo1和svn: //192.168.1.16/repo2来分别访问两个项目

八、开放服务器端口

svn默认端口是3690,你需要在防火墙上开放这个端口。

????? /sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT

????? /sbin/service iptables save

你也可以通过svnserve的--listen-port选项来指定一个已经开放的其他端口,不过这样的话客户端使用也必须家上端口,如svn://192.168.1.200:9999/.


九、使用svn客户端导入项目

推荐使用客户端 http://tortoisesvn.tigris.org/

eclipse插件 http://subclipse.tigris.org/

?

==================================

svn备份常用命令

svn备份常用命令
1、完全备份和增量备份svn。
svnadmin dump /svn/project/www > full.svn.bak
#完全备份/svn/project/www这个版本库,并另存为full.svn.bak

svnadmin dump /svn/project/www -r 8 –incremental > svn.bak.1
#以增量把版本库8转存到svn.bak.1

参数介绍:
-r [--revision] :指定版本ARG(或X:Y范围)
–incremental :以增量方式进行转存
–deltas :在转存输出中使用差异
-q [--quiet] :在标准错误输出不显示进度(仅错误)

2、dump备份还原。
svnadmin create /svn/project/test #创建一个新的版本库
svnadmin load /svn/project/test < full.svn.bak #现还原完全备份
svnadmin load /svn/project/test < svn.bak.1 #再还原增量备份的内容

3、svnadmin hotcopy /svn/project/www /root/backup.svn.www/ #热拷贝www这个版本库,可以直接拿来用

?

?

========================================

svn 导出 到服务器中,客户中....

========================================

以前一直使用SVN,但未将SVN里的内容直接导出到WEB应用中,都是通过本地导出然后再通过FTP传到WEB服务器里,这样会遇到很大问题,当多人开发时,大家都往FTP里传容易出问题。
可以直接在服务器里使用SVN的 export命令,定时导出,这样就不用维护服务器里的WEB应用,只要对SVN负责即可


查看帮助文档
svn export --help

svn export svn://localhost:109475/sinykkweb --username tianyc --password tisnf976cd --force --non-interactive /home/sinykkweb/wwwwroot

?

?

========================================

删除客户端的SVN用户信息

========================================

C:\Documents and Settings\Administrator\Application Data\Subversion\auth\

热点排行