`

SVN Server安装部署攻略(Linux+SubVersion+Apache)

阅读更多

 

 

一.  安装apr依赖库(Apache Portable Runtime Module)

 

http://apache.mirror.phpchina.com/apr/apr-1.2.11.tar.gz

./configure

make

make install

 

http://apache.mirror.phpchina.com/apr/apr-util-1.2.10.tar.gz

./configure --with-apr=/home/chenmin/apr-1.2.11

make

make install

 

二. 重新编译httpd

 

检查已安装的 Apache2 是否已经安装了 mod_dav .

 

如 果已经成功安装了Apache,使用 httpd -M 来查看有没有安装 dav_module,如果没有的话 必须附加 ‘–enable-dav’ ‘–enable-dav-fs’ 两个参数重新编译 Apache,否则即使编译通过了svn,apache也会启动不起来.

 

wget http://apache.mirror.phpchina.com/httpd/httpd-2.2.6.tar.gz

./configure --enable-dav --enable-dav-fs

make

make install

 

三. 安装subversion

 

最新的版本 Subversion 可以在这里找到 :http://subversion.tigris.org/project_packages.html

http://subversion.tigris.org/downloads/subversion-1.4.5.tar.gz

 

下载neon库,使svn支持webdav, https加密的链接.

下载之后放到subversion安装目录下,并重命名即可, subversion会自动监测并配置, 目前只支持 0.25.5.

 

;cd subversion-SVN-LAST-VERSION-DIR 

cd subversion-1.4.5

wget http://www.webdav.org/neon/neon-0.25.5.tar.gz

tar xzf neon-0.25.5.tar.gz

mv neon-0.25.5 neon

 

./configure --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/home/chenmin/apr-1.2.11 --with-apr-util=/home/chenmin/apr-util-1.2.10 --with-ssl

 

由于没有安装Berkeley DB,所以使用FSFS

make

sudo make install

 

四.  配置subversion和apache

 

拷贝svn模块到apache模块目录下

cp /data/subversion-1.4.5/subversion/mod_dav_svn/.libs/mod_dav_svn.so /usr/local/apache2/modules/

cp /data/subversion-1.4.5/subversion/mod_authz_svn/.libs/mod_authz_svn.so /usr/local/apache2/modules/

 

编辑httpd.conf

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

 

<Location /svn>

DAV svn

SVNParentPath /data/svn

</Location>

 

运行htpasswd添加用户和密码

/usr/local/apache2/bin/htpasswd -cm /data/svn/svn-auth-file chenmin

/usr/local/apache2/bin/htpasswd -m /data/svn/svn-auth-file admin

 

再次编辑httpd.conf

<Location /svn>

DAV svn

SVNParentPath /data/svn

AuthType Basic

AuthName "Subversion repository"

AuthUserFile /data/svn/svn-auth-file

Require valid-user

AuthzSVNAccessFile /data/svn/svn-access-file

</Location>

 

其中svn-auth-file是认证文件,存储用户名和密码,svn-access-file是访问权限文件,规定各个目录的访问者的权限, 示例的权限分配的文件的格式如下。

[groups]

admin = john, kate

devteam1 = john, rachel, sally

devteam2 = kate, peter, mark

docs = bob, jane, mike

training = zak

# Default access rule for ALL repositories

# Everyone can read, admins can write, Dan German is excluded.

[/]

* = r

@admin = rw

dangerman =

# Allow developers complete access to their project repos

[proj1:/]

@devteam1 = rw

[proj2:/]

@devteam2 = rw

[bigproj:/]

@devteam1 = rw

@devteam2 = rw

trevor = rw

# Give the doc people write access to all the docs folders

[/trunk/doc]

@docs = rw

# Give trainees write access in the training repository only

[TrainingRepos:/]

@training = rw

权限配置文件中,关键的几个概念是:目标和权限,也就是为谁分配什么样的权限。读为r,写为w,如果没有权限那么什么也不写即可。

 

=====================================================================================

apache的编译指令

cd /usr/local/src/httpd-2.2.19

./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr1/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --enable-so --enable-dav --enable-dav-fs --enable-maintainer-mode --enable-rewrite

 

=====================================================================================

subversion的编译指令

./configure --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr1/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-ssl --enable-shared --prefix=/usr/local/subversion

#--enable-shared 64位系统下需要添加

 

=====================================================================================

需要特别注意的就是权限问题:

在conf/httpd.conf中指定了运行apache的用户和组,需要为svn所在的路径指定相应的权限,不然会出现权限(permission)问题。

 

====================遇到的问题=================

1.  编译subversion时出现少expat库

    下载expat-2.0.0.tar.gz安装即可

2.  在安装subversion时,make没问题,make install时出现

    libexpat.so.1:cannot open shared object file: No such file or directory

    意思是找不到Libexpat.so.1这个文件

 

    运行whereis libexpat.so.1

    解决:vi /etc/ld.so.conf

    加入libexpat.so.1的目录/usr/local/lib保存退出

    运行ldconfig

3.  安装好了后,浏览器打开http://xxx/svn,登录出现不了页面,出现

    <D:error><C:error><m:human-readable errcode="2">....

    解决:这是httpd.conf里面的<Location svn>中svnpath只想错误没指到创建的资料库。

 

============================创建svn资料库======================================

svnadmin -h

============================启动svn服务器====================================

svnserve -h

分享到:
评论
1 楼 lsn_1212 2011-09-19  
网上装svn的资源太多了,这个挺好的,说的挺全的。

相关推荐

    linux + apache + subversion安装和基本配置

    本文将详细讲解如何在Linux系统上安装和配置Apache Web服务器以及Subversion版本控制系统。 首先,Linux作为开源操作系统,是许多服务器的基础,其稳定性和安全性深受开发者喜爱。在本案例中,我们将使用它作为平台...

    linux下subversion+apache server搭建

    Linux环境下搭建Subversion(简称svn)服务器,主要涉及到两个方面:一是Subversion自身服务的搭建,二是与Apache服务器的集成。Subversion是一个开源的版本控制系统,用于跟踪文件和目录的变更,便于团队协作开发。...

    linux+svn+apache安装配置部署

    通过以上步骤,我们不仅完成了Subversion在Linux上的独立安装与配置,还成功地将Apache与Subversion相结合,搭建了一个功能完整的SVN服务器。这样的服务器不仅可以提供版本控制服务,还可以通过Web界面方便地管理和...

    SVN + Apache 成功安装部署

    **标题解析:** "SVN + Apache 成功安装部署" 这个标题表明了我们要讨论的是如何在服务器或开发环境中安装并配置Subversion (SVN) 和Apache HTTP Server,以便协同工作,实现版本控制和代码仓库的Web访问。...

    linuxsvn离线安装

    在Linux环境中,Subversion(简称SVN)是一个版本控制系统,用于管理软件项目中的源代码、文档等文件的版本。在没有网络连接的情况下,即离线状态下安装Linux SVN,需要提前下载好所有必要的依赖包,然后在本地进行...

    apache+svn安装

    ### Apache + SVN 安装与配置详解 #### 概述 在软件开发过程中,版本控制系统是必不可少的工具之一。Subversion(简称SVN)作为一款经典的集中式版本控制系统,在项目管理方面发挥着重要作用。而Apache作为一款...

    Linux下搭建svn+apache

    在Linux环境下搭建Subversion (SVN) 和 Apache 的联合服务是一种常见的版本控制系统部署方案。通过Apache作为前端服务器,可以利用HTTP协议方便地进行SVN仓库的管理和访问。本文将详细介绍在Linux环境下搭建SVN + ...

    linux离线安装SVN_1.8.17服务所需安装包

    文件名为“linux离线安装SVN_1.8.17所需安装包”,这可能包含SVN的源码包、apr(Apache Portable Runtime)、apr-util以及其他必要的依赖文件。 2. **解压安装包**:使用`tar`命令解压下载的压缩文件,例如`tar -...

    搭建SVN + Apache 服务器

    以下将详细介绍如何在Linux 6.5系统上搭建SVN + Apache服务器。 #### 一、安装Apache HTTP Server Apache HTTP Server是搭建SVN服务器的基础组件之一,其主要功能是提供Web服务。安装步骤如下: 1. **安装Apache...

    svn服务安装和部署

    2. **安装Apache和Subversion模块**:`sudo apt-get install apache2 libapache2-svn` 或 `sudo yum install httpd mod_dav_svn`。 3. **配置Apache**:编辑`/etc/apache2/conf-available/svn.conf`或`/etc/httpd/...

    svn+apache+trac配置

    在本配置中,我们将通过Apache web服务器来部署Trac,实现通过Web访问项目管理和版本控制的功能。 1. **总体说明** Trac环境的搭建主要涉及以下组件: - Apache HTTP Server:作为Web服务器,负责处理HTTP请求并...

    ubuntu apache+svn 常用配置

    以上就是Ubuntu上Apache+SVN的基本配置和一些常用设置。根据实际需求,可能还需要进行更详细的调整,如防火墙规则、日志级别、访问控制等。理解这些配置将有助于在项目开发过程中实现高效、安全的版本控制。

    Apache+MySQL+SVN+SSL(最终文档)

    从给定的文件标题、描述、标签以及部分内容中,我们可以推断出这是一份关于在Linux环境下搭建Apache、MySQL、Subversion(SVN)及SSL安全连接的详细指南。这份文档由作者“chi”创建于2011年3月16日,旨在指导用户...

    SVN安装,部署,服务端,客户端安装详解

    常见的服务端软件有Apache HTTP Server与SVN的模块mod_dav_svn,或者使用专用的Subversion服务器软件如VisualSVN Server。服务端配置需要确保仓库的安全性和访问效率。 客户端安装则用于开发者本地环境,用于日常的...

    Linux下安装svn.pdf

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

    CentOS下安装apache和svn并为svn配置http支持

    在CentOS环境下安装Apache服务器和Subversion(SVN)版本控制系统,并配置Apache来支持HTTP协议的SVN服务,是常见的软件部署与配置任务。以下知识点会详细阐述整个过程中涉及的步骤、组件以及潜在的配置问题。 ### ...

    linux基于apache配置svn文档

    Linux基于Apache配置SVN(Subversion)是一种常见的版本控制系统部署方式,它允许团队协作开发代码、文档等资源,保持文件历史记录并管理不同版本。以下将详细介绍如何在Linux环境中安装和配置Apache SVN服务器。 ...

    Linux下java web服务器搭建(jdk6 apache+2Tomcat6+svn).doc

    【Linux下Java Web服务器搭建(JDK6 + Apache + 2个Tomcat + SVN)】 在Linux环境下构建Java Web服务器通常涉及到多个组件的安装与配置,主要包括Java开发工具包(JDK)、Apache HTTP服务器、Tomcat应用服务器以及...

    subversion for SUSE Linux.rar

    本教程将深入探讨如何在SUSE Linux上安装和配置Subversion。 首先,我们需要了解SUSE Linux。SUSE是一款源自德国的开源Linux发行版,以其企业级稳定性和安全性著称。对于开发团队来说,SUSE提供了一个强大的平台来...

    linux部署svn

    在Linux CentOS系统中部署SVN,我们通常会使用Apache HTTP Server作为前端服务器,与Subversion库进行交互。 部署步骤如下: 1. **安装依赖软件**:首先,我们需要安装必要的软件包。在终端中运行以下命令: ``` ...

Global site tag (gtag.js) - Google Analytics