zoukankan      html  css  js  c++  java
  • SVN完整安装及简略使用

    安装

    一、             获取资源

    (1)       apache Http Server 2.0.55 。  用于和 SVN 整合

    (2)       svn-1.3.2-setup.exe    SVN 服务器端

    (3)       TortoiseSVN-1.3.2.5840-svn-1.3.0.msi   SVN 的客户端

    (4)       LanguagePack_1.3.2_zh_CN.exe    tortoise 的语言包

    (5)       SVNService.zip    SVN 的一个第三方工具,将 SVN 用做 windows 后台服务

    二、             安装

    上面的 1 、 2 、 3 、 4 均为直接安装即可,注意在安装完 3 再安装四的时候要重启一下,然后将 5 解压到 2 中安装目录下的 bin 目录中。至此安装完毕

    三、             配置

    没什么好特别配置的。基本上安装好了就可以使用,使用方式是用 3 的客户端工具选择一个空的文件夹右键 ---- à 在此创建文件库。一个 SVN 的仓库文件就创建完毕。因为要考虑到后面的 apache 的整合所以建议名字不要太专一性,然后转到项目或者你想加入版本控制的文件或者文件夹上面,点右键选择导入,在弹出的对话框里面输入仓库地址,执行导入完毕后一个完整的文件版本诞生了。

    注意:在导入时 3 中的客户端默认是导入当前文件夹的子文件夹,所以如果你想将当前目录也导入的话,请将他放入一个文件夹内再执行导入操作。

    然后是仓库的配置:转到仓库目录的 conf 中,寻找 svnserve.conf 文件并将其中的

    [general]

    anon-access = read

    auth-access = write

    password-db = passwd

    realm = My First Repository

    前面的 # 号去掉,然后去掉他前面的空格。保存。

    这里的意思是: anon-access 指 匿名访问的权限,可以是 read,write,none, 默认为 read

    auth-access 指 认证用户的权限,可以是 read,write,none, 默认为 write

    password-db 指 密码数据库的路径,去掉前面的,存的是认证用户的用户名和密码, username=passwd

    然后是修改 passwd 文件

    1. 去掉 [users] 前面的 #, 否则 svn 只能以匿名用户登录,客户端不会出现登录窗口,除非你的 anon 不为 none, 否则将返回一个错误。

    2. 添加用户名和密码  username=password

    四、        启动 SVN 服务器

    对于单个代码仓库

    启动命令   svnserve -d -r /home/svnrepo --listen-host 192.168.100.200

    其中 -d 表示在后台运行, -r 指定服务器的根目录,这样访问服务器时就可以直接用 svn:// 服务器 ip 来访问了。如果服务器有多 ip 的话 --listen-host 来指定监听的 ip 地址 .

    我们可以在 svn 客户端中通过 svn://192.168.100.200 来访问 svn 服务器

    对于多个代码仓库 , 我们在启动时也可以用 -r 选项来指定服务器根目录 , 但访问时需要写上每个仓库相对于 svn 根目录的相对路径 .

    比如 , 我们有两个代码仓库 /home/repoa 和 /home/repob, 我们用 svnserve -d -r /home --listen-host 192.168.100.200 来启动 , 那么在客户端访问时可以用 svn://192.168.100.200/repoa 和 svn://192.168.1.200/repob 来分别访问两个项目

    启动完成以后 , 我们可以用 ps aux|grep svnserv 来查看是否存在 svnserve 进程 .

    五、        开放服务器端口

    svn 默认端口是 3690 ,你需要在防火墙上开放这个端口。

    也可以通过 svnserve 的 --listen-port 选项来指定一个已经开放的其他端口 , 不过这样的话客户端使用也必须家上端口 , 如 svn://192.168.100.200:9999/ 。

    六、        与 apache 的整合

    各種存取 repository 的方法

    SVN 設計時已經把 repository 的存取抽象化了,所以理論上,只要是可以進行資料傳送的方法或通訊協定,就可以用來存取 repository。

    實際上,SVN 目前能支援的存取方法還是有限的,不過也比它的前輩 CVS 多了一些,而且未來還可以繼續擴充。 SVN 存取 repository 的方法要在 URL 的通訊協定部分指定,可以有:

    file:///

    直接存取本地檔案系統裡的 repository。

    http://

    透過支援 SVN 的 Apache 伺服器 (以 module 的形式),以 WebDAV 存取

    https://

    一樣是用 WebDAV,但加上 SSL

    svn://

    以自訂的通訊協定,連接 svnserve 來存取 repository

    svn+ssh://

    和 svn:// 一樣,但透過 ssh 協定作 tunnel

     

    另一种比较常用的使用SVN的方式是将其与apache整合。通过http协议来访问代码,通过web界面来浏览察看,通过http服务器的安全控制来进行权限认证。

    安装要点记录如下:

    0 假设安装Apache至D:\Apache2

    1 复制%SVN_HOME%\bin\libdb42.dll、libeay32.dll、以及 ssleay32.dll到%APACHE_HOME%\bin

    2 复制%SVN_HOME%\httpd\*.so到%APACHE_HOME%\modules

    3 修改%APACHE_HOME%\conf\httpd.conf,增加或修改:

        LoadModule dav_module modules/mod_dav.so

        LoadModule dav_fs_module modules/mod_dav_fs.so

        LoadModule dav_svn_module modules/mod_dav_svn.so

        LoadModule authz_svn_module modules/mod_authz_svn.so 

    4 在<VirtualHost>中增加/svn的<Location>

        <Location /svnserver>

    DAV svn

    SVNPath D:/SVNDIR/taowap

    </Location>

    5 重起apache,通过浏览器访http://localhost/svnserver可看到Subversion的信息。 

    在访问控制的方面,可以采用windows域用户身份验证。此处也可以用mysql,passwd文件,LDAP等其他任何Apache支持的验证方式。

    此处我采用文件方式,首先建立一个保存密码的文件,如果不需要对密码加密,可增加-p参数生成plain text。

    %APACHE_HOME%\bin\htpasswd –c -p d:\passwd\passwords user1

    生成的文件内容如下:

        # 格式username:password

        user1:123456

    如果要按照Group的方式来控制权限,可同时建立一个groups文件,内容如下:

        # 格式:GroupName: username1 username2

        svngroup: user1 user2

    在httpd.conf中的/svnserver处增加权限控制部分:

        <Location /svnserver>

        DAV svn

        # 指向SVN Repository的ROOT

        SVNPath d:/svnrepo

       

        AuthType Basic

        AuthName "Subversion Repository"

        AuthUserFile d:/passwd/passwords

        AuthGroupFile d:/passwd/groups

        Require group svngroup

        </Location>

    重起服务器,浏览http://localhost/svnserver,出现安全对话框,输入用户名密码即可成功。 

    七: 附: svnserve [ 选项 ]
    有效选项:
     -d [--daemon]            : 后台模式
     --listen-port arg        : 监听端口(后台模式)
     --listen-host arg        : 监听主机名或 IP 地址(后台模式)
     --foreground             : 在前台运行(调试时有用)
     -h [--help]              : 显示这个帮助
     --version                : 显示版本信息
     -i [--inetd]             : inetd 模式
     -r [--root] arg          : 服务根目录
     -R [--read-only]         : 不赞成;使用档案库配置文件
     -t [--tunnel]            : 隧道模式
     --tunnel-user arg        : 隧道用户名(模式是当前用户 UID 的名字)
     -T [--threads]           : 使用线程代替进程
     -X [--listen-once]       : 监听一次(调试时有用)

     

    参考:http://doc.zoomquiet.org/data/20050617140221/

    http://u.huoban001.com/space.php
  • 相关阅读:
    libev & libevent简介
    MyEclipse10+Flash Builder4+BlazeDS+Tomcat7配置J2EE Web项目报错(一)
    增加表空间大小的四种方法
    JavaScript获取某年某月的最后一天
    Not in 改写左连接不需要关注连接列是否重复数据
    自连接
    左链接,右连接
    In,内链接和空值
    HighCharts基本折线图
    NetBeans运行项目报错
  • 原文地址:https://www.cnblogs.com/zpq521/p/zpq521.html
Copyright © 2011-2022 走看看