CentOS6.2 64位部署lampp+svn配置钩子

在某云购置了一台新服务器作为项目测试和部署用

以后资料都是网上搜集整理后测试过的!实在太多乱78遭的文章,还是自己整理一份备份好;

#Setup 1 安装lampp

这个很简单,直接从官方下载一个linux版本安装就可以,默认安装就OK;

https://www.apachefriends.org   我安装的是XAMPP for Linux v1.8.3 (PHP 5.5.9)

#Setup 2 安装subversion

直接用yum工具

#yum install subversion

 搞定,最后测试是否安装成功

#svnserve --version

建立版本库

创建SVN的数据目录
#mkdir /opt/lampp/svn

test是版本库名称,名字随便起
#svnadmin create /opt/lampp/svn/test

创建成功之后的目录结构,之后主要修改conf目录的svnserve.conf文件和配置hooks目录post-commit

CentOS6.2 64位部署lampp+svn配置钩子

接着来修改配置用户权限

编辑版本库配置(不同版本库之间的配置是独立分开的)
#vi /opt/lampp/svn/test/conf/svnserve.conf

版本库配置

[general]
anon-access = none #注意这里不要填错,不然之后的日志信息就显示不了
auth-access = write
password-db = /opt/lampp/svn/test/conf/passwd #管理用户和密码
authz-db = /opt/lampp/svn/test/conf/authz #配置用户权限
realm = test

添加用户

#vi /opt/lampp/svn/test/conf/passwd
[users]
user1 = password1
user2 = password2
user3 = password3
user4 = password4

配置用户权限

#vi /opt/lampp/svn/test/conf/authz      

[groups]    #设置组
group1 = user1,user2  #多用户用逗号隔开

[/]       #根目录权限设置(就是“test”这个文件夹)
user3 = rw   #用户1权限是:可读写
user4 = r    #用户2权限是:可读,不可写
user =      #什么都没写代表没有任何权限

@group1 = rw  #设置组权限

[kuming:/123]  #设置根目录下“123”文件夹的权限
#说明“123”这个文件件怎么创建?这是在SVN服务器配置好之后,创建一个权限很高的用户在客户端登录SVN
#然后创建一个文件夹“123”。

启动SVN服务器

# svnserve -d -r /opt/lampp/svn
-d表示以daemon方式(后台运行)运行
-r /svn指定根目录是/svn
关闭SVN 服务器
# killall svnserve

# ps aux | grep svnserve    查看服务,端口:3690

然后就可以通过客户端软件TortoiseSVN访问

svn://服务器IP/版本库名称

ex: svn://192.168.1.100/test

CentOS6.2 64位部署lampp+svn配置钩子

#Setup 3 配置svn钩子

在提交更新时同步更新指定目录,进入版本库下的hooks目录,将post-commit.tmpl 复制为 post-commit,赋予post-commit可执行权限

REPOS="$1"
REV="$2"

# 暂时用不上,发邮件的脚本,注释掉不然commit时候报错
# mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf

export LANG=en_US.UTF-8
SVN=/usr/bin/svn #svn的执行文件
STATIC_DIR=/opt/lampp/www/test #版本库目录
#需要注意用户需要有写的权限
${SVN} update ${STATIC_DIR} --username 用户 --password 密码



如果提交时,报错提示需要修改 .subservison/servers时,根据提示修改,一般如下: 
vi .subversion/servers 文件 (目录find一下) 
将 store-plaintext-passwords = no 选项注释去掉,并修改为 yes 
到这里就完成了钩子配置;

这里可以svn配置成开机启动

#vi /etc/rc.local

添加执行命令

#svnserve -d -r /opt/lampp/svn

你可能感兴趣的:(SVN,lampp,钩子)