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

    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] : 监听一次(调试时有用

  • 相关阅读:
    android 多线程
    Uva 10881 Piotr’s Ants 蚂蚁
    LA 3708 Graveyard 墓地雕塑 NEERC 2006
    UVa 11300 Spreading the Wealth 分金币
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    HDU 4162 Shape Number
    HDU 1869 六度分离
    HDU 1041 Computer Transformation
    利用可变参数函数清空多个数组
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4400244.html
Copyright © 2011-2022 走看看