SVN入门介绍服务器端如何配置

开发 项目管理
本文和大家学习一下SVN入门介绍中服务器端的配置,Web服务器部署可以有三种选择,在这里分享一下其配置方法,欢迎大家一起来学习。

上节我们讲到SVN入门介绍中客户端的使用,本节向大家讲解一下SVN入门中服务器端的配置,在这里和大家分享一下,希望通过本节的学习,大家能够对SVN服务器端的配置方法有所了解。

二、服务器端的配置
Web服务器部署可以有三种选择,配置由简单到复杂排列为
·svnserve
·svnserveoverSSH
·Apache+mod_dav_svn模块
下面从最简单的入手,介绍svnserve。
[更新]Windows下服务器端的配置可以使用VisualSVNServer进行傻瓜化安装。
官方网站:http://www.visualsvn.com/
参考链接:VisualSVN系列介绍(有详细的安装过程介绍,这里就不转述了)
2.1&2.2配置svnserve
svnserve是一个轻型的服务器,可以同客户端通过在TCP/IP基础上的自定义有状态协议通讯,客户端通过使用开头为svn://或者svn+ssh://svnserve的URL来访问一个svnserve服务器。SVN入门介绍Linux下svnserver如何配置。
2.1Linux下的svnserve配置
2.1.0同样地,使用命令$sudoapt-getinstallsubversion
2.1.1svnserve作为独立守护进程,监听请求
  $svnserve-d
  $#svnserveisnowrunning,listeningonport3690
  ——可以使用--listen-port=[端口号]来指定端口,或者--listen-host=[主机名]来指定主机名
  假定已经建立一个版本库位于/usr/local/repositories/project路径(版本库的建立稍后提及),此时客户端可以使用svn://[主机]/usr/local/repositories/project来进行访问
  ——可以使用-r选项来限制只输出指定路径下的版本库,从而使客户端访问更为简洁:
  $svnserve-d-r/usr/local/repositories
  则客户端只要使用svn://[主机]/project就可以访问
2.1.2通过inetd使用svnserve
  $svnserve-i
  ——此时svnserve会尝试使用自定义协议通过stdin和stdout来与subversion客户端通话,默认端口为3690。可以在/etc/services添加如下几行:
  svn3690/tcp#subversion
  svn3690/udp#subversion
  ——如果是使用经典的类Unix的inetd守护进程,可以在/etc/inetd.conf添加如下行,则如果有客户连接来到端口3690,inetd会产生一个svnserve进程来做服务
  svnstreamtcpnowaitsvnowner/usr/bin/svnservesvnserve-i。下面看一下SVN入门介绍中如何设置svnserve的内置认证。
2.1.3设置svnserve的内置认证
编辑版本库目录的conf/svnserve.conf文件:
 1)设置匿名访问
  [general]
  anon-access=none#无权限
  anon-access=read#只读
  anon-access=write#打开匿名的写访问,但这样很危险,不能控制谁来修改版本库
 2)使用用户和密码
 2.1)定义保存用户名和密码的文件和一个认证域
  [general]
  password-db=<userfile>#指出保存用户和密码列表的文件,可以是绝对或相对路径
  realm=examplerealm#定义认证域
  anon-access=read
  auth-access=write
 2.2)然后在userfile文件中指明用户名和密码:(格式为“用户名=密码”)
  [users]
  harry=foopassword
  sall=barpassword。下面SVN入门介绍一下Windows下的svnserve配置。
2.2Windows下的svnserve配置
2.2.0安装svnserve
1)从http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91得到***版本的Subversion
(如果之前已经安装了subversion,svnserve已经在服务器上运行,需要先停止服务)
2)安装subversion,然后进入subversion的安装目录,找到bin目录下的文件svnserve.exe,int13_svn.dll,libapr.dll,libapriconv.dll,libapriutil.dll,libdb*.dll,libeay32.dll和ssleay32.dll,将它们复制到服务器目录下(如C:\svnserve)。
2.2.1以守护方式运行svnserve
在命令行窗口输入svnserve.exe--daemon,则svnserve将会在端口3690等待请求,--daemon选项告诉svnserve以守护进程方式运行,这样在手动终止之前不会退出。这种方式的不便之处是需要保持命令行窗口不关闭。
2.2.2svnserve作为windows服务
svnserve作为windows服务时,在后台运行,可以在启动时自动执行,并且可以使用同其他windows服务一致的管理界面启动和停止服务。
需要使用命令行工具sc.exe定义新的服务(createsvnserve),在windows启动时指明svnserve的调用:
  C:\>sccreatesvnserve
   binpath="\"c:\svnserve\svnserve.exe\"--service--rootc:\repos"
   displayname="Subversion"
   depend=tcpip
   start=auto
  ——注意为了回避目录名中的空格等字符,将整个binpath值放在双引号中;另外,sc的命令行很特殊。在key=value对中,key与=之间不能有空格,但是在value之前,必须有空格。
定义了服务之后,就可以使用GUI工具(如服务管理面板)进行停止、启动和查询,也可以通过命令行的方式进行:
  C:\>netstopsvn
  C:\>netstartsvn
  C:\>scdeletesvn(需要确定先停止了服务)
2.2.3设置svnserve的内置认证
同上Linux配置文件即可。SVN入门介绍Windows下如何设置svnserver内置认证。
2.3&2.4配置svnserve+ssh
2.3Linux下的svnserve+ssh配置
2.3.0介绍与安装ssh
  通过此方法,svnserve不会作为守护进程启动,而是SSH来启动svnserve,以SSH授权用户进行。
  $sudoapt-getinstallssh
2.3.1创建帐户
  $sudoadduser<username>#为参与项目开发的成员建立用户帐户
  $sudoaddgroup<groupname>#建立用户组
  $sudoaddgroup<username><groupname>#将用户帐户添加进用户组
2.3.2为成员生成密钥对
  首先必须切换为<username>的用户登陆Linux:
  $sudo<username>
  $(提示输入密码)
  $cd~/
  $whoami
  <username>$ssh-kegen-b1024-tdsa-N<passphrase>-f<filename>#使用DSA加密,也可以改为RSA加密
  ——这时产生两个文件:私钥<username>key和公钥<username>key.pub
  然后创建目录/home/<username>/.ssh,把公钥拷贝到该目录下:
  $cp<username>key.pub/home/<username>/.ssh/authrized_keys#文件名必须为authorized_keys。请期待下节关于SVN入门介绍。

【编辑推荐】

  1. SVN使用手册之入门篇
  2. SVN管理与应用相关的资料参考手册
  3. SVN入门教程使用手册
  4. 专家讲解 Linux中轻松实现SVN入门
  5. SVN服务器安装指导手册
责任编辑:佚名
相关推荐

2009-06-10 16:25:02

2010-05-31 19:41:17

SVN客户端配置

2015-11-04 14:14:56

HTTP网络协议

2010-04-21 13:18:33

RAC负载均衡配置

2010-06-02 19:40:55

搭建SVN版本库服务器

2010-06-02 19:26:41

搭建SVN版本库服务器

2014-01-15 10:06:30

vFlash

2012-10-15 13:40:15

IBMdw

2009-09-16 15:44:25

2010-06-01 19:06:27

删除SVN

2011-07-06 13:41:06

ASP.NET

2013-12-25 11:01:16

JavaScript

2011-06-07 16:01:46

Android 服务器 数据交互

2017-12-06 22:29:53

2011-09-08 10:21:50

Node.js

2015-06-25 19:33:49

用户体验游戏体验

2014-11-14 11:03:56

微软.NET

2023-06-30 08:00:00

漏洞网络安全SSTI

2017-11-15 09:49:03

运维服务器端系统

2021-07-27 06:14:32

服务器端移动端性能测试
点赞
收藏

51CTO技术栈公众号