linux搭建SVN服务器

本文是在CentOS中采用yum安装方式。优点:简单,一键安装,不用手动配置环境变量等。缺点:安装位置为yum默认    

一、yum安装subversion

1. 安装subversion 

命令: yum install subversion


2. 查看安装版本,检查安装是否成功 svnserve --version  ,我装的版本为  1.7.14


3. 查看安装位置  rpm -ql subversion


二、创建版本库

1.创建用于存放版本库的目录,比如我准备在/usr/local/blue/svn/Code下创建版本库  mkdir -p /usr/local/blue/svn/Code

扫描二维码关注公众号,回复: 1113715 查看本文章


2.创建svn版本库,指定为刚才创建的目录 svnadmin create /usr/local/blue/svn/Code


3.创建完后,版本库目录下会生成一些文件,进入conf目录下。conf目录中authz文件是权限控制文件,passwd是帐号密码文件,svnserve.conf是SVN服务配置文件


4.修改passwd文件,加入用户,格式就是“用户名=密码”,如:  admin = 123


5.修改authz文件,加入用户权限: 备注: 格式为  账户=权限     rw权限为读.写 , r权限为读

在[groups]下面加入:
[/]
admin = rw 

lk = rw


6.svnserve.conf里面常用的配置有设置匿名用户(默认可读)、授权用户(默认读写)的读写权限,以及指定账号文件(默认passwd)、权限文件(默认authz)的路径等。看起来应该默认值就够了,但实际使用发现还是得手动把相关注释打开,不知道是什么原因。

以下几行去掉注释,删除最前面的空格.   空格必须删除,如果不删除SVN在访问时会报错

anon-access = read #匿名用户可读     此项一般不推荐启用. 启用后会导致SVN checkout时不用输入用户密码
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件

realm =My First Repository # 认证空间名,版本库所在目录

7.启动svn版本库 svnserve -d -r  /usr/local/blue/svn/


其中,-r的作用是设置根目录路径,比如我这样设置后在访问时输入svn://x.x.x.x/就会直接到我的svn目录下(当然在svn目录下是找不到版本库的),如果想访问版本库则输入svn://x.x.x.x/Code即可。

换句说话,如果启动版本库时命令为svnserve -d -r  /usr/local/blue/svn/Code,则访问svn://x.x.x.x/就能直接到版本库内。

三、常见问题
  1.注意打开端口的访问权限。svn服务的默认端口为3690,比如我部署在阿里云服务器上,必须先在阿里云控制台打开3690端口的外部访问权限。

        2.关闭svn服务的方式是杀掉进程,kill pid或者pkill svnserve

猜你喜欢

转载自blog.csdn.net/s735819795/article/details/80497601