Linux/Ubuntu下安装svn(二)

1、简介shell

    Subversion通常使用两种后台服务模式:一种是其本身实现的 svnserve,能够经过svn协议访问,另外一种是借助mod_dav_svn 模块,由Apache http 服务器来实现,而后经过HTTP或HTTPS协议来访问。下面要介绍的该种svn的搭建方式,与前文中的搭建方式略有不一样。就难易程度上来说,实现svn协议访问的这种方式比apache http的方式要容易许多~apache

2、安装步骤vim

步骤一  使用apt包管理器来安装subversion缓存

sudo apt-get subversion

ps:若是是rpm系列的相似(yum install subversion)服务器


步骤二 创建svn的安装目录svn

mkdir -p /home/user/svn

ps: 这里主要-p参数用来递归建立目录工具


步骤三 指定安装目录为svn的项目目录spa

svnadmin crteate /home/user/svn

ps:该步骤比较重要,执行完该步骤之后,svn目录下将会出现一个很是核心的目录conf,目录中的文件以下:日志

conf/code

        authz       该文件主要为用户的受权文件

        passwd    该文件为用户的用户名和密码

        svnserve.conf    该文件用来控制项目的读写权限,以及项目的用户文件和受权的文件的路径。


步骤四 修改conf中的配置文件

vim svnserve.conf

文件修改说明:

    anon-access = none    #匿名访问用户的权限为无   

    auth-access = write      #认证权限为写权限

    password-db = passwd  #该passwd文件默认为conf下的文件

    authz-db     =   authz    #用户受权文件默认为conf下的authz文件

    realm = repo name   #仓库的名字

vim passwd

文件修改说明:

    user = passwd 

vim authz

文件修改说明:

    [svn:/]

     user = rw


步骤五 开启svnserve服务

svnserve -d -r /home/user/svn  [--listen-port=port]

ps: -d 表示之后台模式运行,-r 用于指定仓库的位置。--listen-port这个参数指定svn服务监听的端口为port值,默认不指定的状况下,监听的端口为3690。


3、FAQ 常见问题

1)  更新项目的时候,出现  db/txn-current-lock: Permission denied

答:查看一下指定项目下的db/目录的属组,可能因为该目录的属组设置为root,那么你须要将该属组改为一个比较低级别的用户,能够是user能够是其余的。同时须要修改db的读写权限,我我的经常【暴力】的将其chmod为777。

reference :       

chown -R user:user db/
chmod -R 777 db/


2)   下载项目的时候,出现 svn: Authorization failed

答:这一个错误一般是因为authz文件中的内容错误致使的,可使用svn自带的一个配置文件检测工具来检测一下该authz文件是否存在问题,若是存在语法问题,修改语法格式,若是不存在语法问题,那么颇有可能未设置根目录的权限。能够在authz中追加以下信息: 

[/]
andrew = rw

这样andrew就拥有了对根目录的读写权限

3)在winows的tortoisesvn客户端下,显示日志出现错误,出现相似:链接服务器失败,你想使用缓存中的数据吗?

答:极可能是因为svnserve.conf文件中的anon-access的值为read,只要将anon-access的值改成none便可。

anon-access = read   =>  acnon-access = none

原理:以anon身份去读项目内容的时候,因为在authz中没有给anon配置权限,这形成了没法读取log item not readable的问题。

4)在用户客户端svn add 目录的时候,出现相似如下问题:

svn: warning: W150002: '/Users/piercalex/svn/azzz/1' is already under version control
svn: E200009: Could not add all targets because some targets are already versioned
svn: E200009: Illegal target for the requested operation

答:

svn add /Users/piercalex/svn/azzz/1 --force
svn add 目录名 --force

这样就能够把这个目录的东西提交进去。

4、总结

    好记性不敌烂笔头,最近深深感觉到本身记忆力的降低,不知道是工做量的增大仍是岁数太大的缘由(其实我仍是90后啦)。记忆力衰退也算一个契机吧,这样督促本身将本身工做中的事情记录下来,无事一身轻,哎,还有好多事情要记录一下尼,才能作到身轻如燕~

相关文章
相关标签/搜索