- 浏览: 4402909 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (163)
- 职场 && 心情 (22)
- Java/Basic (17)
- Java/Compression (7)
- Java/Security (20)
- Java/Maven (3)
- Java/Cache (11)
- Eclipse (4)
- Spring (19)
- ORM/Hibernate (2)
- ORM/iBatis (3)
- DB/NoSQL (11)
- DB/MySQL (7)
- DB/MS SQL Server (4)
- OS/Linux (11)
- OS/Mac (7)
- C/C++ (4)
- Server Architecture/Basic (13)
- Server Architecture/Distributed (17)
- Moblie/Andriod (2)
- WebService (3)
- Objective-C (1)
- Html (1)
- 设计模式 (1)
- Scala (0)
- Kafka (1)
最新评论
-
w47_csdn:
证书安装:在"浏览"选项中选择" ...
Java加密技术(九)——初探SSL -
w47_csdn:
spiritfrog 写道你好,我按照你的步骤,tomcat中 ...
Java加密技术(九)——初探SSL -
liuyachao111:
11楼说的对 用@ControllerAdvicepublic ...
Spring 注解学习手札(八)补遗——@ExceptionHandler -
irayslu:
作者你好, 我把你的源码放在jdk6, jdk7 中运行正常, ...
Java加密技术(五)——非对称加密算法的由来DH -
夏季浅忆-卖小子:
为什么不能解压rar格式的压缩包呢
Java压缩技术(三) ZIP解压缩——Java原生实现
实在是不知道这个帖子在JE上放到哪个分类里合适,跟SVN有关,那就是项目咯,姑且放到项目管理中吧!
SVN用了很久,不过一直没有机会配置。以前工作的时候都是技术总监、部门经理搞定,自己很少有机会尝试。更别说基于svn方式、http方式,亦或是https方式访问svn了,只有用的份,没有了解的份。最近,配置Apache开窍,索性再深入一步,搭建基于HTTPS平台的Apache+SVN平台。
相关内容:
征服 Apache + SSL
征服 Apache + SVN
征服 Apache + SVN + LDAP
征服 Apache + Tomcat
征服Nginx
征服 Nginx + Tomcat
选用Ubuntu Server 10.04,Apache 2.2.14,Subversion 1.6.6。
步骤:
1.安装SVN相关模块
这里主要用到的是Subversion 以及Apache与SVN相关的模块(DAV_SVN)!
执行命令,安装:
注意观察安装后的结果:
如果看到这样的提示,那说明DAV_SVN模块已经成功安装,可以重启Apache看看是否正常启动:
或者,使用
以我本机为例,正常启动了:
当然,稍后你可能需要修改/etc/apache2/mods-available/dav_svn.conf文件,配置SVN版本库等。
2.配置SVN版本库
完成上述操作,只是为Apache获知SVN给出了一种途径,最关键的还是要配置SVN相关部分!
首先,我们要创建subversion组并把www-data作为subversion中的一员。因为,apache是通过www-data账户启动的,我们需要让它能够访问subversion组的文件!
然后,我们要配置版本库:
我们可以在/var/lib目录下构建一个svn目录,作为SVN版本库根目录:
假设我们要创建版本库zlex:
更改版本库所属用户、组:
赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
试试
3.配置Apache
接下来,我们需要修改/etc/apache2/mods-available/dav_svn.conf文件,配置SVN版本库:
打开红框中的注释,
分述:
<Location /svn>与</Location>成对儿出现!
DAV svn开启DAV模块支持!
SVNPath /var/lib/svn与SVNParentPath /var/lib/svn选其一,不可同时出现!建议使用SVNParentPath,可以在SVN根目录下创建多个SVN版本库!
AuthzSVNAccessFile /etc/apache2/dav_svn.authz授权配置文件,规定了路径访问权限!
现在通过命令设置SVN账户:
这里用到参数-c,是因为/etc/apache2/dav_svn.passwd文件不存在,如果文件存在,则无需该参数!否则,将覆盖掉原有密码文件!
形如:
可以追加多个账户!
现在,需要设置路径访问权限文件AuthzSVNAccessFile /etc/apache2/dav_svn.authz。
我们先做一个默认的配置,当前这个文件还不存在:
然后追加:
[zlex:/]
* = r
这样,所有授权用户就都能够看到zlex项目了!
然后访问http://localhost/svn/zlex:
试试检出:
我们通过组方式管理项目,修改/etc/apache2/dav_svn.authz 文件:
我们定义一个超级用户组admin,组中成员为snowolf;开发组developer,组中成员为snowolf,zlex,多个用户用逗号分隔。
[groups]
admin = snowolf
developer = snowolf, zlex
让admin和developer组成员有创建项目版本库的权限,其余用户只有查看权限:
[zlex:/]
*=r
@admin = rw
@developer = rw
给出一个完整配置:
[groups]
admin = snowolf
developer = zlex
[zlex:/]
@admin = rw
@developer = rw
* =
有关Subversion详细配置,参照Subversion官方中文文档!
修改这个配置文件时,不需要重启apache!
4.简单测试
我们之前构建了一个项目仓库——zlex,现在项目有了,我们需要构建相应的版本库管理,及trunk、tags以及branches!
用命令创建:
这时,我们用zlex账号提交一个docs目录:
系统会提示输入密码:
192.168.49.132是我本机的IP地址!
我们可以使用命令将项目签出:
我们随便修改一个文件:
提交修改:
如果你参照征服 Apache + SSL完成了HTTPS平台搭建,这时候,也可以使用HTTPS方式访问了:
相关内容:
征服 Apache + SSL
征服 Apache + SVN
征服 Apache + SVN + LDAP
征服 Apache + Tomcat
征服Nginx
征服 Nginx + Tomcat
SVN用了很久,不过一直没有机会配置。以前工作的时候都是技术总监、部门经理搞定,自己很少有机会尝试。更别说基于svn方式、http方式,亦或是https方式访问svn了,只有用的份,没有了解的份。最近,配置Apache开窍,索性再深入一步,搭建基于HTTPS平台的Apache+SVN平台。
相关内容:
征服 Apache + SSL
征服 Apache + SVN
征服 Apache + SVN + LDAP
征服 Apache + Tomcat
征服Nginx
征服 Nginx + Tomcat
选用Ubuntu Server 10.04,Apache 2.2.14,Subversion 1.6.6。
步骤:
- 安装SVN相关模块
- 配置SVN版本库
- 配置APACHE
- 简单测试
1.安装SVN相关模块
这里主要用到的是Subversion 以及Apache与SVN相关的模块(DAV_SVN)!
执行命令,安装:
sudo apt-get install subversion libapache2-svn
注意观察安装后的结果:
引用
Considering dependency dav for dav_svn:
Enabling module dav.
Enabling module dav_svn.
Run '/etc/init.d/apache2 restart' to activate new configuration!
Enabling module dav.
Enabling module dav_svn.
Run '/etc/init.d/apache2 restart' to activate new configuration!
如果看到这样的提示,那说明DAV_SVN模块已经成功安装,可以重启Apache看看是否正常启动:
sudo /etc/init.d/apache2 restart
或者,使用
sudo service apache2 restart
以我本机为例,正常启动了:
引用
zlex@localhost:~$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
... waiting .apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
* Restarting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
... waiting .apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
当然,稍后你可能需要修改/etc/apache2/mods-available/dav_svn.conf文件,配置SVN版本库等。
2.配置SVN版本库
完成上述操作,只是为Apache获知SVN给出了一种途径,最关键的还是要配置SVN相关部分!
首先,我们要创建subversion组并把www-data作为subversion中的一员。因为,apache是通过www-data账户启动的,我们需要让它能够访问subversion组的文件!
sudo addgroup subversion sudo usermod -G subversion -a www-data
然后,我们要配置版本库:
我们可以在/var/lib目录下构建一个svn目录,作为SVN版本库根目录:
cd /var/lib sudo mkdir svn
假设我们要创建版本库zlex:
cd svn sudo svnadmin create zlex
更改版本库所属用户、组:
sudo chown -R root:subversion zlex
赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
sudo chmod -R g+rws zlex
试试
svn co file://localhost/var/lib/svn/zlex,这时候应该可以访问了!
3.配置Apache
接下来,我们需要修改/etc/apache2/mods-available/dav_svn.conf文件,配置SVN版本库:
sudo vi /etc/apache2/mods-available/dav_svn.conf
打开红框中的注释,
# dav_svn.conf - Example Subversion/Apache configuration # # For details and further options see the Apache user manual and # the Subversion book. # # NOTE: for a setup with multiple vhosts, you will want to do this # configuration in /etc/apache2/sites-available/*, not here. # <Location URL> ... </Location> # URL controls how the repository appears to the outside world. # In this example clients access the repository as http://hostname/svn/ # Note, a literal /svn should NOT exist in your document root. <Location /svn> # Uncomment this to enable the repository DAV svn # Set this to the path to your repository #SVNPath /var/lib/svn # Alternatively, use SVNParentPath if you have multiple repositories under # under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...). # You need either SVNPath and SVNParentPath, but not both. SVNParentPath /var/lib/svn # Access control is done at 3 levels: (1) Apache authentication, via # any of several methods. A "Basic Auth" section is commented out # below. (2) Apache <Limit> and <LimitExcept>, also commented out # below. (3) mod_authz_svn is a svn-specific authorization module # which offers fine-grained read/write access control for paths # within a repository. (The first two layers are coarse-grained; you # can only enable/disable access to an entire repository.) Note that # mod_authz_svn is noticeably slower than the other two layers, so if # you don't need the fine-grained control, don't configure it. # Basic Authentication is repository-wide. It is not secure unless # you are using https. See the 'htpasswd' command to create and # manage the password file - and the documentation for the # 'auth_basic' and 'authn_file' modules, which you will need for this # (enable them with 'a2enmod'). AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd # To enable authorization via mod_authz_svn AuthzSVNAccessFile /etc/apache2/dav_svn.authz # The following three lines allow anonymous read, but make # committers authenticate themselves. It requires the 'authz_user' # module (enable it with 'a2enmod'). #<LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user #</LimitExcept> </Location>
分述:
<Location /svn>与</Location>成对儿出现!
DAV svn开启DAV模块支持!
SVNPath /var/lib/svn与SVNParentPath /var/lib/svn选其一,不可同时出现!建议使用SVNParentPath,可以在SVN根目录下创建多个SVN版本库!
引用
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
定义了授权类型、并指定了密码文件(/etc/apache2/dav_svn.passwd)。
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz授权配置文件,规定了路径访问权限!
引用
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
建议只使用Require valid-user,打开<LimitExcept />注释,将允许匿名访问!
Require valid-user
#</LimitExcept>
现在通过命令设置SVN账户:
sudo htpasswd -c /etc/apache2/dav_svn.passwd <username>
这里用到参数-c,是因为/etc/apache2/dav_svn.passwd文件不存在,如果文件存在,则无需该参数!否则,将覆盖掉原有密码文件!
形如:
引用
sudo htpasswd -c /etc/apache2/dav_svn.passwd snowolf
New password:
Re-type new password:
Updating password for user snowolf
New password:
Re-type new password:
Updating password for user snowolf
可以追加多个账户!
引用
sudo htpasswd /etc/apache2/dav_svn.passwd zlex
New password:
Re-type new password:
Updating password for user zlex
New password:
Re-type new password:
Updating password for user zlex
现在,需要设置路径访问权限文件AuthzSVNAccessFile /etc/apache2/dav_svn.authz。
我们先做一个默认的配置,当前这个文件还不存在:
sudo vi /etc/apache2/dav_svn.authz
然后追加:
引用
[zlex:/]
* = r
这样,所有授权用户就都能够看到zlex项目了!
然后访问http://localhost/svn/zlex:
试试检出:
svn co http://localhost/svn/zlex --username snowolf
我们通过组方式管理项目,修改/etc/apache2/dav_svn.authz 文件:
sudo vi /etc/apache2/dav_svn.authz
我们定义一个超级用户组admin,组中成员为snowolf;开发组developer,组中成员为snowolf,zlex,多个用户用逗号分隔。
引用
[groups]
admin = snowolf
developer = snowolf, zlex
让admin和developer组成员有创建项目版本库的权限,其余用户只有查看权限:
引用
[zlex:/]
*=r
@admin = rw
@developer = rw
给出一个完整配置:
引用
[groups]
admin = snowolf
developer = zlex
[zlex:/]
@admin = rw
@developer = rw
* =
有关Subversion详细配置,参照Subversion官方中文文档!
修改这个配置文件时,不需要重启apache!
4.简单测试
我们之前构建了一个项目仓库——zlex,现在项目有了,我们需要构建相应的版本库管理,及trunk、tags以及branches!
用命令创建:
svn mkdir "http://localhost/svn/zlex/branches" "http://localhost/svn/zlex/tags" "http://localhost/svn/zlex/trunk" -m "create a new project zlex" --username "snowolf"
这时,我们用zlex账号提交一个docs目录:
svn mkdir "http://192.168.49.132/svn/zlex/docs" -m "文档目录" --username zlex
系统会提示输入密码:
192.168.49.132是我本机的IP地址!
我们可以使用命令将项目签出:
svn checkout "http://localhost/svn/zlex/trunk@HEAD" -r HEAD --depth infinity zlex-svn --username zlex
我们随便修改一个文件:
提交修改:
如果你参照征服 Apache + SSL完成了HTTPS平台搭建,这时候,也可以使用HTTPS方式访问了:
相关内容:
征服 Apache + SSL
征服 Apache + SVN
征服 Apache + SVN + LDAP
征服 Apache + Tomcat
征服Nginx
征服 Nginx + Tomcat
发表评论
-
Linux环境基本配置
2014-11-14 15:23 3346一、JAVA_HOME 有日子没配过lin ... -
征服ZooKeeper之基本配置
2014-11-14 14:28 36106人,总免不了有心结,限制着自己,难以前行。对于ZooKee ... -
GitLab 安装问题小记
2013-03-21 11:35 6181GitLab是个好东西,但就是安装起来忒费劲。 参考官方 ... -
Linux环境小问题——Get HostName Error
2012-08-06 12:55 7439之前使用mysql的时候,在配置文件中,已经指明了ip访问,但 ... -
Maven零散笔记——配置Nexus
2012-07-24 17:51 28292应朋友需要,整理Nexus相关资料,做一些简要整理,方便他人! ... -
用JIRA管理你的项目——(三)基于LDAP用户管理
2011-01-25 10:49 42954JIRA提供了基于LDAP方式的用户管理,也就是用户密码的管理 ... -
征服 Apache + SVN + LDAP
2011-01-23 21:20 22181最近跟LDAP干上了,几乎所有的系统都要跟LDAP整合。一开始 ... -
用JIRA管理你的项目——(二)JIRA语言包支持及插件支持
2011-01-16 19:10 48887昨天兴奋地把JIRA环境搭 ... -
用JIRA管理你的项目——(一)JIRA环境搭建
2011-01-16 00:24 251202JIRA,大家应该都已经不陌生了! 最初接触这个工具的时候, ... -
征服 Apache + Tomcat
2010-08-20 18:26 27735Apache 和 Tomcat原本就是一家,更是一家亲!Apa ... -
征服 Apache + SSL
2010-08-17 17:55 12992在Tomcat下配置数字证书,搭建SSL模块,构建HTTPS平 ... -
Tomcat 整理
2007-12-04 10:25 215991.apr 许多朋友可能在启动tomcat的时候都会看到类似这 ...
相关推荐
Apache Subversion(简称SVN)是一个开源的版本控制系统,常用于软件开发中的代码管理。Apache HTTP Server(简称Apache)是世界上最流行的HTTP服务器软件,能够提供Web服务。将Apache与SVN结合,可以创建一个集中式...
1. 添加Apache的SVN模块:`sudo apt-get install libapache2-svn` 2. 安装Subversion:`sudo apt-get install subversion` 三、配置Apache与SVN集成 1. 创建SVN仓库:`svnadmin create /var/svn/repo_name` 2. 配置...
Apache 和 Subversion(SVN)的组合是一种常见的版本控制系统,用于管理软件开发中的源代码和其他文件。Apache 作为Web服务器,而Subversion则提供版本控制功能。以下是对这个主题的详细解释: 一、Apache Web...
为了在Apache上启用SVN服务,需要编辑Apache的配置文件(通常是`/etc/httpd/conf/httpd.conf`),并添加`LoadModule dav_svn_module /usr/local/subversion/mod_dav_svn.so`和`LoadModule authz_svn_module /usr/...
### Apache + SVN 安装与配置详解 #### 概述 在软件开发过程中,版本控制系统是必不可少的工具之一。Subversion(简称SVN)作为一款经典的集中式版本控制系统,在项目管理方面发挥着重要作用。而Apache作为一款...
【Apache+Trac+SVN】是一个常见的项目管理和版本控制系统组合,主要应用于Windows环境。Apache作为Web服务器,Trac是一个带有内置wiki和问题跟踪系统的Web应用程序,而SVN(Subversion)则是版本控制系统,用于追踪...
Cent OS上配置Apache2 + SVN Cent OS上配置Apache2 + SVN
### Apache+SVN+MySQL+PHP+SVNManager+BugFree 完全安装手册 #### 一、Apache+SVN 安装与配置 ##### 1. 安装 Apache 2.2.9 在安装 Apache 之前,请确保你的计算机运行的是 Windows 2000、Windows XP SP1 或 ...
【Apache + SVN 在 Windows 下的配置与应用】 Apache 和 Subversion(简称 SVN)是软件开发过程中常见的工具,Apache 作为一款流行的开源Web服务器,而 SVN 则是一种版本控制系统,用于协同开发和管理代码版本。本...
总的来说,配置Subversion+Apache+SVN服务器涉及到软件安装、文件配置、端口设置以及版本库创建等多个环节。理解并掌握这些步骤,将有助于构建高效、安全的代码管理环境,提升团队协作效率。在实际操作中,务必根据...
非常便利的centos搭建PHP+mysql+apache+svn环境搭建文档,只需复制粘贴
### Apache+SVN+Trac配置详解 #### 第1章 引言 ##### 1.1 编写目的 本文档旨在详细介绍如何安装与配置Apache、Subversion (SVN) 和 Trac,以便构建一个高效的版本控制系统和项目管理平台。在软件开发过程中,版本...
在Windows环境下配置Apache服务器与Subversion(SVN)的集成是一项常见的任务,这对于团队协作开发至关重要。Apache作为流行的Web服务器,而SVN则是一个版本控制系统,二者结合可以让开发者通过Web界面进行代码版本...
【Apache+SVN+Trac】是一个常见的项目管理和版本控制系统组合,主要用于软件开发团队协作。Apache 作为Web服务器,Subversion (SVN) 提供版本控制功能,而 Trac 则是一个集成的项目管理工具,提供了缺陷跟踪、文档...
### Windows 下配置 Apache + SVN + Trac 的方法详解 #### 一、背景介绍 在进行软件开发的过程中,项目管理和版本控制是非常重要的环节。为了更好地管理项目中的问题追踪、代码版本控制以及文档协作等功能,通常会...
### Apache + SVNServer 配置详解 #### 一、配置前准备 在开始Apache与Subversion(SVN)服务器的配置之前,确保已正确安装Apache Web服务器和Subversion。本指南将详细介绍如何在Windows环境下配置Apache与...
### Windows 下 Apache+SVN+Trac 安装与配置详解 #### 一、准备工作 在开始集成 Apache、Subversion (SVN) 和 Trac 的过程中,首先要准备好所需的软件。 1. **Apache HTTP Server** - **官网**: ...
### Apache+svn+trac 安装指南及配置详解 #### 一、环境与软件准备 在本安装指南中,我们将详细介绍如何在Windows 2000/2003/XP操作系统上安装Apache Web服务器、Subversion (svn) 版本控制系统以及Trac项目管理...