查询是否已安装相关的包:
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,包括安装、建立Repository以及使用客户端工具。 1. **安装Subversion** ...
Jenkins 是一款强大的持续集成工具,它...通过正确安装和配置 Jenkins SVN 插件,开发者可以实现高效、自动化的 CI/CD 流程,提高软件开发的效率和质量。同时,离线安装方式在没有网络或者网络受限的环境中尤为实用。
SVNManager 配置详细说明文档 SVNManager 是一个基于 Web 的 SVN 管理软件,旨在提供一个统一的平台 дл...SVNManager 配置详细说明文档旨在提供一个详细的安装和配置指南,为用户提供一个完整的 SVN 管理解决方案。
《svnbook》是官方的 Subversion 参考手册,包含了全面的 SVN 使用教程和高级主题,例如: 1. SVN 基础:介绍 SVN 的基本概念和工作流程。 2. 版本控制策略:推荐的开发模式,如 Trunk-Branch-Tags 模式。 3. 版本库...
Subversion(SVN)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。它允许多人协同工作,并在代码修改、合并和版本控制方面提供强大的功能。Subversion服务端是整个系统的核心,负责存储和管理项目...
Subversion(通常缩写为svn)是一个开源的版本控制系统,用于跟踪文件和目录的更改,以便在团队中协作开发项目。这篇《Subversion svn 快速入门教程》旨在引导初学者快速搭建Subversion服务器并开始使用它。相较于...
Subversion(简称svn)是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件的历史变更。在Subversion中,权限管理是确保团队协作安全性和效率的关键环节。本文将详细讲解如何在Subversion中设置使用...
### SVN详细配置和使用 #### 一、背景与需求 版本控制系统在软件开发过程中扮演着极其重要的角色。本文档将详细介绍Subversion (SVN) 的配置及使用方法,并结合具体的场景来阐述其重要性。 ##### 开发中的实际...
标题中的"SubVersionSVN 服务器端(VisualSVN-Server-1.5)"指的是VisualSVN Server的1.5版本,这是一个专为Windows设计的Subversion服务器实现。VisualSVN Server提供了图形化的用户界面,使得设置和管理Subversion...
【Subversion(SVN)配置和使用帮助文档】 Subversion(简称SVN)是一个免费的、开源的版本控制系统,它能够管理和追踪文件和目录在不同时间点的状态。它将文件存储在一个称为repository的仓库中,这个仓库就像一个...
在软件开发过程中,版本控制系统是不可或缺的工具,其中Subversion(简称svn)是一个广泛应用的集中式版本控制系统。本文将详细讲解如何配置svn的用户名和密码,以便于有效地管理和控制代码库的访问权限。 首先,...
Linux下的Subversion(SVN)是一个强大的版本控制系统,用于管理软件项目中的源代码和其他文件的变更。本指南将深入探讨如何在Linux环境中配置SVN服务器,以及如何进行权限管理,确保团队成员能按照预设的角色和职责...
SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。配置SVN服务器涉及到安装SVN服务端软件,创建版本库,设置权限管理,以及配置SSH(Secure Shell)以实现安全的远程访问。以下是...
`svn中文帮助手册`提供了详尽的Subversion使用指南,包括所有命令的用法、最佳实践和解决常见问题的方法。对于初学者来说,这是一个非常有价值的资源,可以帮助他们快速掌握SVN的使用。 总的来说,SVN SubVersion是...
以下是对标题和描述中提到的SVN配置与使用的详细说明: ### 一、SVN安装 1. **下载安装**:首先,从官方网站或第三方源下载SVN的安装程序,如TortoiseSVN,这是一款Windows上的图形化SVN客户端。 2. **协议确认**...