- 浏览: 140402 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
推荐用git
----2012 -11-29
-----------------------------------------
【原文:http://www.linuxidc.com/Linux/2011-07/39577.htm】
--------
一、安装Apache和SVN 相关
1. yum install httpd
2. yum install mod_dav_svn subversion
二、配置Apache
首先使用service命令启动apache,
>service apache start
有时候会提示找不到service命令,可以使用/sbin/service 代替service。
然后,要将httpd配置可以随系统启动而启动的服务,
>setup
这是会出现一个系统配置的界面:
从中选择System services,就会出现系统所有的服务列表,www.linuxidc.com自动重启的服务前面是[*] ,表示选中。从列表中找到httpd,选中,然后OK保存即可。
三、配置SVN
在配置完了Apache后,就要将二者结合起来了。如下操作:
1. 新建一个仓库目录:
> cd /var/www
如果没有svn目录,新建一个
> mkdir svn
使用svnadmin创建一个代码库:
> svnadmin create repos
修改apache对repos的访问权限
> chown apache.apache -R repos
2. 修改subversion.conf配置文件
> cd /etc/httpd/conf.d
> vim subversion.conf
subversion.conf的详细内容:
- #注释略去
- LoadModule dav_svn_module modules/mod_dav_svn.so
- LoadModule authz_svn_module modules/mod_authz_svn.so
- #
- # 注释略去
- < Location /svn/repos >
- DAV svn
- SVNPath /var/www/svn/repos
- </ Location >
重新启动httpd服务
>service httpd restart
这个配置的内容是最基本,没有指定认证方式,所以是可以匿名访问的,在访问时使用的路径是:http://host:port/svn/repos
四、完善SVN配置,增加用户控制
在实际使用过程中,我们并不希望代码库可以匿名任意访问,因此要增加用户访问控制。
1. 添加用户
>htpasswd -cm /etc/svn-auth-file tester
提示输入密码,确保两次输入一次,然后会提示添加用户密码成功。
2. 修改subversion.conf增加访问控制
>vim subversion.conf
修改后的Location部分:
- < Location /svn/repos >
- DAV svn
- SVNPath /var/www/svn/repos
- AuthType Basic
- AuthName "Subversion repository"
- Require valid-user
- </ Location >
重新启动httpd,这时再访问http://host:port/svn/repos ,就会提示输入用户名和密码。
五、更多信息
1. 在上面的配置中通过SVNPath指定了一个代码仓库。但是在实际应用,往往是有多个仓库存放不同的项目代码,这时可以将SVNPath改为:
SVNParentPath /var/www/svn
2. 使用htpasswd添加用户时,认证文件svn-auth-file不存在时,使用:
htpasswd -cm /etc/svn-auth-file tester01
会创建一个的文件,并且添加tester01用户。而此后再增加用户,使用:
htpasswd /etc/svn-auth-file tester02
3. 新增加代码库后,一定修改文件夹权限,否者客户端会得到Permission Denied的提示。
4. 每次修改过配置文件以后,都要重新启动httpd服务。
对某些目录进行比较精确的访问控制,Apache httpd的mod_authz_svn模块可以帮助实现。
mod_authz_svn应该会在安装SVN是自动安装。可以打开/etc/httpd/conf.d/subversion.conf(也可能是httpd.conf)查看,里面应该可以看到:
- LoadModule dav_svn_module modules/mod_dav_svn.so
- LoadModule authz_svn_module modules/mod_authz_svn.so
要想使用这个模块,需要在subversion.conf添加AuthzSAVNAccessFile指令:
- <Location /svn>
- DAV svn
- SVNParentPath /var/www/svn
- AuthzSVNAccessFile /etc/svn-access-file
- Require valid-user
- AuthType Basic
- AuthName "Subversion repository"
- AuthUserFile /etc/svn-auth-file
- </Location>
其中/etc/svn-access-file用来指定详细的访问规则。加入现在svn下面两个repository:test1, test2,现在五个用户(在/etc/svn-auth-file):harry, sally, jack, david, alex。下面是配置文件svn-access-file的内容:
- # 以#引导的是注释
- # 大家对所有目录都有读权限(r),
- [/]
- * = r
- # 只有harry和sally可以写test1,中括号中的内容表示进行访问控制的respository
- [test1:/]
- harry = rw
- sally = rw
- # 而jack只可以写test1中的project/test/目录
------------------------------------------------------------------------------
htpasswd -cmb /usr/svn/userfile abcUser 123456
c :create
m:md5
b :在命令行上输入密码
解释:创建userfile文件,增加用户名为abc的用户,密码为md5加密的123456
userfile 里存着索引的 svn用户账户
更新密码
htpasswd /usr/svn/userfile abcUser
添加新用户
htpasswd /usr/svn/userfile abcUser2
会要求输入密码,输两次
删除用户
htpasswd -D /usr/svn/userfile abcUser2
-------------------
更改用户访问权限
发表评论
-
简单易懂 composer是干嘛的
2016-02-24 12:18 499用composer ,不需要再自己Google开源扩 ... -
新服务器初始化
2016-02-19 15:04 6501.更改密码 ssh root@127.0.0.1 ... -
批量删除指定文件
2015-12-21 13:28 801find . -name "*~" -t ... -
[转]系统负载能力浅析
2015-10-28 16:21 486http://www.rowkey.me/blog/201 ... -
[转] 工程师追查线上问题(或运维)常用的shell命令
2015-01-15 18:03 6661、日志分析类: ... -
memcached
2015-01-10 13:04 265memcached -d -m 10 -l 127.0.0.1 ... -
web服务器硬件
2014-08-12 17:33 433上千万的 UV,以每天访问量最高的 12 小时计算,平均每 ... -
linux rsync 断点续传
2014-07-22 10:06 629# rsync -avzP /tmp/bigfile cn ... -
linux 中文乱码
2013-12-08 19:02 600中文编码不一致,显示乱码 mysql 的要修改mysql ... -
安装redmine
2013-12-05 11:59 5官网安装指南 http://www.redmine.or ... -
xtrabackup
2013-08-26 15:38 566http://database.51cto.com/art ... -
用strace调试linux 程序
2013-07-29 17:46 747<strong>安装</stro ... -
inotify+rsync实现linux文件批量更新[转]
2013-07-29 17:45 748补充:sersync服务器同步,查看http://code. ... -
回收内存
2013-03-22 13:15 545root用户 #sync #echo 3 > /p ... -
sed 替换
2013-03-16 10:53 856sed -i s/TaobaoApi/Taobaoapi/ ... -
ubuntu 安装 lnmp
2013-02-17 20:12 7761. 安装nginx 最新版 sudo vim /etc/a ... -
git post-update
2013-01-05 18:11 845cd "/web/einstein/" ... -
sshpass + ssh 自动填写密码连接
2012-12-24 11:07 1188sshpass -p 'password' ssh erdan ... -
vim 复制黏贴 无换行注释
2012-12-19 10:28 1166:set paste 然后再 黏贴进去,就能保持格式不变了 -
web服务器日志分割
2012-12-12 11:40 715#!/bin/bash ...
相关推荐
在这个“Apache HTTP Server + SVN 版本控制方案(一)”中,我们将探讨如何将这两者结合使用,以实现一个强大的代码管理和发布环境。 首先,Apache HTTP Server在Web服务器的角色是接收HTTP请求,并返回相应的网页...
SVN(Subversion)是一种广泛使用的版本控制系统...总之,SVN作为一个强大的版本控制系统,能够有效地支持多人协作开发,通过合理地搭建服务器、配置客户端和管理服务器设置,可以极大地提升团队的开发效率和代码质量。
SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪项目源代码的变更。它允许开发者在多人协作的环境中工作,记录每一次修改,方便回溯、合并和分支管理。下面将详细阐述SVN的核心概念、功能及如何在...
本资料“Visual Studio+ SVN版本管理说明.zip”涵盖了使用Subversion(SVN)作为版本控制系统,与Visual Studio集成进行开发的工作流程。以下是关于SVN和Visual Studio集成的关键知识点: 1. **Subversion(SVN)**...
在这里,我们将使用SVN来管理项目源代码,确保团队成员可以同步更新,同时保留历史版本。 【XMLBeans】 XMLBeans是一个开源的Java库,它能够将XML文档映射为Java对象,反之亦然。当需要读取XML文件内容并进行处理时...
3. 更新:使用`svn update`命令同步本地代码与仓库的最新状态,解决可能的冲突。 4. 提交:完成修改后,用`svn commit`将本地改动提交到仓库,同时附上有意义的提交信息。 SVN还支持分支和标签。分支允许开发人员在...
总的来说,SVN是软件开发团队协作的重要工具,通过这个压缩包,你可以快速搭建起SVN环境,实现代码版本管理和团队协作。无论是服务端的部署还是客户端的使用,都有丰富的资源和文档可供参考,帮助你更好地理解和应用...
SVN是一种广泛使用的源代码管理系统,用于跟踪软件开发过程中的所有更改,以便于团队成员之间的协作和版本回溯。 #### SVN服务器配置流程: 1. **安装SVN服务器**:首先,需要在服务器上安装SVN服务端软件,这通常...
在本项目中,SVN用于管理源代码和构建脚本的版本,确保团队成员之间的同步。 生成JAR包的过程通常涉及到执行Maven的`package`目标。这将编译源代码,运行测试,然后打包结果到一个可执行的JAR文件。完成后,你可以...
"SVN代码管理器服务器安装程序"指的是在服务器上部署SVN服务的过程,以便团队成员可以通过网络访问和管理代码库。 在安装SVN服务器时,通常会使用像VisualSVN这样的工具,这是一个针对Windows平台的开源SVN服务器。...
使用Maven构建项目,使用SVN进行版本控制和代码同步,实现团队间的协作开发。 在开发过程中,"开发环境配置.doc"文件可能包含了更具体的步骤或注意事项,如本地Maven仓库路径设定、Eclipse与Maven的交互设置、SVN的...
同时,由于使用了SVN,团队成员可以方便地协同工作,保持代码同步。Ant作为构建工具,确保了构建过程的可重复性和一致性。总之,这个一键部署流程是Java Web应用高效开发和运维的一个优秀实践。
通过SVN,开发者可以轻松地同步代码,回滚到历史版本,并协同工作。在`apache+svn安装过程文档.docx`中,你会找到如何在服务器上安装和配置Apache HTTP服务器以及与之集成的SVN服务的步骤。这通常包括安装Apache,...
开发者可以在SVN仓库中提交、更新和回滚代码,确保团队成员之间的协作高效且同步。在Jenkins中,我们可以配置SVN插件,使得Jenkins可以监听SVN仓库的代码变更,一旦有新的提交,Jenkins就会自动触发构建。 Maven是...
SVN,全称为Subversion,是一款广泛应用于软件开发领域的版本控制系统。它允许团队成员协同工作,跟踪并管理项目中的文件和...一旦安装完毕,团队成员即可开始利用SVN进行高效的代码管理,提高软件项目的协同开发效率。
本篇文章将深入探讨如何通过公网以HTTP方式访问单位的SVN服务器,使远程开发者能够便捷地进行代码同步与协作。我们将主要讨论以下几个方面: 1. **SVN与HTTP协议** SVN是一种分布式版本控制系统,它允许团队成员在...
在“svn代码管理器教程”中,我们将深入探讨Subversion的基本概念、安装与配置、基本操作以及在团队协作中的应用。Subversion通过网络提供版本库服务,这意味着开发者可以在任何地方通过网络连接到版本库,无论是...
标题和描述中提到的“自动获取svn代码并且编译发布”是一种常见的持续集成(CI)实践,它涉及自动化从版本控制系统获取源代码、构建应用程序、并进行发布的过程。以下是这个流程涉及的关键知识点: 1. **Subversion ...
2. **客户端(Client)**:本地端的SVN客户程序,用于管理和操作版本库中的数据,包括更新、提交等操作。 3. **版本库访问层(RA Layer)**:连接版本库和客户端的桥梁,支持多种访问方式,如通过Apache HTTP服务器...
svn提供了一种集中式的版本控制模型,允许开发者在不同的计算机上工作,通过网络同步代码变更。它的核心功能包括版本化文件和目录、合并代码分支、回滚更改、解决冲突以及生成变更日志。 二、TortoiseSVN介绍 ...