1)初始化repository
创建svn的项目库父路径,我把/svn/repos做为svn的项目库父路径。这个目录是任意的,如果是多个项目库则必须在同一个父路径下
#mkdir /svn/repos
我们通过如下命令初始化一个svn项目库zf
#svnadmin create /svn/repos/zf
重复上面的命令创建多个项目库,如
#svnadmin create /svn/repos/chenproject
指定存储方式来报建SVN库:
#svnadmin create --fs-type fsfs /svn/repos/TelecomRepositorys
或
#svnadmin create --fs-type bdb /svn/repos/TelecomRepositorys
注:默认是bdb(Berkeley DB)的存储方式,不过一般人更喜欢fsfs的存储库方式
2)创建登陆的用户,有两种方式:以文件的形式,以数据库的形式(mysql)
a)以文件的形式
在/svn目录下创建登陆用户文件.htpasswd以及2个用户chen1,chen2
#htpasswd -c /svn/.htpasswd chen1
#htpasswd /svn/.htpasswd chen2
注:-c是第一次那建文件时要用。在后面添加用户的时候,就不用-c选项.如果是自己安装了apaceh,那么找到apache的bin目录找到htpasswd
b)以数据库的形式
#mysql -u root -p
#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('chen1', ENCRYPT('password'));
mysql> insert into user values('chen2', ENCRYPT('password'));
4.SVN访问控制
在/svn目录下创建访问控制文件文件svnaccess,名字任意,不过在以后的配置过程中你必须使用正确的名字,文件内容为
[groups]
# harryharry_and_sally = harry,sally
[/]
*=rw
注:意思是对所有的项目,所有人都有读写(rw)的权限,当然我们还可以对某个项目单独进行限制,设置如下
[groups]
# harryharry_and_sally = harry,sally
[zf:/]
chen1=r
*=rw
意思是对于项目库zf,用户chen1只有读权限,其他人有读写权限
5.Apache和SVN集成
编辑apache的配置文件/etc/httpd/conf/httpd.conf文件或者/etc/httpd/conf.d/subversion.conf文件
如果你使用登陆文件认证的方式,添加如下内容
<Location /svn>
DAV svn
SVNParentPath /svn/repos
AuthzSVNAccessFile /svn/svnaccess
AuthType Basic
AuthName "SVN Repositorys"
AuthUserFile /svn/.htpasswd
Require valid-user
</Location>
如果是用上面的方式,可能会出现提示authzSVNAccessFile有问题,要确保httpd.conf或是subversion.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 /svn/repos
AuthzSVNAccessFile /svn/svnaccess
AuthName "SVN Repositorys"
AuthType Basic
AuthMYSQLEnable on
AuthMYSQLUser svn
AuthMySQLPassword password
AuthMYSQLDB svn_auth
AuthMYSQLUserTable users
AuthMYSQLNameField user_name
AuthMYSQLPasswordField user_passwd
Require valid-user
</Location>
注:我们可以看到/svn/svnaccess,/svn/.htpasswd是我们创建的文件,如果名字自定义的话,请在http.conf配置正确,同样需要正确配置的还有数据库用户svn,数据库svn_auth,表名users等等。
6.安全访问设置[必须设置,否则svn无法访问]
修改目录的属主和访问权限
#chown apache.apache -R /svn
#chmod 755 -R /svn
注:如果有开启selinux,那么会出现问题,解决方法:
.禁用SELinux(不推荐)
或者
在SELinux图形管理界面中勾上Disable SELinux protection for httpd daemon这个选项,否则apache这个虚拟用户无法访问/svn目录,当然 你也可以用更好的方法设置apache的访问权限.
7.重新启动Apache服务器
#service httpd restart
或者
#/etc/init.d/httpd restart
7. 键入下面的url看是否能正确的访问svn。
http://localhost/svn/zf
若页面有东西,说明成功。
相关推荐
本教程将详述如何在Windows环境下搭建基于Apache服务器的Subversion(SVN)服务端,帮助你实现代码的集中式管理。 首先,我们需要了解SVN的基本概念。Subversion是一个开源的版本控制系统,它允许开发者跟踪并管理...
### Apache + SVN 安装与配置详解 #### 概述 在软件开发过程中,版本控制系统是必不可少的工具之一。Subversion(简称SVN)作为一款经典的集中式版本控制系统,在项目管理方面发挥着重要作用。而Apache作为一款...
### Apache配合SVN在Windows下的安装配置及其权限管理 #### 一、安装配置Apache与SVN **1. 安装Apache** - **步骤**: 首先下载Apache 2.2.14版本,并进行安装。安装路径设为`D:\Program Files\Apache Software ...
Apache的mod_authz_svn模块提供了基于角色的访问控制(RBAC),但如果你想实现更复杂的逻辑,例如根据用户角色分配不同的权限,或者动态修改权限,那么可以编写PHP脚本来处理。PHP可以通过Apache的mod_rewrite模块...
确保选择与Apache版本兼容的SVN版本,因为不同版本可能存在兼容性问题。 接下来,进行安装。Apache的安装通常是标准的下一步流程,注意避免与其他服务如IIS、迅雷或QQ音乐等占用80端口的应用冲突。安装完成后,访问...
【Apache + SVN 在 Windows 下的配置与应用】 Apache 和 Subversion(简称 SVN)是软件开发过程中常见的工具,Apache 作为一款流行的开源Web服务器,而 SVN 则是一种版本控制系统,用于协同开发和管理代码版本。本...
2. **权限问题**:确保Apache服务有读写仓库目录的权限,否则可能导致无法访问。 3. **认证错误**:若出现认证失败,检查`htpasswd`文件是否正确创建,用户名和密码是否匹配。 4. **SVN访问慢**:优化网络设置,或...
Apache SVN 是一个广泛使用的版本控制系统,它基于Subversion(SVN)并与Apache HTTP Server相结合,提供了一个高效且安全的...在实际使用过程中,可能会遇到权限、网络或其他问题,需要根据错误信息进行排查和解决。
Apache Subversion(简称SVN)是一款广泛应用于软件开发领域的版本控制系统,它可以帮助团队协作管理代码,跟踪文件的历史版本,合并不同开发者的修改,并提供备份和恢复功能。在本篇文章中,我们将详细介绍Apache ...
Apache与SVN的集成主要依赖于mod_dav_svn模块,这是一个Apache模块,提供了对SVN的WebDAV/DeltaV支持。安装过程通常包括以下几个步骤: 1. **下载与安装Apache**:首先,你需要下载适用于你操作系统的Apache ...
### 搭建SVN + Apache 服务器 在IT领域,版本控制系统对于软件开发团队来说至关重要,它能够帮助团队成员管理代码变更、协同工作,并确保项目的稳定性和安全性。Subversion(SVN)作为一款经典的集中式版本控制系统...
**标题解析:** "SVN + ...以上就是关于“SVN + Apache 成功安装部署”的主要知识点,涵盖了版本控制、Web服务器配置和开发环境搭建等多个方面。实际操作中,还需要注意系统的兼容性、安全设置以及网络环境等因素。
但是,SVN的权限设置一直是开发者头疼的问题。本文将通过实例讲解svn目录权限的详细设置,希望能够帮助开发者更好地理解和掌握svn权限设置。 一、项目结构 在设置svn权限之前,我们需要了解项目的结构。一个典型的...
这个集成过程可能会遇到一些挑战,例如权限问题、URL重写规则的配置等,但按照上述步骤,大多数用户应该能够成功建立一个运行在Windows上的Subversion、Apache和ViewVC环境。记得在安装和配置过程中,始终检查错误...
- 监控Apache和SVN的日志文件,及时发现并解决问题。 - 根据团队规模和项目需求,调整SVN的性能参数。 以上就是"apache+svn安装配置"的详细步骤,通过这些步骤,你可以在本地或服务器上建立一套完整的版本控制...
1. **权限问题**:如果用户无法访问仓库,可能需要检查文件系统权限、Apache用户与仓库目录的关系,以及Apache配置中的授权规则。 2. **性能优化**:对于大型项目,可能需要考虑缓存策略、内存配置(如`...
将Apache与SVN整合,可以创建一个高效、安全的Web访问源代码仓库的解决方案。以下是对"Linux整合Apache和SVN"这一主题的详细讲解。 首先,了解SVN的基本概念。Subversion是一个集中式的版本控制系统,它记录了文件...
本文将详细讲解如何在CentOS 6.5操作系统上搭建Apache服务器,并整合SVN 1.8.5,同时涵盖多版本库的权限配置。这个过程涉及到源码编译和安装,以及Apache的模块配置。 首先,我们需要准备必要的软件包,包括Apache ...
关于svn与Apache整合以及svn一些常用问题的解决,
1. **安装mod_dav_svn和mod_authz_svn**:这两个模块允许Apache与SVN通信并进行权限管理。在Linux上,可以通过包管理器(如apt或yum)安装。在Windows上,它们通常包含在SVN安装包中。 2. **创建SVN仓库**:在...