阿里云服务器CentOS7.0安装SVN

一、环境
centos7
二、安装svnhtml

yum install subversion

查看版本nginx

svnserve --version

图片描述

三、建立版本库
先建目录centos

mkdir /var/svn

建立版本库svn

cd /var/svn
svnadmin create /var/svn/svnrepos

cd svnrepos

会看到自动生成的版本库文件:
图片描述post

subversion目录说明:
db目录:就是全部版本控制的数据存放文件。
hooks目录:放置hook脚本文件的目录。
locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端。
format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
conf目录:是这个仓库的配置文件(仓库的用户访问帐号、权限等)。
进入conf目录(该svn版本库配置文件)cd conf/
authz文件是权限控制文件
passwd是账号密码文件
svnserve.conf SVN服务配置文件
设置账号密码centos7

vi passwd

在[users]块中添加用户和密码,格式:账号=密码,例如:dennis=0454
图片描述spa

设置权限版本控制

vi authz

在末尾添加以下代码:code

[/]
dennis=rw

(r:读,w:写)
图片描述orm

修改svnserve.conf文件

vi svnserve.conf

打开下面的几个注释:

anon-access = read #匿名用户可读
auth-access = write #受权用户可写
password-db = passwd #使用哪一个文件做为帐号文件
authz-db = authz #使用哪一个文件做为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录

图片描述

启动svn版本库

svnserve -d -r /var/svn/svnrepos

中止SVN命令

killall svnserve

用ps -ef | grep svn 查看服务是否开启

图片描述

重点来了
如今个人nginx运行文件(/usr/local/nginx/html)和svn(/usr/bin/svn)的运行文件不在一块儿,因此要写一个钩子把他们连接起来。在svn所在的hooks文件夹下新建一个 post-commit 文件,而后将文件里写入:

#!/bin/sh
export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/usr/local/nginx/html
$SVN update $WEB --username dennis --password 0454

图片描述

写好后执行:

chmod 777 /var/svn/svnrepos/hooks/post-commit

关闭svnserve:

killall svnserve

启动svnserve:

svnserve -d -r /var/svn/svnrepos

接下来在nginx坐在的运行文件里(/usr/local/nginx/html)执行

svn checkout  svn://IP/
 svn update
相关文章
相关标签/搜索