`

Subversion 基于 Apache 使用时用户权限的管理

阅读更多
Subversion 项目和用户权限配置指南:
一、Subversion 的两种使用方式:
1、Apache 站点方式;
2、本地命令行方式。
当然,我们也可以通过客户端来进行访问,但那也必须先建立上述
两种访问接口。
二、Apache 方式的配置
第一种方式我们需要安装 Apache 服务器程序,同时需要安装两个模
块:
mod_dav_svn 以及 mod_authz_svn
他们可以在 Subversion 的站点上找到,请在附录中查找链接。
将所有需要的模块安装之后,我们必须编辑 Apache 的配置文档,让
其将我们要用的模块装载。一般来说,Apache 的配置文件是 httpd.conf
。位置一般在 Apache 安装目录下的 conf 子目录中。而模块我们一般放
在 modules 子目录中。我们在配置文件 httpd.conf 中加入:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
这样,Apache 就可以访问 Subversion 的仓库了。
三、Apache 方式中项目的发布
首先还是要先建立 Subversion 的项目,例如:
svnadmin create /home/svn/projectA
之后,在 httpd.conf 文件中加入:
<Location /projectA>
DAV svn
SVNPath /home/svn/projectA
</Location>
如果是想建立多个项目的话,可以使用另一种写法:
<Location /svn>
DAV svn
SVNParentPath /home/svn
</Location>
这样,凡是在 /home/svn 目录下的子目录, Apache 都交给 Subversion
DAV 去处理。用户即可以通过浏览器或者URL访问 Subversion 管理的项
目了。
四、Apache 方式下的权限管理
首先,我们来创建一个用户 robert。
由于是第一次创建用户,我们必须同时创建一个用户口令文件:
htpasswd -c authfile robert
这时,会提示输入用户密码以及确认用户密码。htpasswd 程序会将
用户密码进行散列运算后保存在 authfile 中。创建第二个用户时,我们
就不必输入 -c 开关了。
htpasswd authfile harry
如果想要删除某个用户,我们可以使用下列指令:
htpasswd -D authfile harry
这样,harry 就被从 authfile 中删除了。
这时,Subversion 的权限管理问题就转化为了 Apache 的权限管理问
题了。我们将前述的目录配置做一下修改:
<Location /projectA>
DAV svn
SVNPath /home/svn/projectA
AuthType Basic
AuthName "Subversion projectA"
AuthUserFile /home/svn/projectA/authfile
Require valid-user
</Location>
这样,对 projectA 访问就必须提供 authfile 中记录的用户和正确密码
才可以进行了。
五、Apache 方式下的分组管理
有时,我们希望能够将多个开发人员编为一组,使用组的方式来为
项目设定权限。比如 projectA 项目只有属于 groupA 的成员才可以存取
。下面我们来介绍其配置方法。
这里,我们就要用到 mod_authz_svn 提供的功能了。我们对
httpd.conf 中的目录配置再做一次修改:
<Location /projectA>
DAV svn
SVNParentPath /home/svn/
AuthzSVNAccessFile /home/svn/authz.conf
AuthType Basic
AuthName "Subversion projectA"
AuthUserFile /home/svn/projectA/authfile
Require valid-user
</Location>
大家可以注意到,这里使用了另一个配置文件:authz.conf
他的大致结构如下:
[groups]
everyone = robert, tommy, songjy, zhengyong, orcus, zhangq
groupA = robert, zhangq
groupB = orcus, tommy
[projectA:/]
@groupA = rw
@everyone = r
[projectB:/]
@everyone = r
@groupB = rw
Ok, 我想大家应该已经明白了基于组和项目的管理方法了。:)
附录:
1、获取最新安装包:
http://summersoft.fay.ar.us/pub/subversion/latest/whitebox-el-3/bin/
分享到:
评论

相关推荐

    Subversion 基于 Apache 使用时用户权限的管理.docx

    以下是关于Subversion基于Apache使用时用户权限管理的详细知识: 1. **Subversion的使用方式** Subversion提供了两种主要的访问方式: - **Apache站点方式**:通过Apache服务器作为中间层,用户可以通过Web浏览器...

    subversion基于Apache的服务器配置[借鉴].pdf

    《基于Apache的Subversion服务器配置详解》 Subversion(简称SVN)是一种广泛使用的版本控制系统,它允许开发者在团队环境中协作开发项目,跟踪文件和目录的变更。在配置Subversion服务器时,Apache HTTP Server...

    subversion+apache+TortoiseSVN安装说明

    通过以上步骤,你可以搭建起一个基于 Subversion、Apache 和 TortoiseSVN 的版本控制系统,为团队协作提供便捷的代码版本管理。在实际应用中,可能还需要根据项目需求进行更详细的权限设置和日志管理。

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

    3. 环境变量与权限:正确设置环境变量,如Java环境,并确保Apache、Subversion和Jenkins服务运行在适当的用户权限下。 "错误的解决方案"可能涵盖各种问题,如: - SVN冲突:当多人同时修改同一份代码时,可能会出现...

    PHP基于Web的subversion用户管理系统(源代码+论文).zip

    基于Web的subversion用户管理系统 摘 要 本系统主要是基于Web的subversion系统的用户管理系统。在开源软件世界,并行版本系统(cvs)一直是版本控制长久以来的唯一选择,但是,和其它许多工具一样,cvs开始显露出衰老...

    基于Web的subversion用户管理系统

    本系统主要是基于Web的subversion系统的用户管理系统。在开源软件世界,并行版本系统(cvs)一直是版本控制长久以来的唯一选择,但是,和其它许多工具一样,cvs开始显露出衰老的迹象,而subversion,正是以cvs继任者的...

    PHP基于Web的subversion用户管理系统(源代码+论文)

    基于Web的subversion用户管理系统 摘 要 本系统主要是基于Web的subversion系统的用户管理系统。在开源软件世界,并行版本系统(cvs)一直是版本控制长久以来的唯一选择,但是,和其它许多工具一样,cvs开始显露出衰老...

    PHP基于Web的subversion用户管理系统(源代码+LW).zip

    本系统主要是基于Web的subversion系统的用户管理系统。在开源软件世界,并行版本系统(cvs)一直是版本控制长久以来的唯一选择,但是,和其它许多工具一样,cvs开始显露出衰老的迹象,而subversion,正是以cvs继任者的...

    用 Apache 和 Subversion 搭建安全的版本控制环境

    2. **HTTP 访问控制**:通过配置 Apache,管理员可以对用户访问版本库的权限进行精细化管理。例如,可以指定哪些用户或用户组可以读取、写入或管理特定版本库。 3. **SSL 加密**:Subversion 可以通过 HTTPS 协议...

    基于PHP实现Web的subversion用户管理系统毕业设计(源代码+论文)

    但是,它的用户管理机制却是很差,subversion用户管理系统分为两大基本部分,一个是普通用户的注册及自己资料的修改和管理。另外一个主要部分是超级用户对于普通用户的申请进行认证。以及对通过认证的用户分配相应的...

    基于Web的subversion用户管理系统.doc

    ### 基于Web的Subversion用户管理系统 #### 摘要解读与核心知识点解析 本文档介绍了一个基于Web的Subversion用户管理系统的设计与实现。该系统旨在改善Subversion(以下简称SVN)原有的用户管理机制,提供一个友好...

    PHP基于Web的subversion用户管理系统(源代码+论文).rar

    本系统主要是基于Web的subversion系统的用户管理系统。在开源软件世界,并行版本系统(cvs)一直是版本控制长久以来的唯一选择,但是,和其它许多工具一样,cvs开始显露出衰老的迹象,而subversion,正是以cvs继任者的...

    使用PHP进行Apache+SVN的权限管理

    例如,可以使用SVNKit或libsvn等库来编程访问SVN仓库,或者利用如VisualSVN Server等服务器管理工具,它们可能已经集成了用户管理界面,可以减轻手动配置的工作量。 总的来说,结合Apache、SVN和PHP,我们可以构建...

    subversion-1.9.5+apache-2.4.25安装步骤及安装包

    Subversion是一个版本控制系统,用于管理和跟踪文件和目录的更改,而Apache则是一个广泛使用的开源HTTP服务器,可以托管各种Web应用程序,包括那些基于Subversion的版本控制服务。在这个"subversion-1.9.5+apache-...

    在windows下搭建基于apache的SVN环境.pdf

    在Windows环境下搭建基于Apache的SVN服务器涉及到一系列的步骤,包括安装必要的软件、配置环境以及测试安装的SVN服务器是否工作正常。以下是从给定文件内容中提取的详细知识点: 1. 安装Apache HTTP服务器:首先...

    Apache-Subversion-1.8.11

    5. **用户管理和权限控制**: SVN提供了一种基于路径的权限控制机制,允许管理员根据项目或目录设置不同用户的访问权限。通过`authz`文件,可以定义用户或组对特定资源的操作权限,包括读取、写入以及修改密码等...

Global site tag (gtag.js) - Google Analytics