- 浏览: 212736 次
- 性别:
- 来自: 宇宙
文章分类
最新评论
-
naryCC:
虽然没有smarty那么方便,但是由于我们的环境太老不得不使用 ...
SmartTemplate -
victorwmh:
我们项目是Java项目,但数据源来自不同的地方,有些还是合作单 ...
和C++相对应Java的CheckSum -
cuisuqiang:
那你们到底是Java项目还是C++的项目?
和C++相对应Java的CheckSum -
david.org:
attempt to write a readonly dat ...
linux+apache+subversion版本控制 -
victorwmh:
wellee 写道兄弟,我怎么配置ZendDebugger老是 ...
Zend Debugger和Zend Optimizer配置(Windows)
1、下载安装包
apache的下载地址:http://httpd.apache.org/download.cgi
subversion的下载地址:http://subversion.tigris.org/project_packages.html
本文选择的安装包为httpd-2.2.15.tar.gz和subversion-1.6.17.tar.gz、subversion-deps-1.6.17.tar.gz。
2、安装apache
# tar xvzf httpd-2.2.15.tar.gz
# cd httpd-2.2.2
# ./configure --prefix=/usr/local/apache2/ --enable-so --enable-dav
--prefix为指定apache的安装位置,后面两个参数则是设置开启相关功能模块。
apache的功能模块配置很灵活,具体的可以使用# ./configure --help命令查看。
# make && make install
设置开机启动
# echo '/usr/local/apache2/bin/apachectl start ' >> /etc/rc.local
3、安装subversion
在安装subversion之前,先安装一些依赖包
# yum install openldap-devel zlib-devel expat-devel openssl-devel
安装
# tar xvzf subversion-1.6.17.tar.gz
# tar xvzf subversion-deps-1.6.17.tar.gz
# cd subversion-1.6.17
# ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs
--with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2
--with-ssl --with-zlib=/usr/local/zlib --enable-maintainer-mode
# make && make install
// 如果出现类似错误,请修改seclinux的设置。
// 错误:error while loading shared libraries: /usr/local/software/subversion-1.6.17/subversion
/libsvn_subr/.libs/libsvn_subr-1.so.0: cannot restore segment prot after reloc: Permission denied
# vi /etc/selinux/config
找到SELINUX=enforcing 改为 SELINUX=disabled
# vi /etc/sysconfig/selinux
如果找到SELINUX=enforcing 也改为 SELINUX=disabled
设置
# PATH=$PATH:/usr/local/subversion/bin
# mkdir /var/svnroot
// 创建项目仓库sesame
# svnadmin create /var/svnroot/sesame
// 导入项目文件,假设/tmp下由一个sesame目录,里面有几个文件。
# svn import /tmp/sesame file:///var/svnroot/sesame -m "注释"
// 由于apache安装后默认执行程序的用户和组为daemon
// 为了避免访问权限上的错误将修改项目仓库的所属用户及组别。
# cd /var/svnroot
# chown -R daemon sesame
# chgrp -R daemon sesame
4、设置subversion访问权限
1)增加subversion用户
# htpasswd -c /var/svnroot/authfile wumh
第一次设置用户时使用-c参数,表示新建一个用户文件。回车后输入用户密码,完成对用户的增加。
// 增加第二个或更多用户时,只需要执行类似如下的命令
# htpasswd /var/svnroot/authfile username
2)权限分配
# vi /home/svnroot/authz
[sesame:/] //仓库sesame根目录访问权限
wumh = rw //sesame仓库wumh具有读和写权限
zhangs = r //test仓库zhangs只有读权限
[aladdin:/] //仓库aladdin根目录访问权限
wumh = r //wumh在aladdin只有读权限
zhangs = //zhangs在aladdin无任何权限
相关说明:
[/] //这个表示在所有仓库的根目录下
* = r //这个表示对所有的用户都具有读权限
[groups] //这个表示群组设置
dev = wumh, zhangs
test = zhangs
[aladdin:/]
@dev = rw //前面的@符号,表示这是个群组权限设置
5、修改apache配置
# vi /usr/local/apache2/conf/httpd.conf
//在最下面添加
<Location /svn>
DAV svn
SVNParentPath /var/svnroot //svn父目录
AuthzSVNAccessFile /var/svnroot/authz //权限配置文件
AuthType Basic //连接类型设置
AuthName "Subversion-authz.df3c" //连接框提示
AuthUserFile /var/svnroot/authfile //用户配置文件
Require valid-user //采用何种认证,valid-user告诉apache在authfile中所有的用户都可以访问。
</Location>
相关说明:
SVNParentPath:支持多个具备相同父目录的bubversion版本库。
SVNPath:只支持一个父目录的Subversion版本库
SVNPath /svn/svnroot/sesame #如果你想对每个项目单独配置,使用该项
SVNParentPath /svn/svnroot #设定一个根,所有项目均放在此目录下
如果设置为SVNParentPath,当访问http://192.168.1.200/svn时,会报forbidden错误。
须要输入包含项目仓库名的地址http://192.168.1.200/svn/sesame。
配置用域名访问
去除虚拟目录设置<Location /svn>里的“svn”,再在虚拟主机设置中增加域名配置。如下:
<Location />
DAV svn
SVNParentPath /var/svnroot
AuthzSVNAccessFile /var/svnroot/authz
AuthType Basic
AuthName "Subversion-authz.abc"
AuthUserFile /var/svnroot/authfile
Require valid-user
</Location>
<VirtualHost *:80>
ServerAdmin webmaster@abc.com
DocumentRoot /var/svnroot
ServerName code.abc.com
</VirtualHost>
6、其它
1) 当你配置了SSL来提高版本库安全时,你可能想禁用无SSL的http访问方式,而只允许通过https访问。
要达到这种效果,你要在<Location>块加入另外一个指示器SSLRequireSSL。
<Location /svn>
SSLRequireSSL
</Location>
apache的ssl配置,可以查看博文《linux+apache+ssl的安装配置 》,里面有详细说明。
2) 出现“attempt to write a readonly database”错误
在subversion 1.6之后,后端数据库使用sqlite。然而sqlite创建文件的时候,并没有按照umask去创建正确权限位的文件。这样就导致svn仓库项目下的 db/rep-cache.db 不具备组可写权限。解决如下:
# cd repspath
# chmod 664 rep-cache.db
评论
这个问题我也遇到过,不过公司PCME的组把svn部署在windows上,恶心的windows的*.db文件属性中,第一个标签卡下面有一个read only复选框,这个问题找了近一小时!
发表评论
-
linux日志分析常用命令
2016-11-18 15:18 5071.日志文件 java.lang.ArrayInd ... -
SVN Tag Branch打版本常用命令
2014-12-19 09:15 01、创建分支/标签目录 svn mkdir - ... -
常用shell脚本
2014-08-29 09:11 712常用shell脚本集 1、监测来自某个IP的TCP活动连接 ... -
SVN配置库备份方案
2014-08-27 16:52 782出于资源安全性考虑,为了防止由于配置管理服务器硬件或者软件 ... -
netstat命令详解
2014-08-27 14:55 1748netstat命令用于显示IP、TCP、UDP和ICMP协 ... -
SVN为不同用户分配不同的目录权限
2014-07-10 14:07 1903找到权限配置文件authz: [pname:/] ch ... -
Linux 下挂载新硬盘方法
2014-03-06 12:08 712转载请注明: 转载自Life吧 本文永久链接地址:htt ... -
查看TCP网络连接情况
2012-12-05 10:25 847命令:netstat -n | awk '/^tcp/ ... -
Linux下java程序启动脚本
2012-09-28 10:51 1576#!/bin/sh # #该脚本为Linux下启动j ... -
linux+java+tomcat
2012-09-25 15:40 892一、安装java 1、安装jdk ... -
yum httpd php php-mysql
2012-02-20 11:10 1532对于CentOS服务器yum是一个非常好的工具,尤其是在32位 ... -
SSH中文乱码问题
2011-11-29 09:29 874之前写过一篇《将命令加入PATH中》 的文章,最近使用服务器 ... -
Subversion使用分支和标签
2011-10-23 15:59 1992分支常用的两个场景: 发布新版本和给开发者一个实验的空间 ... -
Subversion简介及项目仓库
2011-10-23 15:40 1531Subversion发布后追随者与日俱增,短短时间就跃上了版本 ... -
关闭CENTOS不必要的默认服务
2011-08-19 15:32 1805转自:http://www.lanzs.cn/blog/arc ... -
Postfix替代sendmail发送邮件
2011-08-18 10:52 3623基础知识 MUA: Mail User Ag ... -
linux+bind快速配置简单dns
2011-08-03 09:25 1449一、安装 # yum install bind ... -
linux+varnish安装配置
2011-07-24 10:16 17831、Varnish简介 Varnish是一款高性 ... -
linux+nginx安装配置及使用
2011-07-23 09:59 5373准备工作: # yum install gcc gc ... -
Linux防火墙iptables设置
2011-07-22 10:49 1409iptables防火墙由Netfilter项目开发(http: ...
相关推荐
本文将详细讲解如何在Linux系统上安装和配置Apache Web服务器以及Subversion版本控制系统。 首先,Linux作为开源操作系统,是许多服务器的基础,其稳定性和安全性深受开发者喜爱。在本案例中,我们将使用它作为平台...
Apache是常用的Web服务器,通过与Subversion集成,可以提供WebDAV协议来访问版本库,实现远程访问和版本控制。 **1. Subversion独立服务器搭建** 在Linux系统中,Subversion可以通过独立的svnserve服务进行部署。但...
### Linux下配置SVN与Apache实现版本控制及Web访问 #### 概述 本文将详细介绍如何在Linux环境下配置Subversion (SVN) 和 Apache HTTP Server,以实现版本控制功能,并支持通过SVN客户端和Web浏览器两种方式进行...
Subversion 是一个版本控制系统,用于管理代码仓库。在安装 Subversion 之前,需要先解压缩安装包,使用 `tar zxf` 命令解压缩安装包。然后,使用 `./configure` 命令配置安装目录和相关选项,接着使用 `make` 和 `...
Subversion(简称SVN)作为一款广泛应用的版本控制系统,在团队协作开发中尤其不可或缺。本文旨在详细介绍如何在Linux系统环境下安装配置SVN与Apache,实现通过Web方式进行版本库的操作。 #### 二、环境准备 1. **...
在Linux环境下搭建Subversion (SVN) 和 Apache 的联合服务是一种常见的版本控制系统部署方案。通过Apache作为前端服务器,可以利用HTTP协议方便地进行SVN仓库的管理和访问。本文将详细介绍在Linux环境下搭建SVN + ...
本文将深入探讨如何在Linux系统中配置Apache Web服务器与Subversion(SVN)版本控制系统,以便实现高效且安全的代码管理和协作。首先,我们从安装Apache开始。 1. **安装Apache** Apache是流行的开源Web服务器,...
通过以上步骤,我们不仅完成了Subversion在Linux上的独立安装与配置,还成功地将Apache与Subversion相结合,搭建了一个功能完整的SVN服务器。这样的服务器不仅可以提供版本控制服务,还可以通过Web界面方便地管理和...
在Ubuntu环境下搭建SVN(Subversion)服务器,结合Apache HTTP服务器和SSL(Secure Sockets Layer)加密,能够实现安全的版本控制系统,并通过HTTPS协议进行访问。Apache的用户认证管理确保了权限控制,而authz配置...
Apache是一个开源的Web服务器,而Subversion则是一个版本控制系统,用于跟踪和管理代码的变化。这篇文章将深入探讨如何将这两个工具集成,以便在一个高效的工作环境中进行协同开发。 首先,Apache和Subversion的...
Apache Subversion(简称SVN)是一种版本控制系统,常与Apache Web服务器结合使用,提供Web访问方式的源代码管理和协作功能。本配置说明主要针对Apache 2.2.29和Subversion 1.8.13版本进行安装和配置,以实现SVN仓库...
Apache Subversion(简称 SVN)是一个开源的版本控制系统,用于管理和跟踪文件和目录的变更。它允许团队成员协同工作,共享和追踪项目代码的不同版本。下面是一些关于 Apache Subversion 的要点: 版本控制:SVN ...
在Linux RedHat9系统上配置SVN(Subversion)与Apache服务器的集成是开发者和系统管理员常用的操作,以便实现版本控制系统和Web服务器的完美融合,提供便捷的代码管理和Web访问功能。以下是一份详细的配置指南: ...
Linux下的SVN(Subversion)和Apache是一种常用的版本控制系统,SVN是管理工程本版的必备工具,相对VSS 及其前身CVS来说都有着无与伦比的优势。下面是安装和配置SVN+Apache服务端的步骤: 一、准备安装包 1. APR...
Apache、Subversion(SVN)和TortoiseSVN是软件开发中用于版本控制和协作的重要工具。Apache作为Web服务器,Subversion是一个集中式的版本控制系统,而TortoiseSVN则是Subversion的一个图形化客户端,使得用户在...
**标题解析:** "SVN + Apache 成功安装部署" 这个标题表明了我们要讨论的是如何在服务器或开发环境中安装并配置Subversion (SVN) 和Apache HTTP Server,以便协同工作,实现版本控制和代码仓库的Web访问。...
Trac 是一个开源的项目管理工具,它集成了版本控制系统(如Subversion)与问题跟踪系统,同时还提供了wiki和时间线等功能,对于软件开发团队来说非常有用。在本配置中,我们将通过Apache web服务器来部署Trac,实现...
### Linux上安装Subversion详解 #### 一、Subversion简介 Subversion,简称SVN,是一种集中式的版本控制系统...通过以上步骤,你可以在Linux环境下成功安装并配置Subversion,为开发团队提供稳定可靠的版本控制服务。
Subversion(SVN)作为一款经典的集中式版本控制系统,在很多场景下仍然被广泛使用。结合Apache Web服务器,可以构建一个高效稳定的SVN服务器环境。以下将详细介绍如何在Linux 6.5系统上搭建SVN + Apache服务器。 #...