Ubuntu下SVN配置
今天上午写了一个脚本,然后想起来现在写的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配置的更多相关文章
- Opencv 2.4.9在Ubuntu下的配置与安装
[原]Opencv 2.4.9在Ubuntu下的配置安装 Opencv 2.4.9在Ubuntu下的配置与安装 surgewong@gmail.com http://blog.csdn.net/su ...
- Ubuntu下MySql配置
Ubuntu下MySql配置 安装MySQL 命令: sudo apt-get install mysql-server MySQL初始配置及管理 启动MySQL mysql start : mysq ...
- Ubuntu下Maven配置与Maven项目创建教程
一. Ubuntu下Maven配置 windows下Maven配置参考http://www.cnblogs.com/LexMoon/p/JavaMaven.html ubuntu下Maven地址htt ...
- ubuntu下SVN使用
一. ubuntu下SVN(命令行客户端)安装:sudo apt-get install subversion 二. 常用命令2. 文件检出:svn checkout 服务器目录 [本地目录] [-- ...
- Ubuntu下HTTPS配置
Ubuntu下HTTPS配置非常简单,对大部分用户而言,使用普通的自签名证书,只需按照步骤进行就可以了,无需了解密钥.证书的更多知识,更深的背景知识还有RSA算法.DES算法.X509规范.CA机构. ...
- Ubuntu下Linux配置内核各种常见错误和解决办法
镜像下载.域名解析.时间同步请点击阿里云开源镜像站 这篇把Ubuntu下Linux配置内核各种常见错误和解决办法给大家讲解一下,希望可以帮助到大家. 一.Ubuntu系统中缺少各种依赖包导致的问题 1 ...
- 【转载】Ubuntu下SVN安装和配置
一.SVN安装 1.安装包 1.$ sudo apt-get install subversion 2.创建项目目录 $ sudo mkdir /home/xiaozhe/svn $ cd /home ...
- Ubuntu下SVN安装和配置
一.SVN安装 1.安装包 1.$ sudo apt-get install subversion 2.创建项目目录 $ sudo mkdir /home/xiaozhe/svn $ cd /home ...
- Ubuntu下SVN客户端RapidSVN
Window下我们使用TortoiseSVN,可以很方便地进行查看.比较.更新.提交.回滚等SVN版本控制操作.在Linux下,我们可以使用rapidsvn. RapidSVN是一款不错的SVN客户端 ...
随机推荐
- PHP之MVC项目实战
本文主要包括以下内容 类文件自动加载 路径管理 页面跳转 注册自动加载方法 配置文件系统 cookie session 类文件自动加载 在PHP中使用别的类时,需要载入类文件,如果类很多的话,需要重复 ...
- .NET MVC4 数据验证Model(二)
一.概述 MVC分为ViewModel.Control.View,对数据的封装MVC做的很好,确实是不错的WEB框架,针对MVC的ViewModel封装的也是相当的不错,最近做一个MVC的项目,采 ...
- Ext.MessageBox消息框
Ext JS消息提示框主要包括:alert.confirm.prompt.show 1.Ext.MessageBox.alert() 调用格式: alert( String title, String ...
- POJ3685 Matrix(嵌套二分)
同行元素递减,同列元素递增,采用嵌套二分的方法 #include<cstdio> #include<iostream> #include<cstdlib> #inc ...
- android 入门-R文件的死与活
1.图片的名字Btn_Play R文件死了. 1.答:修改图片的名字btn_play R文件活了.
- WPF中使用ReportViewer报表
本篇博客将介绍如何在WPF中使用ReportViewer控件. 1. 环境准备:下载安装最新版ReportViewer(PS:需要安装Microsoft SQL Server System CLR T ...
- WPF 创建自定义窗体
在前面的一篇博客"WPF 自定义Metro Style窗体",展示了如何创建一个类似于Metro Style的Window,并在程序中使用.但是这个窗体不能够自由的改变大小.今天的 ...
- 在WPF中使用CefSharp嵌入浏览器
日常开发中,我们需要将一些Web页面嵌入到桌面客户端软件中.下面我们使用CefSharp嵌入浏览器来实现. 首先先介绍一下CefSharp嵌入式浏览器,它是基于Google浏览器的一个组件,我们可以在 ...
- 如何设计一个优秀的API(转)
到目前为止,已经负责API接近两年了,这两年中发现现有的API存在的问题越来越多,但很多API一旦发布后就不再能修改了,即时升级和维护是必须的.一旦API发生变化,就可能对相关的调用者带来巨大的代价, ...
- PHP中include和require(转)
昨天去面试一个php开发,看到笔试试卷上有这么一道题目: include和require有什么区别? 这个题目可以称得上php开发面试中的必考题目,网上也有各种答案和解释.但是我当时却真的想不起来了. ...