CentOS Linux 5.4安装SVN+Apache

环境:nginx+php-cgi先前的跑着web服务,由于开发人员要对其修改。特此安装配置svn。以便自己
以前在Windows 上安装了一个。今天在linux上安装,顺便记录一下。
下载svn安装包,以root进行所有操作:
wget "http://subversion.tigris.org/downloads/subversion-1.6.12.tar.gz"
wget "http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz"
首先安装apache
yum install apr apr-util httpd httpd-devel  mod_dav_svn
开始解压编译subversion安装:
tar zxvf subversion-1.6.12.tar.gz
tar zxvf subversion-deps-1.6.12.tar.gz
cd subversion-1.6.12
./configure --prefix=/usr/local/svn --without-berkeley-db
注:以svnserve方式运行,不加apache编译参数。以fsfs格式存储版本库,不编译berkeley-db
make && make install
运行  /usr/local/svn/bin/svnserve --version 出现一下信息,安装成功
svnserve, version 1.6.12 (r955767)
   compiled Dec  7 2010, 10:00:41
Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see
This product includes software developed by CollabNet ().
The following repository back-end (FS) modules are available:
* fs_fs : Module for working with a plain file (FSFS) repository.
Cyrus SASL authentication is available.
配置subversion
1.     建目录和初始化版本库:

mkdir –p /data/svn/test repos     ###新建SVN存放数据文件的版本库目录
svnadmin create /data/svn/repos ###初始化版本库,生成相关配置文件
svnadmin create /data/svn/test
配置apache 配置文件如下
打开apache的conf/httpd.conf,安装subversion后,apache的conf/httpd.conf文件会自动 增加了模块

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module   modules/mod_authz_svn.so

需要手动添加apache的httpd.conf如下:

单个版本库

<Location /svn>

DAV svn

SVNPath /data/ data/svn/www  ###svn单版本库目录

AuthType Basic

AuthName "Subversion repository"

AuthUserFile /etc/httpd/conf/htpasswd ###允许访问用户

AuthzSVNAccessFile /etc/httpd/conf/auth ### authz 用户访问权限:

Require valid-user

</Location>

多个版本库

<Location /svn>

DAV svn

SVNListParentPath on

SVNParentPath /data/svn/ ###svn多版本库目录

AuthType Basic

AuthName "Subversion repository"

AuthUserFile /etc/httpd/conf/htpasswd  ###允许访问用户

AuthzSVNAccessFile /etc/httpd/conf/auth ### authz 用户访问权限:

Require valid-user

</Location>

我这里就以多库为例
2.创建账号密码文件

htpasswd –c /etc/httpd/conf/htpasswd apache
htpasswd /etc/httpd/conf/htpasswd test
输入密码,两次确认
注意:第一次设置 用户 密码要加入 –c 这个参数 ,以后就可以不用了
创建权限文件
vi /etc/httpd/conf/auth
[groups]
Admin = apache  ###添加用户
test =test
[repos:/]
@Admin = rw   ###apache的权限为读写
[test:/]
@test = rw
*= r
设置svn同步web目录,利用钩子
cd /data/svn/test/hooks
cp post-commit.tmpl post-commit
vim post-commit      :如下
REPOS="$1"
REV="$2"
export  LANG=zh_CN.UTF-8
web=/var/wwwtest/test
svn up $web --username=user  -password=Password
设置完毕!开始使用svn
server httpd start
svn checkout /var/wwwtest/test      ###checkout 版本库到web目录
完成!!!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/92b32f7dc3d34ec95bbf73e270b7e06f.html