安装svn

参考http://blog.csdn.net/dl425134845/article/details/41978541

系统版本

uname -a # 查看内核/操作系统/CPU信息

head -n 1 /etc/issue # 查看操作系统版本

yum软件仓库找到SVN安装包安装

中间会列出要关联的包,并提示下载:输入“y”并确认

yum list *svn*

yum install subversion

成功

查找svn位置 查看SVN 命令 和版本和

svn help   或者 svn --help

svn --version

svnadmin --version

find / -name svn

创建目录存放版本库

cd /

mkdir /svndata

创建版本库1 wxshop

svnadmin create /svndata/wxshop

创建版本库2  xiaocx

svnadmin create /svndata/xiaocx

配置信息1

cd /svndata/wxshop/conf

这里面有3个文件,分别为authz、passwd、svnserve.conf;

主要就是修改其中配置,可以统一把所有配置集中一起,也可以各自配置。

以下就是统一配置

配置信息2

mkdir /svndata/svnconf

===

创建一个svn统一管理

配置信息3

cp /svndata/wxshop/conf/authz /svndata/svnconf/

cp /svndata/wxshop/conf/passwd /svndata/svnconf/

rm -rf /svndata/wxshop/conf/authz

rm -rf /svndata/wxshop/conf/passwd

==========

把配置,账号密码,权限等配置集中一起

首先先将authz和passwd这2个文件复制到/usr/local/svnconf目录下;

删除当前目录(/usr/local/svndata/wxshop/conf)下的authz、passwd;

修改当前目录(/usr/local/svndata/wxshop/conf)下的svnserve.conf;

配置信息4,svn仓库修改参数

vim /svndata/wxshop/conf/svnserve.conf

[general]

anon-access = none # 使非授权用户无法访问

auth-access = write # 使授权用户有写权限

password-db = /svndata/svnconf/passwd  # 指明密码文件路径

authz-db = /svndata/svnconf/authz    # 访问控制文件

http://www.cnblogs.com/shaohuixia/p/5532448.html

svnserve.conf

各参数功能在配置文件的注释中有说明, 此处配置如下:

[general]

anon-access = none # 使非授权用户无法访问

auth-access = write # 使授权用户有写权限

password-db = /opt/svndata/repos/conf/passwd  # 指明密码文件路径

authz-db = /opt/svndata/repos/conf/authz    # 访问控制文件

realm = /opt/svndata/repos   # 认证命名空间,subversion会在认证提示里显示,并且

配置svn用户   :passwd文件

vim /svndata/svnconf/passwd

[users]

XXX123 = wjb123

================

[users]

<用户1> = <密码1> admin = admin

<用户2> = <密码2> username2 = password2

可以添加多个,此为用户名密码对。

配置权限 :authz文件

vim /svndata/svnconf/authz

[groups]

admin = xxx123,wjbsw

[/]

@admin = rw

[wxshop:/]

@admin = rw

===============

意思是,用户组admin,有用户,wjb123和wjbsw两个用户

[/],根目录。也就是对于/svndata根仓库,也就是所有仓库

@admin = rw   这个组有读写权限

[wxshop:/]  只对于wxshop仓库

============

配置权限 :authz文件

指令简介:此配置文件采用“基于路径的授权”策略,中括号里指定路径,以下列出对各用户的授权。包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,具体请参考svn手册,以下是简单例子:

<!--[if !supportLineBreakNewLine]-->       用户组格式:

[groups]

<用户组名> = <用户1>,<用户2>

其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

版本库目录格式:
    [<版本库>:/项目/目录]
    @<用户组名> = <权限>
    <用户名> = <权限>
    其中,方框号内部分可以有多种写法:
     /,表示根目录及以下。根目录是svnserve启动时指定的,我们指定/opt/svndata。这样,/就是表示对全部版本库设置权限。
     repos1:/,表示对版本库1设置权限
     repos2:/abc, ,表示对版本库2中的abc项目设置权限
     repos2:/abc/aaa, ,表示对版本库2中的abc项目的aaa目录设置权限
     权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。

重点是修改这4个参数

anon-access = none

auth-access = write

password-db = /usr/local/svn/passwd    //这也是为什么上面讲passwd复制到/usr/local/svn路径下的原因

realm = XXXXX   //这是svn连接时的提示信息

启动SVN

/usr/bin/svnserve -d -r /svndata/

//注意,这里只输入到版本库的父母录即可,这样会加载里面所有的版本库

netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)

=============

如果找不到,find / -name svn

(输入命令:svnserve -d -r /usr/local/svndata )                    //注意,这里只输入到版本库的父母录即可,这样会加载里面所有的版本库

更新线上web网站代码到svn

切换路径至/usr/local/svndata/repos1/hooks

复制post-commit.tmpl文件并且命名为post-commit,   命令如下

cp post-commit.tmpl  post-commit

修改post-commit文件的属性,增加可执行权限,            命令如下:

chmod -R +x post-commit

修改post-commit文件,,在末尾添加如下内容,把末尾几行没有注释掉的注释掉,修改内容如下:

WEB= /home/wwwroot/website1/                     //这里指向的是你web发布存放代码的路径

export LANG=en_US.UTF-8

/usr/local/svn/bin/svn update $WEB --username 用户名 --password '密码'

至此版本库1修改完毕,同样修改版本库2,

===============

服务器上检出

svn checkout svn://120.77.40.225:/wxshop /home/wujunbin/www

也有一种是把端口号也写上的svn checkout svn://120.77.40.225:3690/wxshop /home/wujunbin/www

http://www.cnblogs.com/fengbohello/p/4548580.html

=========

./svn co svn://本机ip地址/repos1   /home/wwwroot/website1

./svn co svn://本机ip地址/repos2   /home/wwwroot/website2

关闭SVN,方法如下:

查看svn进程是否已经启动,ps -ef|grep svn    ps -ef|grep svnserve

netstat -ntlp

然后输入 kill -9 进程号 杀死该进程

重新指定一个端口号(默认端口3690)

svnserve -d --listen-port 3691 -r /opt/svndata/repos

卸载svn

yum remove subversion

svn错误svn: Can't connect to host '120.77.40.225': Connection refused

启动SVN

切换到/usr/local/svn/bin目录下

输入命令:svnserve -d -r /usr/local/svndata                      //注意,这里只输入到版本库的父母录即可,这样会加载里面所有的版本库

svn安装和配置的更多相关文章

  1. linux svn安装和配置

    linux svn安装和配置,不结合apache http://blog.51yip.com/server/901.html 张映 发表于 2010-07-07 分类目录: 服务器相关 今天有个同事在 ...

  2. Svn 安装、配置、使用指南

    Svn 安装.配置.使用指南 Svn 是 Subversion 的简称,是一个开放源代码的版本控制系统,它采用了分支管理系统. 1. 安装配置 1.1. 安装 svn 1.2. 创建 svn 仓库 1 ...

  3. Centos7 下的SVN安装与配置

    Centos7 下的SVN安装与配置 1.关闭防火墙 临时关闭防火墙 systemctl stop firewalld 永久防火墙开机自关闭 systemctl disable firewalld 临 ...

  4. 【转载】Ubuntu下SVN安装和配置

    一.SVN安装 1.安装包 1.$ sudo apt-get install subversion 2.创建项目目录 $ sudo mkdir /home/xiaozhe/svn $ cd /home ...

  5. SVN安装与配置 SVN整合MyEclipse

    SVN安装: 1.安装服务器 ######### 安装文件:SVN服务器############### # http://www.collab.net/downloads/subversion # C ...

  6. Ubuntu下SVN安装和配置

    一.SVN安装 1.安装包 1.$ sudo apt-get install subversion 2.创建项目目录 $ sudo mkdir /home/xiaozhe/svn $ cd /home ...

  7. LINUX环境下SVN安装与配置(利用钩子同步开发环境与测试环境)

    安装采用YUM一键安装: 1.环境Centos 6.6 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata svnserve ...

  8. linux SVN安装及配置教程

    1.环境centos6.4 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata svnserve -d -r /www/sv ...

  9. centOS下SVN安装和配置

    1>SVN服务器端文件可见问题 在平时使用SVN时候,一直以为在客户提交文件,那么在服务器对应的版本库下面就会有相同文件.在自己搭建后,发现提交到服务器端文件完全看不见.... 这是由于SVN服 ...

随机推荐

  1. 获取并编译最新的Notepad++源码

    获取并编译最新的Notepad++源码 http://blog.csdn.net/u012814856/article/details/68947310 Notepad++源码编译及其分析 http: ...

  2. HDU 5117 Fluorescent

    题目链接:HDU-5117 题意为有n盏灯,m个开关,每个开关控制着\( k_{i} \)灯.X为最后亮着的灯的个数,要求出\( E(X^{3} ) * 2^{M} mod (10^9 + 7) \) ...

  3. jq监听ajax执行开始,出错,结束。

    $(“#msg”).ajaxComplete(function(event,request, settings){   $(this).append(“<li>请求完成.</li&g ...

  4. MYSQL表中向SET类型的字段插入值时值之间不能有空格

    MYSQL 中有一种数据类型是 SET,首先我们查看一个包含 SET 类型字段的表结构: 接下来我们向表中插入数据: 按照上面的语句插入数据发现报错了,于是去掉了插入值之间的空格,然后插入成功:

  5. 小程序css

    样式导入 @import /** common.wxss **/ .small-p { padding:5px; } /** app.wxss **/ @import "common.wxs ...

  6. Multiply Strings——面试题

    Given two numbers represented as strings, return multiplication of the numbers as a string. Note: Th ...

  7. PHP生成随机字符串与唯一字符串

    代码如下: <?php /* * 生成随机字符串 * @param int $length 生成随机字符串的长度 * @param string $char 组成随机字符串的字符串 * @ret ...

  8. 2t3ik、ddgs与Linux异常文件下载处理

    异常1: 这样的邮件发生了两周了,烦得很.进入服务器,用top看来下进程. 解决办法 首先 kill 相关PID 进入/tmp/   删除相关文件 rm -rf 2t3ik相关文件 不给相关文件修改权 ...

  9. bzoj1030 AC自动机+dp

    思路:建状态图,在状态图上dp. #include<bits/stdc++.h> #define LL long long #define ll long long #define fi ...

  10. 四十二 常用内建模块 collections

    collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: >>> ...