一、安装
直接使用命令安装
$ sudo apt-get install subversion
安装完成后,你也许会问,它给我装到什么地方去呢?不要急用whereis即可知道
二、服务器配置
1、创建相应的用户及群组
sudo addgroup subversion //不是必须的
sudo usermod -G subversion -a sucre //不是必须的
使用reboot重启系统,使得上面的配置生效,重启完成后,执行下面的命令
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chown -R root:subversion myproject
记得修改/etc/subversion/servers文件,把里面的store-plaintext-passwords = no前面的#去掉 //这样就把密码保存为不可见了,一定要做啊。
myproject是你的工程名,以下是chown的用法
- sucre@sucre-ubuntu:~$ chown --help
- 用法:chown [选项]... [所有者][:[组]] 文件...
- 或:chown [选项]... --reference=参考文件 文件...
- 更改每个文件的所有者和/或所属组。
- 当使用 --referebce 参数时,将文件的所有者和所属组更改为与指定参考文件相同。
- -c, --changes 类似 verbose,但只在有更改时才显示结果
- --dereference 受影响的是符号链接所指示的对象,而非符号链接本身
- -h, --no-dereference 会影响符号链接本身,而非符号链接所指示的目的地
- (当系统支持更改符号链接的所有者时,此选项才有用)
- --from=目前所有者:目前组
- 只当每个文件的所有者和组符合选项所指定的,
- 才会更改所有者和组。其中一个可以省略,这时
- 已省略的属性就不需要符合原有的属性。
- --no-preserve-root 不特殊对待"/"(默认值)
- --preserve-root 不允许在"/"上递归操作
- -f, --silent, --quiet 去除大部份的错误信息
- --reference=参考文件 使用参考文件的所属组,而非指定值
- -R, --recursive 递归处理所有的文件及子目录
- -v, --verbose 为处理的所有文件显示诊断信息
- 以下选项是在指定了 -R 选项时被用于设置如何穿越目录结构体系。
- 如果您指定了多于一个选项,那么只有最后一个会生效。
- -H 如果命令行参数是一个通到目录的符号链接,则遍历符号链接
- -L 遍历每一个遇到的通到目录的符号链接
- -P 不遍历任何符号链接(默认)
- --help 显示此帮助信息并退出
- --version 输出版本信息并退出
- 如果没有指定所有者,则不会更改。 所属组若没有指定也不会更改,但当加上
- ":"时 GROUP 会更改为指定所有者的主要组。所有者和所属组可以是数字或名称。
- 示例:
- chown root /u 将 /u 的属主更改为"root"。
- chown root:staff /u 和上面类似,但同时也将其属组更改为"staff"。
- chown -hR root /u 将 /u 及其子目录下所有文件的属主更改为"root"。
- 请向bug-coreutils@gnu.org 报告chown 的错误
- GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
- GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
- 请向<http://translationproject.org/team/zh_CN.html> 报告chown 的翻译错误
2、下面的命令用于创建 SVN 文件仓库:
$ sudo svnadmin create /home/svn/myproject
3、赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
$ sudo chmod -R g+rws myproject
三、访问权限设置
当创建了 SVN 文件仓库,您可以修改 /home/svn/myproject/conf/svnserve.conf 来配置其访问控制。
可以取消下面的注释符号来设置授权机制:
# [general]
# password-db = passwd
现在,可以在“passwd”文件中维护用户清单。编辑同一目录下“passwd”文件,添加新用户。语法如下:
username = password //如:admin = admin
#(注意行开始不要有多余空格)
现在,可以在本地或者远程通过 svn://访问 SVN 了,您可以使用“svnserve”来运行 svnserver,语法如下:
$ svnserve -d --foreground -r /home/svn //一般$ svnserve -d --foreground就可以了,不用跟后边的路径,否则不能多个目录svn
运行这个命令后,如果没有任何提示就说明运行成功了,我们的svn就已经配置好了