Chinaunix首页 | 论坛 | 博客
  • 博客访问: 409276
  • 博文数量: 118
  • 博客积分: 294
  • 博客等级: 二等列兵
  • 技术积分: 667
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-16 20:31
文章分类

全部博文(118)

文章存档

2014年(3)

2012年(25)

2011年(90)

分类: LINUX

2011-04-05 22:13:00

安装

幸运的,Subversion 已经包含在 main 仓库中。所以,要安装 Subversion,您只需要简单的运行:

$ sudo apt-get install subversion $ sudo apt-get install libapache2-svn

如果系统报告了依赖关系的错误,请找出相应的软件包并安装它们。如果存在其它问题,也请自行解决。如果您依然不能解决这些问题,可以考虑通过 Ubuntu 的网站、Wiki、论坛或邮件列表寻求支持。

[]服务器配置

您应该已经安装了上述的软件包。本节将阐述如何创建 SVN 文件仓库以及如何设置项目的访问权限。

[]创建 SVN 仓库

许多位置都可以放置 Subversion 文件仓库,其中两个最常用的是:/usr/local/svn 以及 /home/svn。为了在下面的描述中简单明了,我们假设您的 Subversion 文件仓库放在 /home/svn,并且你的项目名称是简单的“myproject”。

同样的,也有许多常用的方式设置文件仓库的访问权限。然而,这也是安装过程中最经常出现错误的地方,因此我们会对此进行一个详细说明。通常的情况下,您应该创建一个名为“Subversion”的用户组,该组是SVN仓库所在的目录的拥有者。下面是一个快速的操作说明,有关内容请参考相关文档的详细说明:

  • 在 Ubuntu 菜单上选择“系统->系统管理->用户和组”;
  • 切换到“组”标签;
  • 点击“添加组”按钮;
  • 组名为“subversion”;
  • 将您自己和“www-data”(Apache 用户)加入组成员中;
  • 点击“OK”以确认修改,关闭该程序。

或者使用命令完成上述功能(增加组,并且把用户加到组里):

sudo addgroup subversion sudo usermod -G subversion -a www-data

再或者直接使用命令编辑组文件"sudo vi /etc/group",增加组和成员(不推荐):

$ sudo vi /etc/group

结果看上去,像这样。

$ cat /etc/group|grep subversion subversion:x:1001:www-data,exp

您需要注销然后再登录以便您能够成为 subversion 组的一员,然后就可以执行签入文件(Check in,也称提交文件)的操作了。

现在执行下面的命令

$ sudo mkdir /home/svn $ cd /home/svn $ sudo mkdir myproject $ sudo chown -R root:subversion myproject

下面的命令用于创建 SVN 文件仓库:

$ sudo svnadmin create /home/svn/myproject

赋予组成员对所有新加入文件仓库的文件拥有相应的权限:

$ sudo chmod -R g+rws myproject

如果上面这个命令在创建SVN文件仓库之前运行,你可能在后续Check in的时候遇到如下错误:

Can't open '/home/svn/myproject/db/txn-current-lock': Permission denied

查看txn-current-lock文件的权限和用户以及组信息,应该类似于:

$ ls -l /home/svn/myproject/db/txn-current-lock -rw-rwSr-- 1 root subversion 0 2009-06-18 15:33 txn-current-lock

除了权限以外,用户及其组如果不对,则仍然会遇到上述问题,可以再次运行命令:

$ sudo chown -R root:subversion myproject直接访问文件仓库(file://)

这是所有访问方式中最简单的。它不需要事先运行任何 SVN 服务。这种访问方式用于访问本地的 SVN 文件仓库。语法是:

$ svn co file:///home/svn/myproject 或者 $ svn co file://localhost/home/svn/myproject

注意:如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).

环境变量设置;export SVN_EDITOR=/usr/bin/vim

或者写到 ~/.bashrc 里面


当您执行了该命令,SVN 就开始监听默认的端口(3690)。您可以通过下面的命令来访问文件仓库:

$ svn co svn://hostname/myproject myproject --username user_name


另外的收集

ubuntu10.10架设svn服务器
2010-12-10 01:14 A.M.
1、安装Subversion,SVN默认安装到/usr/local/bin下面
  1. sudo apt-get install subversion

2、建立存储仓库(假定svn工程安装在 /var/svnroot 目录下,理论上可以是任何目录

  1. sudo mkdir /var/svnroot
  2. cd /var/svnroot

生成项目(假定工程名为projectname)

  1. svnadmin create projectname

添加密码验证:

  1. sudo vi /var/svnroot/inlocals/conf/svnserve.conf

去掉password-db = passwd 前面的#号注释。
修改passwd文件:

  1. sudo vi /var/svnroot/inlocals/conf/passwd

添加用户名=密码对,如:admin = admin

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

svnserve.conf配置说明:

  1. anon-access = read
  2. auth-access = write
  3. password-db = passwd

anon-access 和 auth-access 分别指定匿名和有权限用户的权限,默认给匿名用户只读的权限,如果想拒绝匿名用户的访问,只需把 read 改成 none 就能达到目的。password-db 后的 passwd 则为定义用户名及密码的文件路径。这个文件默认跟 snvserve.conf 在同一个目录。

注意:所有的行都必须顶格,否则报错。

3、导入版本库
把 /var/www 下的内容导入到版本库中:

  1. sudo svn import -m "第一次导入" /var/www file:///var/svnroot/projectname

显示结果:
增加 /var/www/index.html
增加 /var/www/index.php

export SVN_EDITOR=/usr/bin/vim



编辑 /ect/xinetd.conf
service svn
{
    disable = no
    port = 3690
    socket_type = stream
    protocol = tcp
    wait = no
    user = svn
    server = /usr/bin/svnserve 
    server_args = -i -r /home/svn

}

阅读(1032) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~