`
student_lp
  • 浏览: 434720 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux安装svn(非apache集成)

阅读更多

     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  连接成功
再次配置完成。

分享到:
评论

相关推荐

    linux上svn、apache安装

    SVN可以与Apache集成,实现更高级的功能,如权限控制等。 - 加载必要的模块: ```bash LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so ``` - ...

    Linux离线安装svn.zip

    你可以选择使用svnserve或Apache HTTPD服务器集成mod_dav_svn模块。具体的配置步骤会因系统和需求的不同而有所差异,建议参考Subversion官方文档或相关教程进行操作。 总的来说,离线安装svn是一项涉及多个步骤的...

    SVN + Apache 成功安装部署

    3. **SVN与Apache集成**:通常通过mod_dav_svn模块,Apache可以支持SVN。这个模块使得Apache成为一个SVN服务器,允许用户通过HTTP/HTTPS协议进行版本控制操作。 4. **安装Apache**:在Linux系统中,通常使用包管理...

    Linux整合Apache和SVN

    以下是对"Linux整合Apache和SVN"这一主题的详细讲解。 首先,了解SVN的基本概念。Subversion是一个集中式的版本控制系统,它记录了文件和目录的修改历史,使得团队成员可以协同工作,同时保持对代码历史的跟踪。...

    Linux-RedHat9上配置svn+apache服务器

    在Linux RedHat9系统上配置SVN(Subversion)与Apache服务器的集成是开发者和系统管理员常用的操作,以便实现版本控制系统和Web服务器的完美融合,提供便捷的代码管理和Web访问功能。以下是一份详细的配置指南: ...

    安装SVN的Apache

    2. **SVN客户端**:安装SVN客户端(如TortoiseSVN、SmartSVN等),然后可以使用这些客户端连接到Apache服务器上的SVN仓库,进行版本控制操作,如检出、提交、更新等。 通过以上步骤,你就成功地在Apache服务器上...

    linux下apache2.2.23+svn1.6

    在Linux环境下,构建一个SVN(Subversion)代码服务器,特别是使用Apache2.2.23作为前端Web服务器,Subversion1.6作为版本控制系统,是开发者常用的实践。以下是搭建这个环境的详细步骤: 首先,确保你的Linux系统...

    linux安装svn

    通过上述步骤,我们成功地在 Linux 系统中安装了 SVN 服务器,并配置了基本的认证、授权机制以及与 Apache 服务器的集成。这对于实现版本控制和代码管理来说是非常重要的一步。在实际应用中,还需要根据具体需求...

    Linux上安装SVN

    首先,我们需要安装Apache HTTP服务器,因为SVN通常与Apache集成以提供Web访问。Apache HTTPD可以从官方网站下载,例如在上述链接中给出的2.4.3版本。使用`wget`命令下载tarball文件,然后用`tar`解压缩。接着,编译...

    linux下svn的安装配置及相关问题解决方案

    配置时指定Apache HTTP Server的路径,以便Subversion能够与Apache集成。编译并安装完成后,还需要配置Subversion的 dav模块,使其能在Apache中运行。 配置Apache时,需要修改`httpd.conf`文件,添加对Subversion的...

    svn linux

    可能包括了安装、配置、使用SVN的基本命令,以及与Apache服务器集成等内容。 【标签】:“源码”表明这个主题与源代码管理有关,意味着讨论的内容会涉及到开发者如何使用SVN来追踪和管理项目中的代码变化。“工具”...

    Linux下SVN服务器的搭建与配置.docx

    * SVN 服务器可以与 Apache 服务器集成,提供更加安全和稳定的服务。 * 权限管理是 SVN 服务器的重要部分,需要合理地分配用户权限,以避免安全问题。 结论 Linux 下 SVN 服务器的搭建与配置是指在 Linux 操作系统...

    Linux下安装svn.pdf

    在Linux环境下安装Subversion(SVN)是一个常见的任务,尤其对于开发者和系统管理员而言,它是一种版本控制系统,用于管理源代码和其他文档的变更历史。以下将详细介绍如何在Linux上安装和配置SVN。 首先,我们需要...

    svn+apache+trac配置

    - **Apache及其Python补丁**:安装Apache并添加Python支持,通常需要安装mod_python或mod_wsgi模块,使Apache能够执行Python脚本。 - **Subversion1.6.12及其Python补丁**:安装Subversion并确保Python接口可用,...

    svn+apache

    在Linux RHEL7.0环境中配置Subversion (SVN) 和Apache服务器是一项常见的任务,主要用于实现版本控制系统与Web服务的集成,便于团队协作和代码管理。下面将详细介绍如何在RHEL7.0系统上安装并配置SVN和Apache服务器...

    linux 安装SVN

    在Linux系统中,安装Subversion(SVN)是一项常见的任务,尤其对于开发团队而言,它是一种版本控制系统,用于管理代码库。这篇博文将详细介绍如何在Linux环境下安装SVN。 首先,我们需要了解SVN的基本概念。...

    Ubuntu+svn+ssl+ldap

    【Ubuntu+svn+ssl+ldap】的安装及集成是一个复杂的过程,涉及到Ubuntu操作系统、Subversion (SVN) 版本控制系统、SSL安全套接层以及Lightweight Directory Access Protocol (LDAP) 用户认证。以下是对这些技术的详细...

    SVN+Apache安装配置步骤

    4. **配置Apache与SVN集成**: - 创建一个新的虚拟主机或者在现有虚拟主机中配置SVN路径。在`httpd.conf`或相应的`.conf`文件中,添加类似以下内容: ``` *:80&gt; ServerName svn.example.com DocumentRoot /var/...

    Linux在线安装svn解决方案

    本文将深入探讨“Linux在线安装svn”的解决方案,适用于那些需要在Linux环境中搭建SVN服务器的开发者。 首先,我们需要理解什么是Subversion。Subversion是一个开源的集中式版本控制系统,用于跟踪文件和目录的修改...

Global site tag (gtag.js) - Google Analytics