前言最近在搭建服务器,使用版本控制,在搭建过程中遇到了很多问题。简单记下步骤1,安装SVN$sudoapt-getinstallsubversion2,创建工程目录$sudomkdirsvn//创建一个文件夹,用于存放一个或多个工程$cd./svn//进入该目录$sudomkdirproject//新建一个工程目录$sudosvnadmincreate./svn/project//创建svn文件仓库(这一步是为了让这个新建的文件夹成为svn版本库)3.权限设置$cd./svn/project/conf//进入设置目录(包括authzhooks-env.tmplpasswdsvnserve.conf)$vimpasswd//添加用户设置密码[users]root=123456user1=123456user2=123456$vimauthz//编辑用户权限[groups]admin=user1,user2,root[/]@admin=rw*=r$vimsvnserve.conf//控制访问权限[general]anon-access=none#匿名用户(anonymoususers)的访问权限auth-access=write#授权用户(authenticatedusers)的访问权限password-db=passwd#密码数据库文件所在位置,这里指向pas同目录下的swd文件authz-db=authz#用户授权规则文件所在位置,这里指向同目录下的authz文件4.启动svn启动svn$svnserve-d-r./svn///svn这里的目录就是你第一步创建的目录,用来存放项目。关闭svn。如果在配置过程中需要关闭svn,kill$psaux|grepsvnroot216180.00.069596616?Ss19:070:00svnserve-d-r/svnroot219270.00.2117482156pts/0S+19:100:00grep--color=autosvn$kill216185,配置钩子(如果不需要配置到web目录下,可以查看后使用)上一步)$cd./svn/project/hooks//这里svn提供了一个很好的hook模板,大家可以根据自己的情况选择模板,一般选择post-commit.tmpl(提交后更新)$vimpost-commit//新文件#!/bin/bashEPOS="$1"REV="$2"TXN_NAME="$3"exportLANG=en_US.UTF-8/usr/bin/svnupdate--usernameroot--password123456/var/www/项目目录>/tmp/www.log||退出1退出0如果[$?==0]然后echo"ok">>/tmp/wwww.outfi6,设置模板执行权限$chmod755post-commit7,首先在www目录下checkout$/usr/bin/svncheckoutsvn://yourserver地址/你的版本仓库注意:如果你是新买的阿里云服务器,记得开启端口访问限制8.本地结账完成!现在可以提交并同步到web目录
