文档库 最新最全的文档下载
当前位置:文档库 › Linux搭建SVN服务器(centos)

Linux搭建SVN服务器(centos)

Linux搭建SVN服务器(centos)
Linux搭建SVN服务器(centos)

linux(centos)搭建SVN服务器

安装步骤如下:

1、yum install subversion

2、输入rpm -ql subversion查看安装位置,如下图:

我们知道svn在bin目录下生成了几个二进制文件。

输入svn --help可以查看svn的使用方法,如下图。

3、创建svn版本库目录

mkdir -p /home/svn/svnrepos

4、创建版本库

svnadmin create /home/svn/svnrepos

执行了这个命令之后会在/home/svn/svnrepos目录下生成如下这些文件

5、进入conf目录(该svn版本库配置文件)

authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf SVN服务配置文件

6、设置帐号密码

vi passwd

在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan

7、设置权限

vi authz

在末尾添加如下代码:

[/]

dan=rw

w=r

意思是版本库的根目录dan对其有读写权限,w只有读权限。

8、修改svnserve.conf文件

vi svnserve.conf

打开下面的几个注释:

anon-access = read #匿名用户可读

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm = /var/svn/svnrepos # 认证空间名,版本库所在目录

9、启动svn版本库

svnserve -d -r /var/svn/svnrepos

10、在windows上测试

新建一个测试文件夹,在该文件夹下右键选择SVN checkout如下图(要事先安装TortoiseSVN):

Linux下SVN服务器自动更新文件到Web目录说明:

服务器操作系统:CentOS

SVN安装路径:/usr/bin

SVN项目路径:/home/svn/super

SVN登录账号:yangbin

SVN登录密码:yangbin

Web站点根目录:/home/wwwroot/default/super

whoami #执行此程序的用户

REPOS="$1" #svn项目绝对路径值

REV="$2" #最新版本号

--no-auth-cache #不保存账户认证信息

实现目的:

当svn项目中有任何修改更新时,系统会自动实时从svn中检出文件并同步到Web站点根目录

具体操作:

使用SVN中post-commit实现自动实时从svn中检出文件并同步到Web站点根目录cd /home/svn/super/hooks

vi post-commit

#编辑,添加以下代码

#!/bin/sh

REPOS="$1"

REV="$2"

export LANG=en_US.UTF-8

SVN_PATH=/usr/bin

WEB_PATH=/home/wwwroot/default/super

SVN_USER=yangbin

SVN_PASS=yangbin

LOG_PATH=/tmp/svn_super.log

echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH

echo `whoami`,$REPOS,$REV >> $LOG_PATH

$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH

:wq!

#保存退出

chmod +x /home/svn/hooks/post-commit #添加脚本执行权限

相关文档