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

linux下Subversion服务架设

阅读更多
一、工具准备

Apache Web服务器:httpd-2.2.4.tar.bz2
Subversion源码包及依赖包:subversion-1.4.3.tar.bz2,subversion-deps-1.4.3.tar.bz2
(下面假设apache和svn源码都解压到了/home/tmp下)

二、安装Apache

Apache的安装就根平时安装Apache没什么两样,都记得要打开dav模块和动态模块选项。安装安装命令如下:

引用
    tar xfj httpd-2.2.4.tar.bz2
    cd httpd-2.2.4
    ./buildconf
    ./configure --enable-dav --enable-so
    make
    make install




三、安装Subversion

SVN的安装一定要注意:


    * SVN 依赖的APR版本要正确。如果Apache为2.0.x,对应的APR版本应为0.9.x;Apache为2.2.x,对应的APR版本应为1.2.x。由于subversion-deps包里的APR是0.9.x的,因此编译svn时要删除从deps里解压出来的apr, apr-util,改而使用apache 2.2里提供的。

    * 如果apache不是安装在默认路径,configure必須加上--with-apxs选项,如:./configure --with-apxs=/home/apache2/bin/apxs


安装命令如下:

引用

    tar xfj subversion-1.4.3.tar.bz2
    tar xfj subversion-deps-1.4.3.tar.bz2
    # subversion-deps的文件也会解压到subversion-1.4.3目录中
    cd subversion-1.4.3
    rm -rf apr
    rm -rf apr-util
    ln -s /home/tmp/httpd-2.2.4/srclib/apr apr
    ln -s /home/tmp/httpd-2.2.4/srclib/apr-util apr-util
    ./configure && make && make install



安装完成后,查看是否存在文件$APACHE_HOME/modules/mod_dav_svn.so(默认 /usr/local/apache2/modules/mod_dav_svn.so)。另外,如果该机器上以前是装过旧版本的SVN,要把 "/usr/local/lib/libsvn*"文件都删除。

四、在apache中配置svn

创建SVN库:

引用
    cd /home/svn
    svnadmin create repo1




在Apache 的配置文件httpd.conf中加入以下代码,Apache中就可以配置好一个虚拟主机svn.mydomain.net,并把该域名下的根路径配置给 Subversion。通过AuthzSVNAccessFile和AuthUserFile指令分别配置SVN用户的用户名和密码文件。

引用
    <virtualhost *:80>
    DocumentRoot /home/svn/htdocs
    <directory>
    Options Includes
    AllowOverride All
    Order allow,deny
    Allow from all
    </directory>

    <location>
    DAV svn
    SVNParentPath /home/svn/svnroot
    AuthzSVNAccessFile /home/svn/svnroot/conf/accessfile
    Require valid-user
    AuthType Basic
    AuthName "Subversion System"
    AuthUserFile /home/svn/svnroot/conf/passwdfile
    </location>

    ServerName svn.mydomain.net
    DirectoryIndex index.html
    </virtualhost>





创建文件/home/svn/svnroot/conf/accessfile:

引用

    [groups]
    user = jarod
    anonymous = guest
    [/]
    * = r
    @user = rw
    @anonymous = r




再用htpasswd命令创建/home/svn/svnroot/conf/passwdfile文件:


引用
    htpasswd -c /home/svn/svnroot/conf/passwdfile jarod
    # 这时会提示输入密码




最后把/home/svn目录的拥有者设为启动apache服务的用户,apache-2.2默认会由daemon用户启动:

引用
    chown daemon.daemon -R /home/svn
    chmod 777 /home/svn -R




大功告成,通过浏览器或SVN客户端测试http://svn.mydomain.net/repo1
这时在/home/svn/svnroot下添加的新SVN库也将自动使用相同的权限配置
分享到:
评论

相关推荐

    CollabNet SubversionEdge在linux下的架设和设置

    总之,成功架设和设置CollabNet SubversionEdge在Linux上涉及多个步骤,包括安装依赖、配置环境、创建用户、安装软件、配置服务以及调整网络规则。每个环节都需要细致操作,确保所有组件正确无误地运行,才能实现...

    linux架设配置svn服务器

    在Linux系统中架设配置SVN(Subversion)服务器,主要涉及到Apache服务器和Subversion的集成。Apache HTTP Server是常用的Web服务器,而Subversion则是一个版本控制系统,常用于协同开发和代码管理。以下是一个详细...

    Linux系统下架设APACHE SVN服务器全过程

    在Linux系统中架设Apache SVN服务器是一个涉及到多个步骤的过程,主要涵盖了Apache HTTP Server与Subversion(SVN)的安装和配置。以下是对整个过程的详细解释: 1. 首先,我们需要安装基础的依赖库,包括APR...

    关于linux下apache+SVN(转)归纳.pdf

    【Linux下Apache+SVN配置详解】 Apache HTTP Server(通常简称为Apache)是世界上最流行的Web服务器软件之一,而Subversion(简称SVN)则是一种版本控制系统,用于管理软件项目的源代码和其他文件。Apache与SVN结合...

    老鸟rhel5/centos5服务器架设笔记:Trac的安装和配置

    Trac是一个基于Web的项目管理工具,它与版本控制系统(如Git或Subversion)集成,提供了一个直观的界面供用户查看代码变更、提交历史以及管理问题报告。 Trac的安装步骤: 1. 获取Trac的RPM包,或者从源代码编译...

    小米路由R1D上的svn服务器程序

    1. **安装Subversion**:使用命令行工具,根据R1D所使用的Linux发行版安装SVN服务器软件,通常使用`apt-get install subversion`(如果是Debian/Ubuntu)或`yum install subversion`(如果是CentOS/RHEL)。...

    Git Pro中文版--高清pdf

    服务器部署可以通过转移仓库目录、小型安装、生成SSH公钥、架设服务器、提供公共访问和网页界面、权限管理、Git进程和托管服务等方式进行。 GitWeb是一种网页界面,可以查看Git仓库的界面;Gitosis是一个权限管理...

    Git中文文档

    Git托管服务,如GitHub,提供了一系列功能,包括建立账户、建立新仓库、从Subversion中导入项目、合作、项目页面和派生(forking)项目。 分布式Git是Git的高级使用,涉及分布式工作流程,包括集中式工作流、集成...

    Pro Git中文版本PDF档

    集中化的版本控制系统将数据集中存储在一台服务器上,团队成员再从这台服务器上获取数据、提交更改,常见的集中化版本控制工具有CVS、Subversion等。与这两种系统相比,分布式版本控制系统中,每个用户都拥有完整的...

    git学习资料

    而在Git托管服务方面,GitHub是大家最为熟知的一个平台,如何在GitHub上建立账户、建立新仓库、导入项目,以及如何合作、管理项目页面、派生(forking)项目等都是重要知识点。 分布式Git涉及的分布式工作流程,...

    Git 实用中文版参考手册

    Git是一种开源的分布式版本控制系统,最初由Linus Torvalds在2005年创建,用于Linux内核开发。Git被设计为一种能够处理各种大小的项目,并且能够应对任何类型的文件。它强调速度、数据完整性和对非线性开发的支持。 ...

    版本工具git教程

    Git托管服务章节着重介绍了GitHub,包括建立账户、建立新仓库、从Subversion中导入项目、开始合作、项目页面、派生(forking)项目,以及GitHub的小节。 分布式Git部分,则是围绕分布式工作流程展开,包括集中式...

    proGIt(中文).pdf

    接着讲述了在服务器上部署Git的过程,包括将纯目录转移到服务器、小型安装、生成SSH公钥、架设服务器、公共访问、网页界面GitWeb、权限管理器Gitosis、Git进程和Git托管服务。其中Git托管服务部分详细讲解了GitHub的...

    progit中文版

    - **Git托管服务**:如GitHub、GitLab等,提供了在线的Git仓库托管服务,方便团队协作。 综上所述,《ProGit》不仅是一本学习Git的好书,也是每一个程序员必备的手册。通过掌握书中所介绍的核心概念和技术,开发者...

    Git权威指南PDF完整版

    3.1 在Linux 下安装和使用 Git/ 22 3.1.1 包管理器方式安装/ 22 3.1.2 从源代码进行安装/ 23 3.1.3 从Git版本库进行安装/ 23 3.1.4 命令补齐/ 25 3.1.5 中文支持/ 25 3.2 在Mac OS X 下安装和使用 Git/ 26 3.2.1 以...

    git详解-PDF

    - **架设服务器**:包括安装必要的软件和服务。 - **公共访问**:配置服务器以允许外部用户访问。 - **GitWeb**:一个基于PHP的网页前端,用于浏览Git仓库的内容。 - **Gitosis**:用于管理多个Git仓库的工具。 - **...

    git使用操作中文手册

    讲述了CVS、Subversion等集中式版本控制系统的工作原理。这类系统有一个中心服务器存储所有文件的修订版,客户端则是工作的副本。 - **1.1.3 分布式版本控制系统** 解释了Git为代表的分布式版本控制系统的概念,...

Global site tag (gtag.js) - Google Analytics