`
oywl2008
  • 浏览: 1051584 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

subversion的配置 Unix

 
阅读更多

安装subversion
基本命令:

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

可以安装的包:
 apache2
 apache2-common
 apache2-mpm-prefork
 apache2-utils
 libapache2-svn
 libapache2-mod-auth-pam
 libapache2-mod-auth-sys-group
 subversion
 subversion-tools


创建一个名为subversion的组:groupadd subversion
将自己(eg.:user)和www-data(apapch2帐号)用户添加入subversion组,可以编辑/etc/group文件,在最后找到subversion添加入帐号名(eg:user,www-data),看上去就像这样:subversion:x:1001:www-data,exp
然后是创建subversion库,并赋予subversion组中用户有读写subversion库的权限:

   $ sudo mkdir /home/svn  #创建svn库的父路径
   $ cd /home/svn
   $ sudo mkdir myproject  #创建本svn库的目录
   $ sudo svnadmin create /home/svn/myproject #使用svn命令,创建svn库
   $ sudo chown -R root:subversion myproject #更改本目录的组
   $ sudo chmod -R g+rws myproject #给本目录的组用户增加读写和递归增加新加目录的读写权限

注意上面提到的命令顺序,如果最后再执行创建库的命令(svnadmin create ....)则创建的文件没有获得组用户写的权限,这样在外部访问提交的时候会出错.
对于本机,可以直接使用file命令来访问:

  $ svn co(or checkout) file:///home/svn/myproject
#or
  $ svn co file://localhost/home/svn/myproject

注意:如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).
此时对svn库的权限是基于文件系统的,只要是subversion组中的用户都可以访问本svn库。

接下来,讲述如何使用apache服务器来提供对svn库的访问
编辑文件/etc/apache2/mods-available/dav_svn.conf
增加如下的内容:

  <Location /svn/myproject>
     DAV svn
     SVNPath /home/svn/myproject
     AuthType Basic
     AuthName "myproject subversion repository"
     AuthUserFile /etc/subversion/passwd
     
<LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
     
</LimitExcept>
  
</Location>

apache会解析url中的/svn/myproject部分,来定位svn库,当收到此请求时,会查询svn库:/home/svn/myproject,这里的认证方式是basic,对于访问要求valid-user,帐号文件在/etc/subversion/passwd中。
注意重新设置后要重启apache2:sudo /etc/init.d/apache2 restart
编辑生成帐号文件: sudo htpasswd2 -c /etc/subversion/passwd user  #给user帐号创建口令
这时候可以通过浏览器来浏览svn库了
在我的设置中发现,apache2会自动绑定ipv6地址,可能会有些问题,可以强制apache绑定v4地址,在/etc/apache2/port.conf中改成:Listen [bindedip]:[port]的形式

通过https来访问svn库
首先生成一个 SSL 签名,使用命令

 # apache2-ssl-certificate

这里会有一系列关于你的个人隐私的问题,回答完了,自然的签名也就生成了,然
后我们就要在 apache2 里面打开 SSL 了,现在要做的是开启 ssl 模块

 # a2enmod ssl

然后,使用 apache2 的虚拟主机功能来添加 SSL 的支持,将

 /etc/apache2/sites-available/default

复制一份,叫

 /etc/apache2/sites-available/ssl

好啦

修改 default 文件的开头为

 NameVirtualHost *:80
 <VirtualHost *:80>

修改 ssl 文件的开头为

 NameVirtualHost *:443
 <VirtualHost *:443>

这里 443 是 SSL 的标准端口。

并在 ssl 文件中加入如下内容,在<VirtualHost></VirtualHost>内

 SSLEngine On
 SSLCertificateFile /etc/apache2/ssl/apache.pem

保存文件后,运行命令

   # a2ensite ssl

来激活这个虚拟主机

现在,修改文件

 /etc/apache2/ports.conf

加上一行

 Listen 443

好了,到此为止,SSL 服务器配置完成,重新启动 apache 吧。

 

一些问题:
可能出现 RA layer request failed svn: MKACTIVITY of 400 Bad Request 之类的错误,这可能是因为使用了代理的原因,代理不支持svn的扩展命令,see:http://subversion.tigris.org/faq.html#proxy
还有种原因,就是可能是你的客户端使用的是windowsxp,其他版本的windows我没试过,也是这样的错误,在linux下正常,解决方法不太清楚。
RA layer request failed svn: MKACTIVITY of 400 Bad Request,无论什么原因都可以用https代替http来暂时解决这样的问题。

 


http://www.blogjava.net/pandawang/archive/2006/09/05/67844.html

分享到:
评论

相关推荐

    Linux 上安装 Subversion

    以上操作基于多个在线资源,包括技术论坛的文章和技术文档,如中国Unix网的教程、SunFreeware网站的Subversion页面等,这些资源提供了详细的安装指南和实践技巧。 通过以上步骤,你可以在Linux环境下成功安装并配置...

    Apache-Subversion-1.9.2

    5. **配置问题**:Subversion的配置文件`~/.subversion`或 `%APPDATA%\Subversion`(Windows)可能存在问题。检查这些文件夹中的配置,确保没有错误或冲突的设置。 6. **重置Android Studio设置**:如果以上步骤都...

    subversion-1.9.12.zip

    **安装与配置Subversion 1.9.12** 1. **解压文件**: 首先,你需要解压"subversion-1.9.12"文件,这可能包含源代码、编译脚本和安装指南。 2. **编译与安装**: 对于Linux或Unix系统,通常需要执行`configure`,`make...

    subversion 1.5.6

    3. 配置Subversion服务器,如使用Apache HTTPD服务器的mod_dav_svn模块,或者内置的svnserve服务。 五、Subversion命令行工具: 1. `svn co URL`: 检出代码到本地。 2. `svn commit -m "message"`: 提交变更到版本...

    subversion-1.6.13.tar.gz

    总结,"subversion-1.6.13.tar.gz"包含的是Subversion 1.6.13版本的源代码,可以用于安装和自定义配置。了解其基本概念、使用方法和与其他版本控制系统的对比,将有助于你更有效地管理代码版本。

    UNIX下svn源码包

    在UNIX系统中,Subversion(通常简称为svn)是一个开源的版本控制系统,用于管理软件项目的源代码和其他文件的变更。这个“UNIX下svn源码包”包含的是Subversion的源代码,供用户在Linux或UNIX环境下编译安装。源码...

    subversion-1.9.7.tar.gz

    "tar.gz"文件格式是Linux和Unix系统中常用的归档和压缩格式。"tar"是一个打包工具,它可以将多个文件和目录打包成一个单一的归档文件,便于传输和存储。"gz"是gzip压缩程序的扩展名,它用于进一步压缩tar归档文件,...

    subversion-1.6.13.tar.gz依赖包

    5. **构建工具**:像 autoconf、automake、libtool 等工具用于构建和配置 Subversion 的源代码。 在安装 Subversion 1.6.13 时,用户应首先检查系统是否已经安装了所有必需的依赖项,如果没有,可以通过包管理器...

    subversion的源码及依赖包(1.6版)

    在Unix或类Unix系统(如Linux和macOS)上,这通常包括以下几个阶段: 1. **解压**:将下载的压缩包解压到一个合适的目录。根据描述,你需要将两个tar包都解压到名为`javahl`的同一目录下。可以使用`tar -zxvf ...

    subversion-1.7.6.tar.gz

    4. **权限管理**:在Linux环境中,可以利用Unix权限和SVN的访问控制列表(ACLs)来管理用户和团队的访问权限。 通过以上步骤,你可以在Linux环境中安装并使用Subversion 1.7.6,实现代码的版本管理和协作。记住,...

    subversion-1.5.5.tar.gz

    这个"subversion-1.5.5.tar.gz"文件是Subversion 1.5.5版本的源代码压缩包,采用的是常见的GNU tar格式,并通过gzip进行压缩,方便在Linux或类Unix系统上进行下载和解压。 Subversion的核心概念是版本化,它允许...

    精通Subversion进行源代码管理

    作者建议在Unix/Linux系统上搭建服务器,以利用其内置的安全性和Subversion支持。以红旗桌面6.0为例,该系统预装了Subversion 1.4.2。使用`svnadmin`命令可以创建版本库,例如在`/var/svnroot`目录下创建名为`...

    subversion-1.7.4.tat.gz Downloda

    "subversion-1.7.4.tar.gz" 是 Subversion 1.7.4 版本的源代码压缩包,通常在 Linux 或类 Unix 系统上进行安装。这个版本发布于2011年,它包含了 Subversion 项目的所有源代码文件,用户可以对其进行编译和定制,以...

    CollabNetSubversion-server-1.7.2-1.i386.rpm

    CollabNet 官方提供的用于 linux 操作系统 Subversion ...安装完后,需要运行 /opt/CollabNet_Subversion/bin/Configure-CollabNet-Subversion 对服务器进行初始配置(例如:选择用 Apache 还是 svnserve 做服务器)

    利用Subversion进行版本控制

    - 在不同的操作系统上安装Subversion,例如在Windows上可以通过 TortoiseSVN 提供图形化界面,而在Linux或Unix系统中,可以使用命令行工具。 - 配置SVN服务器,这通常涉及到创建仓库(Repository),仓库是存储...

    UNIX编程环境(中文版)1.pdf

    通过以上对UNIX编程环境配置及关键技术点的详细介绍,我们不难看出,UNIX不仅是一个稳定可靠的平台,同时也为程序员提供了丰富的工具和支持,使其能够在复杂的项目中更加高效地工作。希望这些知识点能够帮助读者更好...

    subversion-1.9.3.zip_matlab例程_Windows_Unix_

    在Windows和Unix操作系统上安装和使用Subversion有类似的过程,但也有一些区别。Windows用户通常会下载并安装预编译的客户端和服务器软件,如TortoiseSVN,提供直观的图形用户界面。Unix用户则可能通过包管理器来...

    svn配置文件。jar

    总结来说,"svn配置文件.jar"是一个包含Subversion配置的Java归档文件,可能涉及到服务器设置、用户权限、认证机制等。理解和操作.jar文件需要一定的Java基础,而配置SVN则需要对版本控制系统有深入的理解。在实际...

Global site tag (gtag.js) - Google Analytics