安装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库的权限:
$ 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命令来访问:
#or
$ svn co file://localhost/home/svn/myproject
注意:如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).
此时对svn库的权限是基于文件系统的,只要是subversion组中的用户都可以访问本svn库。
接下来,讲述如何使用apache服务器来提供对svn库的访问
编辑文件/etc/apache2/mods-available/dav_svn.conf
增加如下的内容:
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
相关推荐
以上操作基于多个在线资源,包括技术论坛的文章和技术文档,如中国Unix网的教程、SunFreeware网站的Subversion页面等,这些资源提供了详细的安装指南和实践技巧。 通过以上步骤,你可以在Linux环境下成功安装并配置...
5. **配置问题**:Subversion的配置文件`~/.subversion`或 `%APPDATA%\Subversion`(Windows)可能存在问题。检查这些文件夹中的配置,确保没有错误或冲突的设置。 6. **重置Android Studio设置**:如果以上步骤都...
**安装与配置Subversion 1.9.12** 1. **解压文件**: 首先,你需要解压"subversion-1.9.12"文件,这可能包含源代码、编译脚本和安装指南。 2. **编译与安装**: 对于Linux或Unix系统,通常需要执行`configure`,`make...
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版本的源代码,可以用于安装和自定义配置。了解其基本概念、使用方法和与其他版本控制系统的对比,将有助于你更有效地管理代码版本。
在UNIX系统中,Subversion(通常简称为svn)是一个开源的版本控制系统,用于管理软件项目的源代码和其他文件的变更。这个“UNIX下svn源码包”包含的是Subversion的源代码,供用户在Linux或UNIX环境下编译安装。源码...
"tar.gz"文件格式是Linux和Unix系统中常用的归档和压缩格式。"tar"是一个打包工具,它可以将多个文件和目录打包成一个单一的归档文件,便于传输和存储。"gz"是gzip压缩程序的扩展名,它用于进一步压缩tar归档文件,...
5. **构建工具**:像 autoconf、automake、libtool 等工具用于构建和配置 Subversion 的源代码。 在安装 Subversion 1.6.13 时,用户应首先检查系统是否已经安装了所有必需的依赖项,如果没有,可以通过包管理器...
在Unix或类Unix系统(如Linux和macOS)上,这通常包括以下几个阶段: 1. **解压**:将下载的压缩包解压到一个合适的目录。根据描述,你需要将两个tar包都解压到名为`javahl`的同一目录下。可以使用`tar -zxvf ...
4. **权限管理**:在Linux环境中,可以利用Unix权限和SVN的访问控制列表(ACLs)来管理用户和团队的访问权限。 通过以上步骤,你可以在Linux环境中安装并使用Subversion 1.7.6,实现代码的版本管理和协作。记住,...
这个"subversion-1.5.5.tar.gz"文件是Subversion 1.5.5版本的源代码压缩包,采用的是常见的GNU tar格式,并通过gzip进行压缩,方便在Linux或类Unix系统上进行下载和解压。 Subversion的核心概念是版本化,它允许...
作者建议在Unix/Linux系统上搭建服务器,以利用其内置的安全性和Subversion支持。以红旗桌面6.0为例,该系统预装了Subversion 1.4.2。使用`svnadmin`命令可以创建版本库,例如在`/var/svnroot`目录下创建名为`...
"subversion-1.7.4.tar.gz" 是 Subversion 1.7.4 版本的源代码压缩包,通常在 Linux 或类 Unix 系统上进行安装。这个版本发布于2011年,它包含了 Subversion 项目的所有源代码文件,用户可以对其进行编译和定制,以...
CollabNet 官方提供的用于 linux 操作系统 Subversion ...安装完后,需要运行 /opt/CollabNet_Subversion/bin/Configure-CollabNet-Subversion 对服务器进行初始配置(例如:选择用 Apache 还是 svnserve 做服务器)
- 在不同的操作系统上安装Subversion,例如在Windows上可以通过 TortoiseSVN 提供图形化界面,而在Linux或Unix系统中,可以使用命令行工具。 - 配置SVN服务器,这通常涉及到创建仓库(Repository),仓库是存储...
通过以上对UNIX编程环境配置及关键技术点的详细介绍,我们不难看出,UNIX不仅是一个稳定可靠的平台,同时也为程序员提供了丰富的工具和支持,使其能够在复杂的项目中更加高效地工作。希望这些知识点能够帮助读者更好...
在Windows和Unix操作系统上安装和使用Subversion有类似的过程,但也有一些区别。Windows用户通常会下载并安装预编译的客户端和服务器软件,如TortoiseSVN,提供直观的图形用户界面。Unix用户则可能通过包管理器来...
总结来说,"svn配置文件.jar"是一个包含Subversion配置的Java归档文件,可能涉及到服务器设置、用户权限、认证机制等。理解和操作.jar文件需要一定的Java基础,而配置SVN则需要对版本控制系统有深入的理解。在实际...