Ubantu搭建svn服务器

1.卸载svn

利用以下命令查看自己的系统是否已经安装了svn:

svn

上面显示为未安装,如果显示一下信息说明已安装,可以使用以下命令进行卸载:

sudo apt-get remove --purge subversion

(–purge 选项表示彻底删除改软件和相关文件)

2.安装svn

安装前建议更新一下z,再进行安装:

sudo apt-get update

sudo apt-get install subversion

上图显示安装成功。

可以验证一下,通过如下命令:

svn help //--svn帮助

svn --version //--svn版本

svnserve --version //--svn server版本

3.创建SVN版本库

a:创建项目目录和svn仓库:

sudo mkdir /home/svn

sudo mkdir /home/svn/repository

sudo chmod -R 777 /home/svn/repository

sudo svnadmin create /home/svn/repository

执行命令后,会在repository下生成以下文件:

对db进行权限设置:

sudo chmod -R 777 db

注:

如果不执行上述命令,会报如下错误:

这是因为我们用的都是sudo权限做的操作,默认只有root用户对文件夹才有写权限,因为root的umask是0022,别的用户没有写权限。

  • 设置访问权限:需要对conf文件夹下的文件进行修改

    vim /usr/local/svn/repository/conf/svnserve.conf

    Ubuntu16.04 安装配置SVN服务器

  • 简单的修改几处配置

    匿名用户可读anon-access = read(可改成none,即不可读)#权限用户可写auth-access = write#密码文件为passwdpassword-db = passwd#权限文件为authzauthz-db = authz

    (去掉前面的#,并且顶格,不然可能会报错)

    Ubuntu16.04 安装配置SVN服务器

  • 修改passwd文件,添加访问用户

    vim /usr/local/svn/repository/conf/passwd

    Ubuntu16.04 安装配置SVN服务器

  • 修改authz文件,设置用户权限

    vim /usr/local/svn/repository/conf/authz

    admin = guoke//用户guoke属于admin权限组

    [repository:/]

    @admin = rw //admin权限组的权限是读和写

    • = rw 所有的组都具有读权限和写权限

    Ubuntu16.04 安装配置SVN服务器

  • 启动服务器

    svnserve -d -r /usr/local/svn

    Ubuntu16.04 安装配置SVN服务器

  • 用如下命令查看svnserve是否已经运行

    ps aux | grep svnserve

    Ubuntu16.04 安装配置SVN服务器

  • 15

    测试

    svn co svn://127.0.0.1/repository --username guoke --password 123456

    Ubuntu16.04 安装配置SVN服务器

    svnserve: E000098: 不能绑定服务器套接字: 地址已在使用 解决办法

==========================================

版权

为什么会出现这种原因呢?默认的启动svn服务,系统默认开启的端口为3690,当你启动第二个版本库时还是开启3690,所以就冲突了。
解决办法:
录入:#svnserve -d -r /mnt/westos --listen-port 3691

查询当前开启的服务
[root@localhost conf]# netstat -antple | grep svn
tcp 0 0 :::3690 ::? LISTEN 0 125064 7427/svnserve
tcp 0 0 :::3691 ::? LISTEN 0 125826 7617/svnserve

你可能感兴趣的:(svn)