`
kingxiaokang
  • 浏览: 29586 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类

Linux中subversion(SVN)整合apache安装及配置

阅读更多

本安装环境为:opensuse12.1

所需安装包:httpd-2.4.3.tar.gz
                subversion-1.7.6.tar.gz
                openssl-1.0.1c.tar.gz
                neon-0.29.6.tar.gz

                pcre-8.20.tar.gz
注:其中红色字体标识的为必须要,蓝色字体标识的为一些扩展包或者依赖包(要试情况下载安装)

 

当前我所用的是普通用户安装,并不是用的root用户

 

第一部分:安装

①.安装apache:

1. tar -zxvf httpd-2.4.3.tar.gz

     2. cd httpd-2.4.3/

        3. ./configure --enable-ssl --enable-maintainer-mode --prefix=/usr/local/apache2 --enable-mods-shared=all

4. make

5. sudo make install

注:如果安装apache在第3步./configure的时候出现这样的错误:configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

    则需要先安装pcre-8.20.tar.gz这个包,安装步骤如下:

i: tar -zxvf pcre-8.20.tar.gz

ii: cd pcre-8.20/

iii: ./configure

  iV: make

V: sudo make install

安装完之后继续重新安装apache,先回到apache的源目录httpd-2.4.3文件夹中,然后从第3步可是重新编译安装.

 

②:安装subversion(SVN):

1. tar -zxvf subversion-1.7.6.tar.gz

注:这里需要添加一个neon的支持,就需要用到neon-0.29.6.tar.gz包,把这个包解压之后形成文件夹neon-0.29.6,然后把这儿文件夹拷贝到刚刚解压的SVN的源代码的根目录下面,并且重命名为neon

2. cd subversion-1.7.6

3. ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs --with-ssl

4. make

5. sudo make install

此时,SVN已经安装完毕,首先把/usr/local/subversion/bin这个目录加入到环境变量PATH中,然后运用命令svn --version,如果看到如下信息则SVN安装成功:

 

 

svn,版本 1.7.6 (r1370777)

   编译于 Oct 13 2012,00:15:31

版权所有 (C) 2012 Apache 软件基金会。

此软件包含了许多人的贡献,请查看文件 NOTICE 以获得更多信息。

Subversion 是开放源代码软件,请参阅 http://subversion.apache.org/ 站点。

可使用以下的版本库访问模块: 

* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。

  - 处理“http”方案

  - 处理“https”方案

* ra_svn : 使用 svn 网络协议访问版本库的模块。  - 使用 Cyrus SASL 认证

  - 处理“svn”方案

* ra_local : 访问本地磁盘的版本库模块。

  - 处理“file”方案

 

 

③:安装openssl

1. tar -zxvf openssl-1.0.1c.tar.gz

2. cd openssl-1.0.1c

3. ./configure

4. make

5. sudo make install

 

第二部分:检查

①:检查svn是否已经添加到apache中

查看/usr/local/apache2/conf/httpd.conf中是否添加了

LoadModule dav_svn_module modules/mod_dav_svn.so

如果没有添加,则手动添加下.

②开启apache,进入到apache的bin目录,执行 sudo ./apachectl start

在浏览器中打开,http:://localhost, 看apache是否正常运行

 

第三部分:整合

①:创建SVN仓库

# 创建文件夹

$ mkdir -p /home/mysvn

# 运行创建版本库的命令,指定数据存储为 FSFS,如果要指定为 Berkeley DB,则将 fsfs 替换为 bdb

$ svnadmin create --fs-type fsfs /home/mysvn

 

②:整合apache和subversion

Subversion服务器有两种运行方式,一是可以作为Apache 2.0的一个模块,以WebDAV/DeltaV协议与外界连通;另外,也可使用Subversion 自带的小型服务器程序svnserve。

以http方式运行

在/usr/local/apache2/conf/httpd.conf中加入:

<Location /svn/repository>

DAV svn

SVNPath /home/mysvn

</Location>

在服务器的浏览器中输入网址: http://localhost/svn/repository/

这时候,你会看到reversion0的界面,说明仓库就已经可以工作了。

tips:此时如果不能看到,请小心检查以上几步,如果都正确,请检查自己的httpd.conf配置文件,其中检查apache调用svn的端口是否占用,因为linux自带的web服务占用的是80端口,而apache默认调用的也是80端口。

 

③:用户添加以及权限设置

1.用户添加:

因为subversion跟apache整合在一起,所以用户添加管理和权限设置都是apache的任务。

进入/urs/local/apaceh2/bin,添加用户

# ### 第一次: 以 -c 建立档案

# htpasswd -c /etc/svn-auth-file harry

New password: *****

Re-type new password: *****

Adding password for user harry

 

# htpasswd /etc/svn-auth-file sally

New password: *******

Re-type new password: *******

Adding password for user sally

 

2.用户权限添加

 

在/usr/local/apache2/conf/httpd.conf的加入:

<Location /svn/repository >

DAV svn

SVNPath /home/mysvn

AuthType Basic

AuthName "Subversion repository"

AuthUserFile /etc/svn-auth-file

Require valid-user

</Location>

重新启动 Apache后,如果有人要访问SVN服务器,系统会要求他输入用户名和密码。 只有输入Sally 或Harry的用户名和相应的密码,才可以对档案库进行修改和访问。

 

权限设置在svn-auth-file内

比如仓库rpo,其下有p1,p2两个目录,用户有a,b

#用户a,b只能对rpo目录下的目录进行read,没有权限write

[rpo:\]

a = r

b = r

 

#用户a对p1有读写的功能,用户b只能读

[doc:/p1]

a = rw

b = r

 

tips:请注意用户会继承上级目录的权限。小心设置,不要相互冲突。

 

此时用户登录只需要输入正确的用户名和密码即可登录,如果不能访问,看以下说明:

 

tips:看你的用户是否有查看文件的权限,使用命令#chown –R apache.apache /path/to/file

 

④:用户组和用户组权限设置

用户组添加如下:

[groups]

Ppc = a, b, c

Symbian = d, e, f

 

用户组权限设置要在前面添加@标志,表示对组内所有成员权限一样

 

[doc:/]

@symbian = r

 

分享到:
评论

相关推荐

    Linux整合Apache和SVN

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

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

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

    SVN服务器在Linux上的安装和配置

    本文将详细介绍如何在Linux平台上安装和配置Subversion(SVN)服务器,并将其与Apache Web服务器整合,以便提供基于Web的版本控制服务。此外,文章还将涉及Subversion的认证与授权机制以及如何设置FSFS作为后端存储...

    apache+svn+trac安装软件

    **整合Apache、Subversion和Trac** 1. 使用mod_proxy或mod_proxy_ajp在Apache中设置反向代理,使得Trac可以通过Apache服务器对外提供服务。 2. 调整Apache、Subversion和Trac的配置,以确保安全性和性能。例如,设置...

    SVN的安装及配置

    - Linux 和 macOS:通常通过包管理器(如 apt-get 或 brew)安装 SVN,例如 `sudo apt-get install subversion` 或 `brew install subversion`。 2. **配置**: - 创建 SVN 仓库:使用 `svnadmin create` 命令...

    svn使用说明书(客户端服务器端安装配置、apache服务配置、在eclipse上的使用)

    **1 SVN 简介** ...通过以上步骤,就可以实现SVN的客户端服务器端安装配置、Apache服务配置以及在Eclipse上的使用。在实际工作中,理解这些基本操作有助于团队高效、有序地进行软件开发和版本管理。

    CentOS 6.5搭建Apache整合SVN 1.8.5服务器(多版本库权限配置)

    在本教程中,我们将深入探讨如何在CentOS 6.5操作系统上搭建一个Apache服务器,并将其与Subversion(SVN)1.8.5版本集成,同时实现多版本库的权限配置。这是一个对于团队协作和代码管理至关重要的过程,特别适用于...

    Apache-Subversion-1.14.0.rar

    Apache Subversion(简称SVN)是一个开源的版本控制系统,用于管理软件项目的源代码和其他文件的变更。这个"Apache-Subversion-1.14.0.rar"文件是Apache Subversion 1.14.0版本的压缩包,适用于在网络环境不理想时...

    linux下subverion服务器搭建

    下面我们将详细探讨如何在Linux系统中安装和配置Subversion服务器,并整合Apache以实现安全的权限控制。 首先,我们需要确保系统已经安装了必要的基础工具,如GCC编译器、库文件等。这通常可以通过执行以下命令完成...

    SVN的相关使用及服务器配置

    - 如果选择Apache HTTPD,需安装mod_dav_svn模块,并在配置文件中添加SVN仓库路径。 - 设置URL访问权限,例如通过`&lt;Location&gt;`标签限定访问范围。 ### SVN客户端使用 1. **检查出代码**:使用`svn checkout URL`...

    apache+mysql+php+svn自动发布服务器搭建.pdf

    - 如果需要,配置Subversion仓库,设置Apache的 dav_svn_module 和 authz_svn_module 完成以上步骤后,你将拥有一个能够自动发布代码的服务器环境。开发者可以在Subversion仓库中提交代码,Apache服务器会自动获取...

    SVN配置管理及工具使用

    对于Linux或Mac用户,可安装命令行工具如`svn`。 - 配置SVN服务器:通常使用Apache HTTP Server或VisualSVN Server作为服务器端,配置SSL证书确保数据安全。 2. **创建版本库(Repository)**: - 使用`svnadmin ...

    SVN安装包和使用

    **SVN(Subversion)** 是一款开源的版本控制系统,用于管理软件项目中的源代码、文档等文件的历史版本,使得多人协作开发时可以有效管理和跟踪文件的修改历史,避免冲突并便于恢复旧版本。SVN 的核心概念包括仓库...

    svn搭建

    【标题】:“svn搭建” 【描述】:在IT行业中,版本控制系统是不可或缺的工具,它帮助开发者们管理项目代码的变更历史,...通过在MyEclipse等IDE中整合svn,可以让开发者更加便捷地进行源码控制,实现高效协同开发。

    subversion

    - **安装Subversion**:在Linux系统中,通常通过包管理器如`apt`或`yum`来安装Subversion服务器和客户端。 - **创建仓库**:使用`svnadmin create`命令创建一个新的Subversion仓库。 - **启动和配置服务器**:...

    svn应用笔记

    - 安装:根据操作系统选择适合的SVN客户端,如Windows上的TortoiseSVN,Linux下的svn命令行工具。 - 配置:设置SVN客户端的用户名、密码,以及代理服务器等网络配置。 3. SVN日常使用 - 创建版本库:可以使用...

    svn.rar_svn_svn教程

    在本文中,我们将深入探讨SVN的基本概念、安装与配置、日常操作以及相关教程资源。 **一、SVN基本概念** 1. **版本控制**:SVN的核心功能是版本控制,它记录每次对文件或目录的更改,使得团队成员可以协同工作,...

    jenkins-svn+ant插件(含依赖).zip

    本文将深入探讨Jenkins与SVN、Ant的集成,以及在Linux离线环境中如何安装相关插件。 首先,让我们了解Jenkins。Jenkins提供了一个易于使用的界面,允许开发者频繁地将代码集成到主分支,并自动执行构建和测试任务。...

    在Linux系统中将Redmine和SVN整合入Nginx的方法

    在Linux系统中,将Redmine和SVN整合到Nginx服务器是一项常见的任务,特别是对于那些需要高效项目管理和版本控制的团队。Redmine是一个强大的Web应用程序,用于项目管理,包括任务跟踪、问题追踪、时间跟踪等功能,而...

Global site tag (gtag.js) - Google Analytics