今天上午写了一个脚本,然后想起来现在写的R脚本,常常在分析过程中就直接改掉了。隐隐还是觉得存在隐患,想着svn部署应该不会太难,于是就直接动手干了。

弄了一上午的时间,感觉还是花了点时间。

这里有篇blog已经讲的挺清楚了:

  http://blog.sina.com.cn/s/blog_3eba8f1c0100dqk1.html

对于showlog的时候可能出的问题,见:

svn查看日志(show log)显示时间为1970的解决方法

1.编辑svnserve.conf,设置“anon-access=none”
2.在authz中添加 
[/]
* = 
3.清理svn的cache

(上面这个设置解决的问题,感觉有点像玄学了。什么鬼!!)

1. 安装subversion

  $ sudo apt-get install subversion

安装过程中可能会出现软件依赖问题,由于这电脑是从前任工程师那里继承下来的,系统已经安装了subversion。所以我没有碰到。

大概翻了一下,没找到软件的安装路径。因为能直接运行svnserve命令,而来repository好像是通过配置文件指定的,所以就没有太执着于找到安装路径。

2. 新建svn目录

  2.1 这是新建一个用于存储SVN所有文件的目录。具体路径自己决定,如可以在home下或任何位置新建一个svn文件夹。

  $ mkdir /home/svn

  2.2 新建一个版本仓库

  $ svnadmin create /home/svn/svndata (svndata名字也是按需自取)

  新建完成后,svndata下应该会生成一些文件。如果没有生成,该是svn服务没有安装成功/启动,自行回头处理。

  到这里其实仓库就算弄完了。后面是配置各个文件

  2.3 配置conf文件夹下的配置文件

  2.3.1 svnserve.conf  (//配置服务的依赖文件(如权限配置、用户配置)的路径)

      $ vi svnserve.conf

      配置文件中,找到anon-access, auth-access, password-db, authz-db几个配置项,将前面的#号去掉。

      这几项的对应意义如下:

    anon-access:是否允许匿名访问 (建议项为none)

    auth-access:登录用户的读写权限

    password-db: 指定密码配置文件。(使用sasl方式的话,这个文件就会弃用。具体自行阅读说明)

    authz-db:权限控制策略配置文件。

    文件最底部的sasl好像是提供数据传输加密服务,防止在提交或下载过程中被人提取信息。因为我是内网自用,也就没弄这个。

  2.3.2 authz

    $ vi authz

    这个文件管理权限策略,也就是用户权限,路径访问权限,组权限等。

    [aliases]:不太理解别名配置的用处,没有管他

    [groups]标签:哪个用户属于哪个用户组。

    模式是【组名】 = 【用户1】,【用户2】 如admin = admin1, admin2

    [/foo/bar]标签:指定路径的访问权限。这里注意不要取消标签的注释。自己根据自己的路径修改标签。

    如根目录设置:(admin有rw权限,dev有rw权限,其他有r权限)

    [/]

    @admin = rw

    @dev = rw

    * = r

    后面的[repository:/baz/fuz]是针对某个库的权限配置,自行参考修改。

  2.3.3 passswd

    管理增删用户等。

    这个简单, 模式是【用户名】=【密码】, 如 admin = passwd

    如果使用sasl方式的话,配置这个文件是无效的。前面说过。

3. 启动svn:

  $ svnserve -d -r /home/svn/

  设置服务随系统启动:(修改/etc/rc.local文件)

  $ vi /etc/rc.local

  在最后一行添加 svnserve -d -r /home/svn/

4. 赋予目录可执行权限

  首先注意创建文件夹的用户是谁,而使用文件夹的用户是谁。

  一般创建者是root用户,而文件夹使用用户,一般会生成一个对应的svn用户。通过chown命令将文件夹所属用户从root更改为svn。

  以下是我的配置文件的权限情况。文件夹的权限问题会导致出现各种权限报错。感觉SVN权限和设置的问题,简直就是玄学了。感觉不会再爱了。

  

5. 安装客户端 TortoiseSVN。

  安装完成后,访问:svn://host/svndata

6. 关闭SVN服务

  好像没有找到类似stop或restart的命令。看到别人使用killall svnserve来结束svn服务。

  

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

  1. Opencv 2.4.9在Ubuntu下的配置与安装

    [原]Opencv 2.4.9在Ubuntu下的配置安装  Opencv 2.4.9在Ubuntu下的配置与安装 surgewong@gmail.com http://blog.csdn.net/su ...

  2. Ubuntu下MySql配置

    Ubuntu下MySql配置 安装MySQL 命令: sudo apt-get install mysql-server MySQL初始配置及管理 启动MySQL mysql start : mysq ...

  3. Ubuntu下Maven配置与Maven项目创建教程

    一. Ubuntu下Maven配置 windows下Maven配置参考http://www.cnblogs.com/LexMoon/p/JavaMaven.html ubuntu下Maven地址htt ...

  4. ubuntu下SVN使用

    一. ubuntu下SVN(命令行客户端)安装:sudo apt-get install subversion 二. 常用命令2. 文件检出:svn checkout 服务器目录 [本地目录] [-- ...

  5. Ubuntu下HTTPS配置

    Ubuntu下HTTPS配置非常简单,对大部分用户而言,使用普通的自签名证书,只需按照步骤进行就可以了,无需了解密钥.证书的更多知识,更深的背景知识还有RSA算法.DES算法.X509规范.CA机构. ...

  6. Ubuntu下Linux配置内核各种常见错误和解决办法

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 这篇把Ubuntu下Linux配置内核各种常见错误和解决办法给大家讲解一下,希望可以帮助到大家. 一.Ubuntu系统中缺少各种依赖包导致的问题 1 ...

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

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

  8. Ubuntu下SVN安装和配置

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

  9. Ubuntu下SVN客户端RapidSVN

    Window下我们使用TortoiseSVN,可以很方便地进行查看.比较.更新.提交.回滚等SVN版本控制操作.在Linux下,我们可以使用rapidsvn. RapidSVN是一款不错的SVN客户端 ...

随机推荐

  1. Struts2之OGNL

    一.OGNL是什么? OGNL(Object-Graph Navigation Language)对象图导航语言,是一种表达式语言,它可以 1.遍历对象的结构图 2.存取对象的属性(实例属性和静态属性 ...

  2. NYOJ题目65另一种阶乘问题

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsIAAAJhCAIAAADE+EHOAAAgAElEQVR4nO3drXLjSAMu4HMT4bmQYF

  3. 001课-java_web开发入门

    一.Tomcat服务器常见启动问题:(1).Java_home环境变量,由于tomcat服务器的bin目录中的一些jar文件必须使用到java类库,所以必须先配置Java_home环境变量.(2).端 ...

  4. Delphi 的知识体系

    第一部分   快速开发的基础 第1章   Delphi 5下的Windows编程    1 1.1   Delphi产品家族    1 1.2  Delphi是什么    3 1.2.1   可视化开 ...

  5. MySQL5.6 on Windows 安装失败: String was not recognized as a valid DateTime

    在Win7,32位上安装MySQL5.6.21时出现日期/时间格式错误, 如下图所示: 错误描述为: String was not recognized as a valid DateTime. 下面 ...

  6. AngularJS讲义 - 作用域

    什么是作用域? Angular中作用域(scope)是模板以及工作的上下文环境,作用域中存放了应用模型和视图相关的回调行为.作用域是层次化结构的与相关联的DOM结构相对应.作用域可以观察表达式以及传播 ...

  7. BZOJ1004 [HNOI2008]Cards(Polya计数)

    枚举每个置换,求在每个置换下着色不变的方法数,先求出每个循环的大小,再动态规划求得使用给定的颜色时对应的方法数. dp[i][j][k]表示处理到当前圈时R,B,G使用量为i,j,k时的方法数,背包思 ...

  8. win10 Edge浏览器一打开就闪退崩溃的解决思路

    故障现象:从Win7.Win8.1升级到Win10,或是使用Win10一段时间后,发现Edge浏览器打开一到两秒就闪退,崩溃无法打开.解决方案: 1.尝试清理: C:\Users\Administra ...

  9. Error:“应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。”

    我的电脑是 win7 64bit,用 VS2012 跑网上下载的程序,Realease | x64 模式下出现该错误. 问题出在 freeglut.dll 是 32bit 下的 dll,需要换成 64 ...

  10. Android的图片缓存ImageCache(转)

    为什么要做缓存?       在UI界面加载一张图片时很简单,然而如果需要加载多张较大的图像,事情就会变得更加复杂.在许多情况下(如ListView.GridView或ViewPager等的组件),屏 ...