1 安装svn服务器
# apt-get install subversion
(如果E: Unable to locate package subversion 执行# apt-get update)
(使用命令 dpkg -L svnversion 可以看到svn的配置,可执行文件,文档放在 /etc,/bin,/share 目录下)
2 新建仓库
# svnadmin create /svn-repos/repo1
(在 /svn-repos 目录下创建一个名为 repo1 的仓库)
3 配置服务器使能用svn方式访问
(svn有 file://,svn:// ,http:// 三种访问方式,以下介绍 svn:// 方式)
repo1/conf/
passwd 文件用来存放用户名和密码中,修改为
test = test
(添加用户名和密码都为 test 的用户)
authz 文件用来配置用户组和读写权限,修改为
[groups]
admin = test
[/]
@admin = rw
* = r
(意思是
admin = test //用户test属于admin权限组
@admin = rw //admin权限组的权限是读和写
* = r 所有的组都具有读权限
设置[/]代表根目录下所有的资源,如果要限定资源,可以加上子目录)
svnserve.conf 文件用来配置匿名和验证用户的权限以及指定passwd和authz文件的位置,如果要使用svn方式访问svn,则配置该文件,否则可以不管这三个文件,修改为
[general]
#匿名用户不可读
anon-access = none
#权限用户可写
auth-access = write
#密码文件为passwd
password-db = passwd
#权限文件为authz
authz-db = authz
4 启动服务器
# svnserve -d -r /svn-repos
(注意这条命令的目录是建仓库命令中使用的目录不包括仓库名)
(如果已经在别的目录下启动过服务器,再次启动会报错,需要先杀死之前的进程,使用 ps aux|grep svn 命令查看 pid,然后 kill -9 pid 杀死之前的进程)
5 checkout
# svn co svn://localhost/repo1
(在当前目录下载仓库repo1,终端会自动提示输入用户名和密码,输入两次test即可)
(如果出现错误svn: E170001: No access allowed to this repository,svn: E170001: Authorization failed 检查一遍passwd,authz,svnserve.conf 这些配置文件)
(如果出现svn: E170000: URL 'svn://localhost/test' doesn't exist ,使用svnserve启动服务器时的目录可能有错误,必须是svnadmin建立仓库时的上一级目录)
(svn客户端tortoise也可以使用 svn://ip/repo1 地址下载仓库)