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后啦)。记忆力衰退也算一个契机吧,这样督促本身将本身工做中的事情记录下来,无事一身轻,哎,还有好多事情要记录一下尼,才能作到身轻如燕~