本机环境 :ubuntu 12.4 LTS desktop

1 sudo apt-get install  subversion  #安装svn

2  sudo mkdir   /home/lzj/svn     建立svn主目录,名称叫svn

3  sudo mkdir /home/lzj/svn/first_project    # 建立一个项目

4 svnadmin create /home/lzj/svn/first_project    #创建SVN版本,这一步在这个目录下就会生成多个文件,可以配置等。。

5   sudo vim /home/lzj/svn/first_project/conf/svnserve.conf      #修改first_project的配置

# anon-access = read       找到这句,去掉#和空格  ,记得一定要顶住行首。

# auth-access = write     找到这句,去掉#和空格  ,记得一定要顶住行首。

# password-db = passwd   找到这句,去掉#和空格  ,记得一定要顶住行首。验证密码用

# authz-db = authz       找到这句,去掉#和空格  ,记得一定要顶住行首。验证权限用

进行配置修改前,先建立一个组  subversion,一个用户 svn_user ,

#  groupadd subversion 添加组
# useradd svn_user 添加用户
# gpasswd -a svn_user subversion 把svn_user添加到subversion组中

6 sudo vim /home/lzj/svn/first_project/conf/passwd    #修改svn用户

6.1

[users]
 # harry = harryssecret
 # sally = sallyssecret
 svn_user = 123456  #说明 { 用户名 = 密码 } , 这个用户 svn_user  可以用命令,密码随便写,用于以后用户checkout的时候用

7 sudo vim /home/lzj/svn/first_project/conf/authz    #修改权限

[groups]
 # harry_and_sally = harry,sally   ,这些行的意思是说 ,某个组的某些用户 有权访问  这个项目SVN
 # harry_sally_and_joe = harry,sally,&joe
 subversion = svn_user

[/]   #项目SVN根目录

root = rw    #root用户可以读写这个根目录,也就是/home/lzj/svn   ,r 代表 读,w 代表 写

svn_user = rw   #我新建的svn_user用户,可以读写

[repository:/]  #仓库目录下的某个目录,应该是这么理解,有时间再看文档~~
 @subversion = rw   #我新建的subversion组,可以读写

以上配置完成后

启动svn服务

  #  svnserve -d -r   /home/lzj/svn    #SVN监视的目录~~

#  ps -ef | grep svn 查看是否正确启动,如果有‘ 。。。 0:00:00 svnserve -d -r /home/lzj/svn/。。。。‘ ,就说明已经启动,

# sudo vim /etc/rc.local ,添加这句   svnserve -d -r   /home/lzj/svn  ,目的是开机启动svn 

至此,SVN的安装,配置已完成!

接下来,我们把这个SVN项目,checkout到我的nginx 网站运行目录下  /usr/local/nginx/html/

svn checkout svn://127.0.01/first_project --username svn_user --password 123456         #因为这是一台服务器,以上的操作都在同一台机子上,所以127.0.0.1就相当于远程机了~~,

checkout出来后,在 /usr/local/nginx/html目录下 就会自动生成  first_project  目录了。。。。~~

---------------------------------------------------------

如果我的同事,要checkout这个svn项目,他可以在他的电脑上这样

svn checkout 192.168.1.111/first_project --username  xxx --password  xxxx         #现在111这台机子 ,就是服务器

当他修改了他本地的某个文件后,他会上传到svn中,怎么样可以让SVN把刚才上传的文件,同步到服务器的网站运行目录下呢????这样以后就可以直接看效果了,岂不是很方便 !!!!!!

办法 就是 在SVN的项目文件中,有个hooks/post-commit.tmpl ,这是个说明模版文件,它的作用就是当我的同事提交代码到svn后,就会触发这个文件,这个文件可以写命令~~~

sudo cp /home/lzj/svn/first_project/hooks/post-commit.tmpl   /home/lzj/svn/first_project/hooks/post-commit   # 修改成执行的文件

sudo chmod  759 /home/lzj/svn/first_project/hooks/post-commit

sudo chown   nobody:nobody  /home/lzj/svn/first_project/hooks/post-commit   #修改文件属主是为了 跟  /usr/local/nginx/html/first_project的属主一样,防止权限问题而导致SVN同步失败!!!!

sudo vim /home/lzj/svn/first_project/hooks/post-commit

 REPOS="$1"
REV="$2" #"$REPOS"/hooks/mailer.py commit "$REPOS" $REV "$REPOS"/mailer.conf export LC_CTYPE=en_US.UTF- #语言支持
#SVN=/usr/bin/svn #指定 svn 路径
svn update /usr/local/nginx/html/first_project --username svn_user --password --no-auth-cache # 把这个命令可以先执行一下,看看是否报错!!记得在用命令行模式

好了,这样SVN修改后,就可以自动同步到网站目录下了。。。很方便呢~~

参考文章    http://blog.sina.com.cn/s/blog_6f066a890100s5wh.html     SVN目录自动同步!!

参考了 很多文章 !!感谢前辈们的分享!!!

ubuntu svn安装测试的更多相关文章

  1. Ubuntu SVN安装&使用&命令

    SVN 安装 apt-get install subversion checkout svn checkout svn://192.168.1.110/app 按提示输入相应的用户名和密码. 往版本库 ...

  2. Ubuntu svn 安装 Rabbitvcs

    先添加源 sudo add-apt-repository ppa:rabbitvcs/ppa 必要的话在源清单里面也添加一下 sudo gedit /etc/apt/sources.list 内容是 ...

  3. ubuntu svn 安装

    deepin@deepin:~$ sudo apt-get install rabbitvcs-rabbitvcs-cli rabbitvcs-core rabbitvcs-gedit rabbitv ...

  4. 来杯Caffe——在ubuntu下安装Caffe框架并测试

    Caffe是一种深度学习框架...blablabla...... Caffe要在ubuntu下安装 1. 安装依赖 sudo apt-get install libatlas-base-dev sud ...

  5. Ubuntu SVN客户端安装

    查看系统版本: uname -a (Linux查看版本当前操作系统内核信息) cat /proc/version (Linux查看当前操作系统版本信息) 1.首先需要安装Ubuntu SVN.Ubun ...

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

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

  7. ubuntu下opencv2.4.9安装测试

    ubuntu下opencv2.4.9安装测试 whowhoha@outlook.com 一.依赖包安装 1.  build-essential 软件包 sudo apt-get install bui ...

  8. ubuntu下安装svn

    Ubuntu下使用SVN SVN作为日常开发中不可缺少的工具,今天终于开始在Ubuntu下使用了. 1.首先需要安装SVN.Ubuntu下的SVN安装十分简单,sudo apt-get install ...

  9. Ubuntu下安装Wine&WineQQ+Phpstorm+wps+svn+vim(计划任的使用)+flashplayer+curl扩展

    一.安装Wine 1.添加PPA sudo add-apt-repository ppa:ubuntu-wine/ppa 2.更新列表 sudo apt-get update 3.安装Wine sud ...

随机推荐

  1. 四舍六入五成双银行家算法的 PHP和Javascript实现

    四舍六入五成双 http://baike.baidu.com/view/1245064.htm?fr=aladdin 四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则. 对于位数很 ...

  2. 辗转相除法求最大公约数和最小公倍数【gcd】

    要求最小公倍数可先求出最大公约数 设要求两个数a,b的最大公约数 伪代码: int yushu,a,b: while(b不等于0) { yushu=a对b求余 b的值赋给a yushu的值赋给b } ...

  3. java常见算法

    1.冒泡排序 public int[] bubbleSort(int arr){ int temp; boolean isOk; for(int i = 0; i < arr.length; i ...

  4. TreeMap 排序

    一.TreeMap TreeMap 默认排序规则:按照key的字典顺序来排序(升序) 当然,也可以自定义排序规则:要实现Comparator接口. 用法简单,先看下下面的demo public cla ...

  5. cookie的存值和取值方式

    最近在开发中存储用户名信息,为了方便就使用了sessionStorage,但是写好才想到sessionStorage在IE下面是不支持的,所以无奈还是使用了cookie 那么接下来就谈谈怎么使用coo ...

  6. Oracle Outline总结

    一.基本概述 Oracle Outline,中文也称为存储大纲,是最早的基于提示来控制SQL运行计划的机制.也是9i以及之前版本号唯一能够用来稳定和控制SQL运行计划的工具. outline是一个hi ...

  7. 常用加密算法的Java实现(一) ——单向加密算法MD5和SHA

    1.Java的安全体系架构 1.1           Java的安全体系架构介绍 Java中为安全框架提供类和接口.JDK 安全 API 是 Java 编程语言的核心 API,位于 java.sec ...

  8. CSS3超酷移动手机滑动隐藏側边栏菜单特效

    这是一组共4种效果很炫酷的CSS3移动手机滑动隐藏側边栏菜单特效. 这四种效果各自是:默认的点击滑动側边栏菜单效果.带3D transforms的滑动側边栏效果.文字缩放和淡入淡出效果的滑动側边栏以及 ...

  9. Labview 中的类

    一.创建一个空的类 在 LabVIEW 工程窗口里,鼠标右键菜单的新建栏中有一项,是创建类.类的结构和 LabVIEW 工程库是比较相近的:类的名字也作为名字空间:也可以为类中的 VI 设置访问权限等 ...

  10. MVC - Ajax

    Ajax表单 使用Ajax.BeginForm方法即可开启Ajax表单 Ajax.BeginForm() 参数1:Action名参数2:使用AjaxOptions实例设定异步请求的属性 new Aja ...