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 连接成功
再次配置完成。
- 浏览: 436633 次
- 性别:
- 来自: 北京
最新评论
-
世界尽头没有你:
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是一个开源的集中式版本控制系统,用于跟踪文件和目录的修改...
Linux下的SVN(Subversion)服务器是用于版本控制...SVN服务器的搭建和管理是系统集成和软件开发过程中不可或缺的一部分,它确保了代码的安全性和团队的协作效率。了解和掌握这一过程,对提升IT专业能力具有重要意义。