标签:
今天上午写了一个脚本,然后想起来现在写的R脚本,常常在分析过程中就直接改掉了。隐隐还是觉得存在隐患,想着svn部署应该不会太难,于是就直接动手干了。
弄了一上午的时间,感觉还是花了点时间。
这里有篇blog已经讲的挺清楚了:
http://blog.sina.com.cn/s/blog_3eba8f1c0100dqk1.html
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. 赋予目录可执行权限
$ chmod -R 777 /home/svn/svndata
看到网上很多教程都没有提到这一点,不知道我的问题出现在哪里。
尝试着只赋予776的权限,但从客户端访问会出现Permission Deny。只能将权限全部放开。
隐隐觉得应该有隐患,但是不清楚怎么处理。
5. 安装客户端 TortoiseSVN。
安装完成后,访问:svn://host/svndata
标签:
原文地址:http://www.cnblogs.com/oDoraemon/p/5284634.html