Linux搭建SVN服务器

来源:互联网 发布:ipad可以淘宝直播吗 编辑:程序博客网 时间:2024/06/16 21:58

1 安装SVN

官网下载:http://subversion.apache.org/packages.html

SVN客户端:TortoiseSVN,官网下载:http://tortoisesvn.net/downloads.html

# yum install subversion:

1.新建一个目录用于存储SVN所有文件

  1. # mkdir /svn  

2. 新建一个资源仓库

  1. # svnadmin create /svn/project   
  2. # ls /svn/project/   
  3. conf db format hooks locks README.txt  

目录用途说明:

hooks目录:放置hook脚本文件的目录

locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号

conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

3. 配置svn服务的配置文件svnserver.conf文件

  1. # vi /svn/project/conf/svnserve.conf   
  2. [general]   
  3. anon-access = none   
  4. auth-access = write   
  5. password-db = /svn/project/conf/passwd   
  6. authz-db = /svn/project/conf/authz   
  7. realm = My Test Repository #这是个提示信息  

保存

4. 添加两个访问用户及口令

  1. # vi /svn/project/conf/passwd   
  2. [users]   
  3. xiaoran.shen = 123456   
  4. test1 = 123456   
  5. test2 = 123456 

保存

注意:对用户配置文件的修改立即生效,不必重启svn服务。

5. 配置新用户的授权文件

  1. # vi /svn/project/conf/authz   
  2. [groups]   
  3. admin = xiaoran.shen,test1   
  4. user = test2   
  5. [/]   
  6. @admin = rw   
  7. @user = r   
  8. * =  

保存

格式说明:

版本库目录格式:

[<版本库>:/项目/目录]

@<用户组名> = <权限>

<用户名> = <权限>

/ 表示对根目录(即/svn/project目录)下的所有子目录范围设置权限;

[/abc] 表示对资料库中abc项目设置权限;

创建一个admin组,组成员包括xiaoran.shen和test1

创建一个user组,成员只有test2;

admin组对目录有读写权限;

单个用户test2有读写权限;

*=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。

注意:对权限配置文件的修改立即生效,不必重启svn。

6. 启动svn服务

svnserve -d -r /svn/project/

注意:不要使用系统提供的 /etc/init.d/svnserve start 来启动,因为系统默认的启动脚本中没有使用 –r /svn/project参数指定一个资源。这种情况下启动的svn服务,客户端连接会提示“svn: No repository found in 'svn://192.168.11.229/project' ”这样的错误。

默认svn服务器端口是3690。

杀死svn服务:

  1. # ps -ef|grep svn   
  2. root 4642 1 0 16:08 ? 00:00:00 svnserve -d -r /svn/project/   
  3. root 4692 3676 0 16:13 pts/2 00:00:00 grep svn   
  4. # kill -9 4642  

若要使用/etc/init.d/svnserve 脚本,可以修改start()函数部分,如下:

  1. start() {   
  2. [ -x $exec ] || exit 5   
  3. [ -f $config ] || exit 6   
  4. echo -n $"Starting $prog: "   
  5. daemon --pidfile=${pidfile} $exec $args -r /svn/project   
  6. retval=$?   
  7. echo   
  8. [ $retval -eq 0 ] && touch $lockfile   
  9. return $retval   
  10. }   

完成 

2 使用客户端连接

2.1 使用windows的客户端

打开TortoiseSVN Repository Browser工具

在URL中输入:

svn://192.168.11.229回车,提示输入用户名和口令

2.2 使用Linux下的命令行

  1. # svn co svn://192.168.11.229  

3 FAQ

3.1 命令行方式连接,提示svn: No repository found in 'svn://192.168.11.229/project'错误?

解决:启动svn服务的时候没有使用-r /svn/project参数,没有指明资源库的具体路径。使用# svnserve -d -r /svn/project/ 命令来启动就可以了,不要使用/etc/init.d/svnserver脚本。

3.2 执行命令# svn co svn://192.168.11.229/project时提示“svn: Authorization failed”错误?

解决:一般这种授权失败的错误原因都来自conf/authz文件的配置

正确的配置如下:

  1. [groups]   
  2. admin = xiaoran.shen,test1   
  3. user = test2   
  4. [/]   
  5. @admin = rw   
  6. @user = rw   
  7. * =  

保存

原文链接:http://my.oschina.net/lionel45/blog/298305

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 直播间没一个人怎么办 快手直播人少怎么办 快手直播人气少怎么办 被火山主播踢出房间怎么办 遇到同事的排挤怎么办 交警处理事故不公平怎么办 派出所处理事情不公平怎么办 淘宝号不健康了怎么办 作业盒子忘记密码怎么办 一起作业忘记密码怎么办 手机不能录视频怎么办 网络机顶盒连不上wifi怎么办 obs游戏源黑屏怎么办 微信视频打不开怎么办? xp关闭hdmi声音怎么办 大锅天线无信号怎么办 人喝酒喝醉了怎么办 电信网络电视不清楚怎么办 饭店老板拖欠员工工资怎么办 出国旅游不会英语怎么办 香港转机21小时怎么办 动车坐过站了怎么办 在美国开车超速怎么办? 办出国旅游护照怎么办 中关村三小午饭怎么办 电视不能看直播怎么办 电视系统无信号怎么办 电视视频无信号怎么办 大锅盖没有信号怎么办 锅盖天线没信号怎么办 锅盖天线信号低怎么办 小米盒子没信号怎么办 有线电视没台了怎么办 宝马液晶屏碎了怎么办 电视显示屏坏了怎么办 索尼电视x8000c黑屏怎么办 电视合子不用了怎么办 电视色调为0怎么办 电视机电源线断了怎么办 小米mix2s照相卡怎么办 创维系统损坏怎么办