LINUX下SVN安装 配置 web目录同步

本文介绍在LINUX环境下Subversion(SVN)的安装步骤、配置方法以及如何通过SVN进行代码仓库管理。主要内容包括安装SVN、创建代码仓库、修改配置文件、启动SVN服务、测试连接以及如何实现SVN提交文件自动更新到nginx的WEB目录。

LINUX下SVN安装,配置,web目录同步


作者:幽灵
时间:2013年1月12日星期六
注:
各服务器运行环境可能有所不同,操作过程中可能出现其他问题,自行查阅资料解决
SVN的具体使用方法很多,本文档只是使用了SVN最简单的用法,感兴趣的同学可以查阅相关资料。
如果各位同学有对SVN新的补充,请更新本文档!


一、 安装subversion

1. 首先输入rpm -qa | grep subversion 查看SVN是否已经安装过

这里写图片描述

    如果输出类似如下结果,则说明已经安装:
    subversion-1.6.11-7.el6.x86_64

2. 执行 yum -y install subversion 安装SVN

这里写图片描述

3. 执行 svn –version 查看安装的SVN版本

这里写图片描述

二、 建立代码仓库

    常规情况下,我们一个仓库里面会有多少个项目。所以,第一步得创建所有项目的仓库中心,如下命令:
mkdir /opt/svn/

这里写图片描述

    现在假定我们有一个项目叫 imobile ,现在我们为这个项目在仓库中心中分配一个仓库。如下命令:
svnadmin create /opt/svn/imobile/

这里写图片描述

    进入imobile目录如下 /opt/svn/imobile/

这里写图片描述

目录说明
conf:配置文件
db:存储数据
hooks:脚本程序,SVN提交上来的文件检验等操作

三、 修改配置文件

1. 进入 svntest 项目仓库配置目录中

这里写图片描述

2. 修改svnserve.conf文件

这里写图片描述

    找到以下的内容,并在行首注释符号#删掉。
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

3. 为 svntest 项目增加svn用户,并且赋予权限值:

这里写图片描述

在文件中添加如下代码:

这里写图片描述

代码的意思是:为 svntest 项目添加一个imobile_001的用户,并且,这个用户对于 imobile 项目拥有读写权限。
关于方框号里面的写法有以下几种:
  • [/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/opt/svn,
  • [/]就是表示对全部版本库设置权限。
  • [imobile:/] 表示对版本库svntest设置权限
  • [imobile:/abc] 表示对版本库svntest中的abc项目设置权限
  • [imobile:/abc/aaa] 表示对版本库svntest中的abc项目的aaa目录设置权限

4. 给用户分配密码,执行如下命令:

这里写图片描述

这里写图片描述

四、启动svn服务和测试

1. 启动svn服务,并指定 svn 的根目录:

这里写图片描述

2. 查看svn服务是否正常启动,执行如下命令:

这里写图片描述

顺便提一下,svn的默认端口是3690。

3. 在windows系统上测试是否成功:

  1. 首先保证你的系统中已经安装了 subversion 客户端程序。如果没有安装马上下载安装,并重启windows系统。
  2. 在windows任意的目录中,创建一个文件夹,文件夹的名字任意,最好是英文名。如我的:imobile_242。
  3. 右键点击该文件夹,选择”Checkout…”,填写如下信息,点击“确定”按钮之后,会弹出一个对话框,让你输入账号密码,我们的账号是:imobile_001,密码是:123456.填写完之后,可以公告保存账号密码的选项。再点击“确定”就OK了。如图:
    这里写图片描述
  4. 点击“确定”按钮之后,会弹出一个对话框,让你输入账号密码,我们的账号是:svn001,密码是:123456.填写完之后,可以公告保存账号密码的选项。再点击“确定”就OK了。
  5. 开启自启动SVN服务器。现在我们已经配置好了svn服务器。但是,我们是通过手工通过命令启动的。如果,想每次centos 系统开启就启动这个服务的话,有以下方式可以实现。打开/etc/rc.local文件,shell命令如下,这样开机的时候就会自动启动svn服务器了。
    vi /etc/rc.local
    svnserve -d -r /opt/svn/

这里写图片描述

这里写图片描述

五、 SVN提交文件自动更新到nginx的WEB目录

1. 进入WEB根目录:

这里写图片描述

2. 创建SVN仓库副本:

这里写图片描述
3. 设置svn更新后自动更新nginx的读取目录:
这里写图片描述

这里写图片描述

这里写图片描述

lc_ctype要设置的值可以使用locale查看
更改文件权限为可执行:#chmod 777 post-commit

4. 同步测试:

查看web目录文件
这里写图片描述

这里写图片描述


本地创建一个文件test001.php
这里写图片描述


SVN提交文件test001.php
这里写图片描述


进入web目录查看
这里写图片描述
英文名文件同步成功


本地创建一个中文名文件
这里写图片描述

这里写图片描述


查看web目录
这里写图片描述

这里写图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值