`

Subversion(svn)的配置和使用

阅读更多

查询是否已安装相关的包:

 

http://doc.iusesvn.com/show-12-1.html

 

openssl-0.9.8b-8.3.el5
openssl-devel-0.9.8b-8.3.el5
mod_ssl-2.2.3-6.el5
mod_auth_mysql-3.0.0-3.1
mysql-server-5.0.22-2.1
mysql-5.0.22-2.1
mysql-devel-5.0.22-2.1
subversion-1.4.2-2.el5
mod_dav_svn-1.4.2-2.el5

/etc/httpd/modules
mod_authz_svn.so
mod_dav_svn.so
mod_auth_mysql.so

 

初始化repository


1 创建svn的项目库父路径,

 

创建一个目录作为svn的项目库的父路径。

#mkdir /svn/baseroot


2
初始化一个svn项目库xxx

 

#svnadmin create / baseroot /repos/xxx

默认的存储方式是 bdb(Berkeley DB)
   

如果想自定义存储库 的存储 方式
#svnadmin create --fs-type fsfs /svn/repos/projectbase
#svnadmin create --fs-type bdb /svn/repos/
projectbase

 

创建登陆用户文件
在/svn目录下创建登陆用户文件.htpasswd以及用户userj,usery
#htpasswd -c /svn/.htpasswd
userj
#htpasswd /svn/.htpasswd usery

 

创建认证数据库
 登陆mysql
 #mysql -u root -p
 创建数据库svn_auth
 mysql>create database svn_auth;
 mysql>user svn_auth;
 创建用户svn
 mysql>GRANT ALL PRIVILEGES ON *.* TO svn@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
 创建表users
 mysql> CREATE TABLE users (
 ->   user_name CHAR(30) NOT NULL,
 ->   user_passwd CHAR(20) NOT NULL,
 ->   PRIMARY KEY (user_name)
 -> );
 添加2个测试帐号
 mysql> insert into users values('test1', ENCRYPT('password'));
 mysql> insert into user values('test2', ENCRYPT('password'));
 mysql>commit;

 

SVN访问控制
在/svn目录下创建访问控制文件文件svnaccess,名字任意,

不过在以后的配置过程中你必须使用正确的名字,文件内容为


[groups]  
# harryharry_and_sally = harry,sally
[/]  
*=rw

我们可以看到最后2行才是有效的,意思是对所有的项目,

所有人都有读写(rw)的权限,当然我们还可以对某个项目单独进行限制,设置如下


[groups]
# harryharry_and_sally = harry,sally

[
projectbase :/]
userj =r
*=rw

意思是对于项目库projectbase ,用户userj 只有读权限,其他人有读写权限

 

Apache和SVN集成 [ 登陆文件认证的方式 ]
编辑apache的配置文件/etc/httpd/conf/httpd.conf文件

 

或者/etc/httpd/conf.d/subversion .conf文件
添加如下内容  


<Location /svn>
DAV svn
SVNParentPath /svn/baseroot
AuthzSVNAccessFile /svn/svnaccess
AuthType Basic
AuthName "SVN Repositorys"
AuthUserFile /svn/.htpasswd
Require valid-user
</Location> 

我们可以看到/svn/svnaccess,/svn/.htpasswd 是创建的文件,

需要和http.conf的配置一致。

 

安全访问设置
修改目录的属主和访问权限
#chown apache.apache -R /svn
#chmod 755 -R /svn 

修改SELinux的设置
禁用SELinux(强烈不推荐)或者在SELinux图形管理界面中勾上Disable SELinux protection for httpd daemon这个选项,

否则apache这个虚拟用户无法访问/svn目录,当然你也可以用更好的方法设置apache的访问权限.

 

 

http://www.blogjava.net/hadeslee/archive/2008/03/12/185788.html

分享到:
评论

相关推荐

    subversion svn配置说明

    Subversion (简称 SVN) 是一个开源的版本控制系统,用于跟踪文件和目录的变更,以便团队协作和项目管理。本文将详细介绍如何配置Subversion,包括安装、建立Repository以及使用客户端工具。 1. **安装Subversion** ...

    Jenkins subversion svn插件

    Jenkins 是一款强大的持续集成工具,它...通过正确安装和配置 Jenkins SVN 插件,开发者可以实现高效、自动化的 CI/CD 流程,提高软件开发的效率和质量。同时,离线安装方式在没有网络或者网络受限的环境中尤为实用。

    SVNManager配置详细说明文档

    SVNManager 配置详细说明文档 SVNManager 是一个基于 Web 的 SVN 管理软件,旨在提供一个统一的平台 дл...SVNManager 配置详细说明文档旨在提供一个详细的安装和配置指南,为用户提供一个完整的 SVN 管理解决方案。

    Subversion(SVN)使用文档

    《svnbook》是官方的 Subversion 参考手册,包含了全面的 SVN 使用教程和高级主题,例如: 1. SVN 基础:介绍 SVN 的基本概念和工作流程。 2. 版本控制策略:推荐的开发模式,如 Trunk-Branch-Tags 模式。 3. 版本库...

    SVN服务端subversion SVN客户端TortoiseSVN最新版本

    Subversion(SVN)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。它允许多人协同工作,并在代码修改、合并和版本控制方面提供强大的功能。Subversion服务端是整个系统的核心,负责存储和管理项目...

    Subversion svn快速入门教程.doc

    Subversion(通常缩写为svn)是一个开源的版本控制系统,用于跟踪文件和目录的更改,以便在团队中协作开发项目。这篇《Subversion svn 快速入门教程》旨在引导初学者快速搭建Subversion服务器并开始使用它。相较于...

    subversion自带的协议svn的权限设置

    Subversion(简称svn)是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件的历史变更。在Subversion中,权限管理是确保团队协作安全性和效率的关键环节。本文将详细讲解如何在Subversion中设置使用...

    SVN详细配置和使用

    ### SVN详细配置和使用 #### 一、背景与需求 版本控制系统在软件开发过程中扮演着极其重要的角色。本文档将详细介绍Subversion (SVN) 的配置及使用方法,并结合具体的场景来阐述其重要性。 ##### 开发中的实际...

    SubVersionSVN 服务器端(VisualSVN-Server-1.5)

    标题中的"SubVersionSVN 服务器端(VisualSVN-Server-1.5)"指的是VisualSVN Server的1.5版本,这是一个专为Windows设计的Subversion服务器实现。VisualSVN Server提供了图形化的用户界面,使得设置和管理Subversion...

    svn配置和使用帮助文档

    【Subversion(SVN)配置和使用帮助文档】 Subversion(简称SVN)是一个免费的、开源的版本控制系统,它能够管理和追踪文件和目录在不同时间点的状态。它将文件存储在一个称为repository的仓库中,这个仓库就像一个...

    svn用户名和密码的配置

    在软件开发过程中,版本控制系统是不可或缺的工具,其中Subversion(简称svn)是一个广泛应用的集中式版本控制系统。本文将详细讲解如何配置svn的用户名和密码,以便于有效地管理和控制代码库的访问权限。 首先,...

    linux-svn配置svn操作指南权限配置

    Linux下的Subversion(SVN)是一个强大的版本控制系统,用于管理软件项目中的源代码和其他文件的变更。本指南将深入探讨如何在Linux环境中配置SVN服务器,以及如何进行权限管理,确保团队成员能按照预设的角色和职责...

    配置SVN服务器 svn配置

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。配置SVN服务器涉及到安装SVN服务端软件,创建版本库,设置权限管理,以及配置SSH(Secure Shell)以实现安全的远程访问。以下是...

    SVN SubVersion

    `svn中文帮助手册`提供了详尽的Subversion使用指南,包括所有命令的用法、最佳实践和解决常见问题的方法。对于初学者来说,这是一个非常有价值的资源,可以帮助他们快速掌握SVN的使用。 总的来说,SVN SubVersion是...

    SVN配置与使用

    以下是对标题和描述中提到的SVN配置与使用的详细说明: ### 一、SVN安装 1. **下载安装**:首先,从官方网站或第三方源下载SVN的安装程序,如TortoiseSVN,这是一款Windows上的图形化SVN客户端。 2. **协议确认**...

Global site tag (gtag.js) - Google Analytics