`

linux架设Apache + subversion版本控制(强力推荐)

 
阅读更多

1.需要两个文件,httpd和subversion. httpd是web服务器,用来通过web访问subversion,httpd可以在apache官方网站上下载到
最新下载地址为:
httpd: http://httpd.apache.org/download.cgi?Preferred=http%3A%2F%2Fwww.apache.org%2Fdist
subversion: http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz

2.新建一个用户:svnroot
最好不要让root用户参与到svn的权限管理和日常的运行和维护工作中来,但是下面的一些安装和配置操作还是 需要root用户来完成的,因为有些操作只有root才能做。权限问题很重要。曾经因为权限问题折腾了一天。

3.编译安装httpd (root用户操作):
//解压apache2安装包
# tar xvzf httpd-2.2.2.tar.gz
//进入解压后的目录
# cd httpd-2.2.2
//配置apache安装,前两个参数是必须要加的,你还可以根据您的需要添加其他的参数。
//后面的参数制定你要把apache安装哪里
# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/
# make
//安装
# make install
# cd /usr/local/apache2/bin
//启动apache服务
# ./apachectl start
//打开浏览器http://localhost/如果有测试页"It works!"出现则证明已经安装成功。

4.
安装Subversion
//解压SubVersion安装包 (root用户进行下面的操作)
# tar xvzf Subversion-1.3.1.tar.gz
//进入解压后的目录
# cd Subversion-1.3.1
//配置subversion安装
#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion
--with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib
--enable-maintainer-mode
# make
//安装
# make install
//创建库文件所在的目录 (svnroot用户进行下面的操作)
# mkdir /home/svnroot/repository
//进入subversion的bin目录
# cd /usr/local/subversion/bin
//创建仓库"test"
# ./svnadmin create /home/svnroot/repository/test
# cd /home/svnroot/repository/test
//看看是不是多了些文件,如果是则说明Subversion安装成功了
# ls –l
# cd /usr/local/subversion/bin
//这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去,
//提交后的修订版为1。
# ./svn import /home/user/import file:///home/svnroot/repository/test –m "注释"
//不让其他人有该目录的权限
# chmod 700 /home/svnroot/repository


5.修改Apache配置文件
# cd /usr/local/apadche2/bin
//启动Apache
# ./apachect1 start
# vi /usr/local/apache2/conf/httpd.conf
   //在最下面添加
   LoadModule dav_module modules/mod_dav.so
   LoadModule dav_svn_module modules/mod_dav_svn.so
   LoadModule authz_svn_module modules/mod_authz_svn.so
   <Location /svn>
   DAV svn
   SVNParentPath /home/svnroot/repository/ //svn父目录
   AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
   AuthType Basic //连接类型设置
   AuthName "Subversion.zoneyump" //连接框提示
   AuthUserFile /home/svnroot/repository/authfile //用户配置文件
   Require valid-user //采用何种认证
   </Location>
   //其中authfile是通过"htpasswd [–c] /home/svnroot/repository/authfile username password"来创建的
   //"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,
   //则只能第一个用户可以访问新建库
   //顺便把你的端口号也改一下,要不然可能&你以前的Apache的端口冲突


6.重启apache # ./usr/local/apache2/bin/apachectl restart
//打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。


7.权限管理
1)增加用户
# htpasswd [-c] /home/svnroot/repository/authfile wooin
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
# htpasswd authfile 用户名(加入新的用户)

2)权限分配
# vi /home/svnroot/repository/authz.conf
   [test:/] //这表示,仓库test的根目录下的访问权限
   wooin = rw //test仓库wooin用户具有读和写权限
   bao = r //test仓库bao用户具有读权限
   [test2:/] //test2仓库根目录下的访问权限
   wooin = r //wooin用户在test2仓库根目录下只有读权限
   bao = //bao用户在 test2仓库根目录下无任何权限
   [/] //这个表示在所有仓库的根目录下
   * = r //这个表示对所有的用户都具有读权限
   #[groups] //这个表示群组设置
   #svn1-developers = wooin, bao //这个表示某群组里的成员
   #svn2-developers = wooin
   #[svn1:/]
   #@svn1-developers = rw //如果在前面加上@符号,则表示这是个群组权限设置

将这个设置完成后。重启Apache,就可以通过
http://localhost/svn/test
这个URL来访问仓库了,当然,受权限的限制,必须是合法用户才能访问且具有相应的权限

 


备注:

1。apache进程的权限:因为所有跟仓库传输的操作都是通过apache进程进行的,所以即使你给svn用户设置了 很大的权限,但是apache进程没有访问仓库或者相关文件的权限也没有用,apache进程的权限设置在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行:
User daemon # 将daemon改为svnroot,让apache进程以svnroot的身份运行
Group daemon
 


2。

在/etc/profile的结尾设置一些svn启动时要做的工作 # start apache server for svn
/usr/sbin/apachectl start
export SVN_EDITOR=vi 


3。/home/respository/svnroot下的文件操作权限有给svnroot.

 

分享到:
评论

相关推荐

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

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

    Apache+ subversion+tortoiseSVN安装手册

    Apache、Subversion 和 TortoiseSVN 是用于版本控制系统的重要组件,尤其在软件开发团队中广泛使用,便于协作和代码管理。下面将详细介绍这三个组件以及如何进行安装。 **Apache Subversion (SVN)** Apache ...

    Apache 2.2 + Subversion 1.6.5 版本控管安裝筆記

    Apache 2.2 + Subversion 1.6.5 是一个经典的版本控制系统组合,用于管理和协同开发源代码。Apache HTTP Server 提供了Web服务,而Subversion作为一个版本控制系统,允许团队成员跟踪代码变更并协作。TortoiseSVN则...

    rhel6.9编译安装apache+subversion

    rhel6.9下编译安装apache+subversion详细安装文档,及其所需安装包。

    apache+subversion配置说明 v1 8

    Apache Subversion(简称SVN)是一种版本控制系统,常与Apache Web服务器结合使用,提供Web访问方式的源代码管理和协作功能。本配置说明主要针对Apache 2.2.29和Subversion 1.8.13版本进行安装和配置,以实现SVN仓库...

    subversion+apache+TortoiseSVN安装说明

    Subversion 是一个开源的版本控制系统,Apache 是一款广泛应用的Web服务器,TortoiseSVN 是一个 Windows shell 接口,用于 Subversion。以下是对安装过程的详细说明: 1. **安装 Subversion 和 Apache** - 下载并...

    linux下subversion+apache server搭建

    Apache是常用的Web服务器,通过与Subversion集成,可以提供WebDAV协议来访问版本库,实现远程访问和版本控制。 **1. Subversion独立服务器搭建** 在Linux系统中,Subversion可以通过独立的svnserve服务进行部署。但...

    SVN版本管理系统的安装(CentOS+Subversion+Apache+Jsvnadmin)安装步骤

    SVN 版本管理系统的安装(CentOS+Subversion+Apache+Jsvnadmin)安装步骤 本标题描述了本文档的主要内容,即 SVN 版本管理系统的安装过程,该过程包括安装 CentOS、Subversion、Apache 和 Jsvnadmin 等组件。 描述...

    Apache2.4.2+Subversion1.7.4

    apr-1.4.6.tar.gz apr-util-1.4.1.tar.gz httpd-2.4.2.tar.gz subversion-1.7.4.tar.gz pcre-8.30.tar.gz sqlite-autoconf-3071100.tar.gz

    svn+apache+完整图解+配套软件(Subversion+apache)

    svn+apache+完整图解+配套软件(Subversion+apache)

    搭建SVN服务器(整合Apache+Subversion)

    搭建一个SVN(Subversion)服务器,整合Apache作为前端HTTP服务器,可以实现高效且安全的代码版本控制。这个过程涉及到多个组件的安装和配置,包括Apache、Subversion、SSL加密以及必要的依赖库。以下是详细步骤: ...

    xp+apache2.2+subversion1.6.17搭建版本控制服务器

    本教程将详细讲解如何在Windows XP操作系统上,利用Apache2.2和Subversion 1.6.17搭建一个版本控制服务器。 首先,我们需要安装Subversion。文件"Setup-Subversion-1.7.5.msi"是一个Subversion的安装程序。运行这个...

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

    总之,Apache与Subversion的结合为开发者提供了一种高效、安全的版本控制系统,使得团队协作和代码管理变得更加便捷。正确配置Apache和Subversion,可以确保项目数据的安全存储和版本控制功能的充分利用。

    apache2.2.25+Subversion1.8.16

    但是这两个软件的版本必须匹配才能安装成功,否则会一直.so文件找不到的错误,小编在这方面吃尽了苦头,折腾几天试了n个版本后才找到匹配成功的两个软件,另外将安装过程中不好找的插件也附上,免得大家走弯路,插件...

    持续集成-Subversion+Apache+Jsvnadmin+jenkins

    总结起来,持续集成-Subversion+Apache+Jsvnadmin+Jenkins的搭建涉及到多个组件的配置和集成,每个环节都需要细致入微的操作,以确保整个流程的顺畅。通过这个系统,开发者可以实现快速反馈,提高代码质量和团队协作...

    Apache + svn 版本控制

    Apache 是一款开源的Web服务器,而 SVN 是一个版本控制系统,用于管理源代码和其他文本文件的变更历史。将 SVN 集成到 Apache 服务器中,可以让团队成员通过 Web 浏览器访问和管理项目代码,提供了一个方便、安全的...

Global site tag (gtag.js) - Google Analytics