`

svn安装部署(Linux+SubVersion+Apache)

阅读更多
[size=medium]1. 在网上找了很多安装svn版本库的资源,有的有很多的不同。自己按照好几个方法试着做都有点晕了。后来找到这个学习资料,发现这个是最全最好的。下面就是我找到的学习资料,希望对很多人有用。 

一.  安装apr依赖库(Apache Portable Runtime[/size] Module) 

http://http://apr.apache.org/download.cgi
./configure 
make 
make install 

http://download.chinaunix.net/download.php?id=25796&ResourceID=472
./configure --with-apr=/usr/local/apr 
make 
make install 

二. 重新编译httpd 

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

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

http://httpd.apache.org/download.cgi
./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.6.17.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 /home/svn  (这里如果这样配置,我svn的会出问题,我配的是: SVNPath /home/svn/repos)
AuthType Basic 
AuthName "Subversion repository" 
AuthUserFile /home/svn/svn-auth-file 
Require valid-user 
AuthzSVNAccessFile /home/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


往版本库里导入项目: svn import -m "new project" yourProject http://127.0.0.1:500/repos/xxx

删除版本库中某个路径下的文件 svn delete -m "delete file" file:///root/svn/repos/xxx
分享到:
评论

相关推荐

    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访问。...

    Linux离线安装svn.zip

    在Linux环境中,Subversion(简称svn)是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件的变更。本文将详细讲解如何在没有网络连接的情况下,通过提供的“Linux离线安装svn.zip”压缩包来安装和...

    Ubuntu+svn+ssl+ldap

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

    apache+svn安装

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

    linuxsvn离线安装

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

    Linux下搭建svn+apache

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

    知识点linux+apache+svn学案.pdf

    5. **部署Apache+SVN** - 修改Apache配置文件中的监听端口:`Listen 8089` - 在配置文件末尾添加如下配置,以启用DAV模块和SVN支持: ``` &lt;Location /svn/&gt; DAV svn SVNParentPath /svn/repository ...

    svn+apache+trac配置

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

    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...

    ubuntu apache+svn 常用配置

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

    subversion1.7.7套装含svn+apr+sqlite+neon

    在Linux环境中,特别是Asianux 3这种发行版上,Subversion 1.7.7套装提供了必要的组件来搭建非Apache版的svn服务器。这个套装包含以下几个关键部分: 1. **Subversion(svn)**: Subversion 1.7.7是该版本控制系统...

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

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

    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/...

    mvn+svn+linux打包

    标题中的“mvn+svn+linux打包”涉及的是在Linux环境下使用Maven(mvn)和Subversion(svn)工具进行软件项目的构建和版本控制。这里我们将深入探讨这三个关键概念及其在软件开发过程中的作用。 1. Maven: Maven是...

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

    【SVN安装,部署,服务端,客户端安装详解】 Subversion(SVN)是一种广泛使用的版本控制系统,尤其在跨平台的开发环境中,它为团队协作提供了高效且可靠的代码管理方案。SVN的主要特点是其对CVS功能的改进,以及对...

    Linux下安装svn.pdf

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

Global site tag (gtag.js) - Google Analytics