1、安装svn

yum -y install subversion

2、创建SVN版本库目录

mkdir -p /var/svn/svnrepos

(-p参数:如果没有这个目录,则创建这个目录)

3、创建版本库

svnadmin create /var/svn/svnrepos

(这个"/var/svn/svnrepos"目录就是我们的版本库目录所在,后面的一系列配置需要用到这个目录)

4、进入/var/svn/svnrepos/conf/svnserve.conf

打开下面的几个注释(将注释符合前面的空格都删掉):
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录

5、启动svn版本库

svnserve -d -r /var/svn/svnrepos

6、设置账号密码

vim /var/svn/svnrepos/conf/passwd

在[users]块中添加用户和密码,格式:帐号 = 密码(记得“等号”两边的空格),如cly = 123

7、设置权限

vim /var/svn/svnrepos/conf/authz

在[groups]块中添加如下代码(将用户放入统一的用户组):
组名=用户1,用户2,,用户3
之后在末尾再建一个[/]块(里面对之前定义的用户组赋予权限):
@组名 = rw
* = r

8、同步更新web目录

一、
svn://xxx.xx.xx.xx/svnrepos
这是一个完整的版本库路径,其中svnrepos是svn版本库的名字,通过这个路径可以选择某个版本库

二、
我们每次检出只能检出svn版本库里面的文件夹。
比如:
选择svn://xxx.xx.xx.xx/svnrepos后,看到里面有A,B,C三个文件夹。
此时若检出"svn://xxx.xx.xx.xx/svnrepos"路径,则会形成svnrepos文件夹,里面有A、B、C三个文件夹
若检出"svn://xxx.xx.xx.xx/svnrepos/A"路径,则会形成A文件夹,里面有A文件夹的内容

知道以上两点后就可以开始配置了。

当我们上传web代码到svn上时,我们肯定希望代码能同步更新到服务器的www文件夹里,这时候就要用到“钩子程序”,自动将代码checkout到服务器的web目录,过程如下:

一、

在svn中创建一个版本(在pc端写好程序,然后提交给svn作为初始版本)

二、

将设置post-commit文件的权限设置为777
四、

到你想要存放代码的目录中(如/var/www/html),检出svn,

如:# svn checkout svn://xxx.xx.xx.xx/svnrepos

(依照不同的检出方式会生成不同的文件夹)

三、

在/var/svn/svnrepos/hooks中找到post-commit.tmpl文件,将它在当前目录复制一个,并重新命名为“post-commit”。

之后删除post-commit文件里面所有的内容,重新填写如下内容:

#!/bin/sh

REPOS="$1"
REV="$2" 
TXN_NAME="$3"

WEB=/var/www/html/svnrepos

(这个目录的填写比较重要,如果你在/var/www/html目录里检出后生成了svnrepos文件夹,则此处填/var/www/html/svnrepos,如果用svn checkout svn://xxx.xx.xx.xx/svnrepos/A语句检出,则会生成A文件夹(不会生成外面的svnrepos文件夹),则此处填/var/www/html/A)
export LANG=en_US.UTF-8
svn update $WEB --username alps --password chen #alps是svn的用户名,chen是svn密码,自己换成自己的。

9、关于连接svn时的一些常见错误

svn: E170001 Authorization failed

这个错误一般是用户访问权限不足所导致

比如在上面的实例中,/var/svn/svnrepos/conf/authz中的末尾[/]块,如果改成其他路径(如[/vra/svn/svnrepos]),那么在连接svn时就会报这个错

如此这样设置下来,svn的地址为“svn://服务器ip地址/svnrepos”

Linux下配置SVN的更多相关文章

  1. linux 下配置svn

    1.以前配置好的,没做笔记,忘记了.现在重新回忆 查找svn目录:find / -name svn 找到/projects/svn cd /projects/svn 看里面的配置: 查看配置 [roo ...

  2. ​Linux下的SVN服务器搭建

    ​Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...

  3. linux下安装svn

    linux下SVN服务器如何搭建和使用 | 浏览:12117 | 更新:2013-09-18 14:28 | 标签:linux linux下SVN服务器如何搭建和使用?说到SVN服务器,想必大家都知道 ...

  4. Linux下的SVN服务器搭建(转)

    Linux下的SVN服务器搭建   鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此 ...

  5. SVN CentOS7 下配置svn的安装及基础配置介绍

    CentOS7 下配置svn的安装及基础配置介绍 by:授客 QQ:1033553122 目录 一. 二. 三. 四. 五. 六. 七. 一.      实践环境 CentOS 7操作系统(CentO ...

  6. Linux下配置多个tomcat多个域名

    Linux下配置多个tomcat多个域名复制tomcat:mkdir /home/server/testcp -rf /home/server/shichuan/* /home/server/test ...

  7. Linux下安装SVN,仓库创建,用户权限管理

    Exported from Notepad++           Linux下安装SVN,仓库创建,用户权限管理 1.SVN安装 Ubuntu系统下安装:sudoapt-getinstallsubv ...

  8. 如何在linux下搭建svn服务

    • 安装svn 使用命令 yum install subversion 如果提示上述错误,请以管理员身份运行 使用命令su root 再执行 yum install subversion 2,查看sv ...

  9. linux下创建svn仓库及用户

    1 Linux下创建svn仓库 1.1 启动SVN服务 svnserve -d -r  /SVNRootDirectry 其中SVNRootDirectry是你的SVN 根目录,例如192.85.1. ...

随机推荐

  1. Hibernate入门案例 增删改

    一.Hibernate入门案例剖析: ①创建实体类Student 并重写toString方法 public class Student { private Integer sid; private I ...

  2. Jquery禁止/恢复按钮与文本框代码

    最近,加入了一个小项目,由浩哥带领我们几个人一起开发一个东西.幸运的是,我和胡志婷分到了一组,她可是一个具有丰富经验的牛人,对我也很好,哈哈. --背景 说点正事,最近,我们在进行项目的时候,提到了一 ...

  3. 对android录制的NV21视频数据进行旋转(90,180,270)与剪切

    android默认的视频采集格式是NV21,(属于YUV420) 在onPreviewFrame中传进来的byte[] data即为NV21格式. 旋转算法 对NV21进行顺时针旋转90度,180度和 ...

  4. JavaScript 之 document对象

    对象属性document.title //设置文档标题等价于HTML的title标签document.bgColor //设置页面背景色document.fgColor //设置前景色(文本颜色)do ...

  5. scau 8637 阶乘与因子 筛素数

    时间限制:500MS  内存限制:1000K提交次数:189 通过次数:46 题型: 编程题   语言: G++;GCC Description 游戏玩了很久总会厌的,连Lyd的蚂蚁都被放生了.... ...

  6. #include<>与#include""

    对于头文件的包含,使用“<>”时,系统会到默认目录(编译器及环境变量,工程文件定义的头文件寻找目录,包括Qt安装的include目录)查找要包含的文件,这是标准方式: 用双引号时,系统先到 ...

  7. Android系统中的6种模式

    Android系统中的6种模式 1:一般启动模式(normal mode):    功能是正常启动手机,方法为关机状态下按电源键启动. 2:安全模式(safe mode):    此模式和正常启动一样 ...

  8. ASP.NET 操作Cookie详解 增加,修改,删除

    Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密).定义于RFC2109.它是网景公司的前雇员Lou Montulli在1993年3 ...

  9. js定时相关函数:

    定时相关函数: mytime= setTimeout(vCode, iMilliSeconds [, sLanguage]) -- 单次定时执行指定函数 clearTimeout(iTimeoutID ...

  10. odeforces Beta Round #77 (Div. 2 Only)

    A. Football time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...