svn支持三种方式的安装,分别是:svnserve服务器、穿越ssh隧道的svnserve服务器、Apache的HTTP服务器。
三种服务器的选择(建议下载一本svnbook查看,在第六章服务配置中有详细描述):
①svnserve服务器:
优点: 设置快速简单;网络协议是有状态的,比WebDAV快很多;不需要在服务器创建系统账号;不会在网络传输密码。
缺点:没有任何类型的日志,甚至是错误;没有内置的web浏览(必须单独安装WEB服务器,以及版本库浏览软件,来增加此功能)
②穿越ssh隧道的svnserve服务器:
优点:网络协议是有状态的,比WebDAV快很多;你可以利用现在的SSH账号和用户基础;所有网络传输是加密的。
缺点:没有一个认证方法可以选择;没有任何类型的日志,甚至是错误;需要用户在同一个系统组,或者使用共享SSH密钥;如果使用不正确,会导致文件权限问题。
③Apache的HTTP服务器
优点:允许 Subversion 使用已经集成到 Apache 的多种用户认证系统;不需要在服务器创建系统帐号;完全的 Apache 日志;网络传输可以通过SSL加密;HTTP(S) 通常可以穿越公司防火墙;内置通过浏览器访问版本库;版本库可以作为网络磁盘加载,实现透明的版本控制;
缺点:比svnserve慢很多,因为HTTP是无状态的协议,需要更多的传递;初始设置可能复杂。
在这里讲解一下配置svnserve服务器,即第一种模式,如下:
一、下载svn工具包。
在这里搭建svnserve服务器,需要两个支持包,分别是:subversion-1.6.19.tar.gz 和 subversion-deps-1.6.19.tar.gz
下载地址为:http://subversion.apache.org/download/ ,在这个页面开始是最新版本的svn。我们这里用下面的1.6版本svn。
二、将tar包上传服务器并解压安装。
①将subversion-1.6.*.tar.gz 和 subversion-deps-1.6.*.tar.gz上传到服务器。
②解压,请按照描述的过程解压:
a、首先解压subversion包:tar -zxvf subversion-1.6.*.tar.gz
b、再次解压subversion-deps包:tar -zxvf subversion-deps-1.6.*.tar.gz
注意:subversion包 和 subversion-deps包需要解压到同一个目录中,这是解压过程中特别需要注意的。并且需要先解压subversion包,然后再解压 subversion-deps包。
三、编译安装。
①预编译:./configure --prefix=/usr/local/svn --without-berkeley-db --with-zlib=/usr/local/zlib(注:以svnserve方式运行,不加apache编译参数。以fsfs格式存储版本库,不编译berkeley-db)
②编译安装:make && make install。
四、测试安装是否成功。
运行指令:/usr/local/svn/bin/svn --version。这时如果成功的话,提醒如下信息:
svn,版本 1.6.19 (r1383947)
可使用以下的版本库访问模块:
* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。
- 处理“http”方案
* ra_svn : 使用 svn 网络协议访问版本库的模块。 - 使用 Cyrus SASL 认证
- 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
- 处理“file”方案
* ra_serf : 通过 WebDAV 协议使用 serf 访问版本库的模块。
- 处理“http”方案
- 处理“https”方案
五、配置一个svn工作目录,并设置登陆账号、密码以及权限。
①建立工作目录库,可以建立多个。如下:mkdir -p /opt/svndata/test1 (mkdir -p /opt/svndata/test2)
②建立版本库,如下:/usr/local/svn/bin/svnadmin create /opt/svndata/test1 (/usr/local/svn/bin/svnadmin create /opt/svndata/test2)
创建完成后,查看目录下(即/opt/svndata/test1下)都是有那些目录和文件如下:conf db format hooks locks README.txt
③进入conf文件夹,设置svnserve的配置文件、用户密码以及用户权限
a、编辑svnserve.conf(svnserve配置文件):vi svnseve.conf;内容修改为:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = test1
注意: password-db = passwd; authz-db = authz;就是指与svnserve.conf同一目录下的passwd和authz文件(相对路径)
b、编辑passwd,添加用户和密码:vi passwd;对用户配置文件的修改立即生效,不必重启svn。文件格式如下:
[users]
<用户1> = <密码1>
<用户2> = <密码2>
其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:
[users]
alan = password
king = hello
c、编辑authz,设置用户权限;注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。用户组格式:
[groups]
<用户组名> = <用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法: /,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/opt/svndata。这样,/就是表示对全部版本库设置权限。
test1:/,表示对版本库1设置权限
test2:/occi, ,表示对版本库2中的occi项目设置权限
test2:/occi/aaa, ,表示对版本库2中的occi项目的aaa目录设置权限 权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。示例:
[groups]
admin = alan[/]
@admin = rw[repos1:/occi/aaa]
king = rw[repos2:/pass]
king =
④启动svn
建立启动svn的用户:
useradd svn
passwd svn
根据提示为用户svn设置密码允许用户svn访问版本库:
chown –R svn:svn /opt/svndata
chown –R svn:svn /usr/local/svn
启动svn:
su - svn -c "/usr/local/svn/bin/svnserve -d --listen-port 9999 -r /opt/svndata"
其中:
su – svn表示以用户svn的身份启动svn
-d表示以daemon方式(后台运行)运行
--listen-port 9999表示使用9999端口,可以换成你需要的端口。默认端口为:3690。
⑤查看运行:ps aux|grep svn;
查看端口监听:netstat -tunlp | grep svn
⑥配置防火墙,如果不配置防火墙,是无法访问的。
配置文件在:/etc/sysconfig/iptables。具体详见iptables配置这一章。
配置完成后,需要重启:service iptables restart
⑦在linux中测试连接:/usr/local/svn/bin/svn checkout svn://localhost/test1。这是会让你输入linux登陆用户密码,然后输入svn登陆用户,再就是输入密码,最后确定是否保存。
⑧采用svn客户端,连接配置启动的svn服务器,地址:svn://address:port/directory
例如:svn://127.0.0.1:3690/test1 连接成功
再次配置完成。
- 浏览: 437986 次
- 性别:
- 来自: 北京
最新评论
-
世界尽头没有你:
Java并发编程与高并发解决方案网盘地址:https://pa ...
java高并发编程:2--volatile可见性同步 -
世界尽头没有你:
Java并发编程与高并发解决方案网盘地址:https://pa ...
Java高并发编程:3----Synchronized -
叮咚可乐名:
Java并发编程与高并发解决方案网盘地址1:https://p ...
Java高并发编程:3----Synchronized -
叮咚可乐名:
Java并发编程和高并发解决方案视频课程网盘地址:https: ...
Java高并发编程:3----Synchronized -
德赫0625:
简单易懂,非常给力
定时任务管理之java篇quartz使用
相关推荐
SVN可以与Apache集成,实现更高级的功能,如权限控制等。 - 加载必要的模块: ```bash LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so ``` - ...
你可以选择使用svnserve或Apache HTTPD服务器集成mod_dav_svn模块。具体的配置步骤会因系统和需求的不同而有所差异,建议参考Subversion官方文档或相关教程进行操作。 总的来说,离线安装svn是一项涉及多个步骤的...
3. **SVN与Apache集成**:通常通过mod_dav_svn模块,Apache可以支持SVN。这个模块使得Apache成为一个SVN服务器,允许用户通过HTTP/HTTPS协议进行版本控制操作。 4. **安装Apache**:在Linux系统中,通常使用包管理...
以下是对"Linux整合Apache和SVN"这一主题的详细讲解。 首先,了解SVN的基本概念。Subversion是一个集中式的版本控制系统,它记录了文件和目录的修改历史,使得团队成员可以协同工作,同时保持对代码历史的跟踪。...
在Linux RedHat9系统上配置SVN(Subversion)与Apache服务器的集成是开发者和系统管理员常用的操作,以便实现版本控制系统和Web服务器的完美融合,提供便捷的代码管理和Web访问功能。以下是一份详细的配置指南: ...
2. **SVN客户端**:安装SVN客户端(如TortoiseSVN、SmartSVN等),然后可以使用这些客户端连接到Apache服务器上的SVN仓库,进行版本控制操作,如检出、提交、更新等。 通过以上步骤,你就成功地在Apache服务器上...
在Linux环境下,构建一个SVN(Subversion)代码服务器,特别是使用Apache2.2.23作为前端Web服务器,Subversion1.6作为版本控制系统,是开发者常用的实践。以下是搭建这个环境的详细步骤: 首先,确保你的Linux系统...
通过上述步骤,我们成功地在 Linux 系统中安装了 SVN 服务器,并配置了基本的认证、授权机制以及与 Apache 服务器的集成。这对于实现版本控制和代码管理来说是非常重要的一步。在实际应用中,还需要根据具体需求...
首先,我们需要安装Apache HTTP服务器,因为SVN通常与Apache集成以提供Web访问。Apache HTTPD可以从官方网站下载,例如在上述链接中给出的2.4.3版本。使用`wget`命令下载tarball文件,然后用`tar`解压缩。接着,编译...
配置时指定Apache HTTP Server的路径,以便Subversion能够与Apache集成。编译并安装完成后,还需要配置Subversion的 dav模块,使其能在Apache中运行。 配置Apache时,需要修改`httpd.conf`文件,添加对Subversion的...
可能包括了安装、配置、使用SVN的基本命令,以及与Apache服务器集成等内容。 【标签】:“源码”表明这个主题与源代码管理有关,意味着讨论的内容会涉及到开发者如何使用SVN来追踪和管理项目中的代码变化。“工具”...
* SVN 服务器可以与 Apache 服务器集成,提供更加安全和稳定的服务。 * 权限管理是 SVN 服务器的重要部分,需要合理地分配用户权限,以避免安全问题。 结论 Linux 下 SVN 服务器的搭建与配置是指在 Linux 操作系统...
在Linux环境下安装Subversion(SVN)是一个常见的任务,尤其对于开发者和系统管理员而言,它是一种版本控制系统,用于管理源代码和其他文档的变更历史。以下将详细介绍如何在Linux上安装和配置SVN。 首先,我们需要...
- **Apache及其Python补丁**:安装Apache并添加Python支持,通常需要安装mod_python或mod_wsgi模块,使Apache能够执行Python脚本。 - **Subversion1.6.12及其Python补丁**:安装Subversion并确保Python接口可用,...
在Linux RHEL7.0环境中配置Subversion (SVN) 和Apache服务器是一项常见的任务,主要用于实现版本控制系统与Web服务的集成,便于团队协作和代码管理。下面将详细介绍如何在RHEL7.0系统上安装并配置SVN和Apache服务器...
在Linux系统中,安装Subversion(SVN)是一项常见的任务,尤其对于开发团队而言,它是一种版本控制系统,用于管理代码库。这篇博文将详细介绍如何在Linux环境下安装SVN。 首先,我们需要了解SVN的基本概念。...
4. **配置Apache与SVN集成**: - 创建一个新的虚拟主机或者在现有虚拟主机中配置SVN路径。在`httpd.conf`或相应的`.conf`文件中,添加类似以下内容: ``` *:80> ServerName svn.example.com DocumentRoot /var/...
本文将深入探讨“Linux在线安装svn”的解决方案,适用于那些需要在Linux环境中搭建SVN服务器的开发者。 首先,我们需要理解什么是Subversion。Subversion是一个开源的集中式版本控制系统,用于跟踪文件和目录的修改...
SVNManager通常以源码形式提供,因此在Linux环境下进行安装需要编译和配置。首先,确保系统已经安装了必要的依赖,如Apache HTTP服务器、Java运行环境(JRE)和Apache Ant。这些是运行和构建SVNManager的基础。你...