zoukankan      html  css  js  c++  java
  • Linux SVN 搭建(YUM)安装

    安装说明

    系统环境:CentOS
    安装方式:yum install (源码安装容易产生版本兼容的问题)
    安装软件:系统自动下载SVN软件

     

    Linux svn服务端配置

    检查已安装版本

    #检查是否安装了低版本的SVN
    [root@localhost /]#rpm -qa subversion

    #如果存储旧版本,卸载旧版本SVN
    [root@localhost modules]#yum remove subversion

    安装SVN

    [root@localhost modules]#yum install subversion 

    验证安装

    检验已经安装的SVN版本信息
    [root@localhost modules]# svnserve --version

    svnserve,版本 1.6.11 (r934486)
    编译于 Jun 23 201200:44:03

    版权所有 (C) 2000-2009 CollabNet
    Subversion 
    是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
    此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。

    下列版本库后端(FS) 模块可用:

    * fs_base : 模块只能操作BDB版本库。
    * fs_fs : 
    模块与文本文件(FSFS)版本库一起工作。

    Cyrus SASL 认证可用。

    代码库创建

    SVN软件安装完成后还需要建立SVN
    [root@localhost modules]#mkdir -p /opt/svn/             #
    创建SVN根目录
    [root@localhost modules]#svnadmin create /opt/svn/repo         #
    创建repo测试库
    执行上面的命令后,自动建立repo测试库,查看/opt/svn/repo 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

    配置代码库

    进入上面生成的文件夹conf下,进行配置
    [root@localhost modules]#cd /opt/svn/repo/conf

    用户密码passwd配置

    [root@localhost password]#cd /opt/svn/repo/conf
    [root@admin conf]#vim passwd
    修改passwd为以下内容:

    [users]
    # harry = harryssecret
    # sally = sallyssecret

    hello = 123

    aaa = 123

    www = 123

    用户名=密码

    这样我们就建立了hello用户, 123密码

    以上语句都必须顶格写左侧不能留空格否则会出错.

    权限控制authz配置

    [root@admin conf]#vim authz
    目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

    [groups]            #

    admin = hello,www   #创建一个admin组,将用户加入到组

    [/]                 #根目录权限设置(就是“svn”这个文件夹)

    aaa = rw            #aaasvn下的所有版本库有读写权限

    [repo:/]            #repo:/,表示对repo版本库下的所有资源设置权限

    @admin = rw         #admin组的用户对repo版本库有读写权限

    [repo2:/occi], ,表示对版本库repo2中的occi项目设置权限

    [repo2:/occi/aaa], ,表示对版本库2中的occi项目的aaa目录设置权限  权限主体可以是用户组、用户或*,用户组在前面加@*表示全部用户。权限可以是wrwr和空,空表示没有任何权限。

    以上语句都必须顶格写左侧不能留空格否则会出错.

    服务svnserve.conf配置

    [root@admin conf]#vim svnserve.conf

    追加以下内容:

    [general]
    #
    匿名访问的权限,可以是read,write,none,默认为read
    anon-access = none
    #
    使授权用户有写权限
    auth-access = write
    #
    密码数据库的路径
    password-db = passwd
    #
    访问控制文件
    authz-db = authz
    #
    认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字

    realm = /opt/svn/repo

    以上语句都必须顶格写左侧不能留空格否则会出错.

    配置防火墙端口(或直接关闭防护墙)

    [root@localhost conf]#vim /etc/sysconfig/iptables
    添加以下内容:
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
    保存后重启防火墙
    [root@localhost conf]#service iptables restart

    启动SVN

    svnserve -d -r /opt/svn/         #指定SVN根目录

    查看SVN进程

    ps -ef|grep svnserve

    使用import导入文件

    svn import /mnt/ file:///opt/svn/repo/-m "注释"

    增加           /mnt/hgfs

    提交后的版本为 1

    检测SVN 端口

    [root@localhost conf]#netstat -ln |grep 3690
    tcp  0  0 0.0.0.0:3690    0.0.0.0:*     LISTEN

    停止重启SVN

    [root@localhost password]# killall svnserve //停止
    [root@localhost password]# svnserve -d -r /opt/svn/repo // 
    启动

    如果已经有svn在运行,可以换一个端口运行
    svnserve -d -r /opt/svn/ --listen-port 3391

     

    启服务器及测试:

    1,启SVN服务,并指定SVN的根目录:

    [root@youxia201 test]# svnserve -d -r/opt/svn/

    使用checkout导出文件

    在这里特别的要注意,/opt/svn是仓库的根目录,不要和[svntest:/]目录重叠了。如果重叠是会提示错误

    [root@localhost conf]# svn checkoutsvn://127.0.0.1/repo  #本机测试,必需写错127.0.0.1

    认证领域: <svn://127.0.0.1:3690>/opt/svn/repo

    root”的密码直接回车

    认证领域: <svn://127.0.0.1:3690>/opt/svn/repo

    用户名hello

    hello”的密码

     

    -----------------------------------------------------------------------

    注意你的密码,对于认证域:

     

     <svn://127.0.0.1:3690> /opt/svn/repo

     

    只能明文保存在磁盘上如果可能的话,请考虑配置你的系统,让 Subversion

    可以保存加密后的密码。请参阅文档以获得详细信息。

     

    你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,

    来避免再次出现此警告。

    -----------------------------------------------------------------------

    保存未加密的密码(yes/no)?yes

    取出版本 1

    不让它每次输入都提示yes/on的办法

    编辑vim /root/.subversion/servers   找到下行去掉#号将on改为yes上面绿色部分已提示

    store-plaintext-passwords = no

    ---------------------------------------------------------------------------------------------------------------------

    到此,SVN服务端就配置完成了

     

    Linux svn客户端配置

    检查已安装版本

    #检查是否安装了低版本的SVN
    [root@localhost /]#rpm -qa subversion

    #如果存储旧版本,卸载旧版本SVN
    [root@localhost modules]#yum remove subversion

    安装SVN

    [root@localhost modules]#yum install subversion 

    验证安装

    检验已经安装的SVN版本信息
    [root@localhost modules]# svnserve --version

    svnserve,版本 1.6.11 (r934486)
    编译于 Jun 23 201200:44:03

    版权所有 (C) 2000-2009 CollabNet
    Subversion 
    是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
    此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。

    下列版本库后端(FS) 模块可用:

    * fs_base : 模块只能操作BDB版本库。
    * fs_fs : 
    模块与文本文件(FSFS)版本库一起工作。

    Cyrus SASL 认证可用。

    SVN客户端下载文件

    [root@localhost ~]# mkdir /svn

    [root@localhost ~]# cd /svn/        #svn服务上提取的文件放在此目录下

    [root@localhost svn]# svn checkoutsvn://192.168.233.203/repo              #svn服务器地址

    输入用户名密码:hello/123

     

    :可以使用带用户名和密码的访问:

    svn co --username hello --password 123svn://192.168.233.203/repo

     

    SVN版本库更新

    svn up /svn/repo

    上传文件到服务器

    [root@localhost ]# touch /svn/repo/test.php        #所有的动作必须在repo版本库中完成

    [root@localhost ]# svn add /svn/repo/test.php           #上传test.php文件到svn服务器

    删除服务器上的文件

    [root@localhost ]# svn rm /svn/repo/test.php--force

    查看版本库内容

    [root@localhost ~]# svn list /svn/repo/

     

    ------------------------------------------------------------------------------------------------------------------------

    到此,SVN客户端就配置完成了

     

     

    创建版本库:
    终端输入:svnadmin create [路径]
    该路径可以是相对路径,例如,当前在home/user/svn/目录下,输入svnadmin create myproject,则该版本库会被创建在home/user/svn/目录下,新建一个文件夹名为myproject,其中便是版本库的文件了。

    将文件导入版本库:
    终端输入:svn import [源路径] [目标版本库路径] -m [日志信息]
    源路径可以是相对路径,导入时会递归导入源路径下的所有文件和文件夹,目标版本库路径需要绝对目录(反正我试验是这样的),例如版本库的目录是:home/user/svn/myproject/。则应该这样写:file:///home/user/svn/myproject/
    例如将当前目录导入版本库myproject
    svn import . file:///home/user/svn/myproject -m"
    导入文件"

    从版本库导出:
    导入后原文件并未被纳入版本管理,若想获得受版本控制的文件,就需要从版本库导出
    终端输入:svn co [版本库路径
    例如将myproject库中的文件导出到当前目录:svn co file:///home/user/svn/myproject .

     

  • 相关阅读:
    Adobe Flash Builder 4.5 Android Air 程序开发系列 之六 多点触控
    Adobe Flash Builder 4.5 Android Air 程序开发系列 之九 定位
    Adobe Flash Builder 4.5 Android Air 程序开发系列 之七 重力感应
    Adobe Flash Builder 4.5 Android Air 程序开发系列 之五 保存数据的几种方式
    Adobe Flash Builder 4.5 Android Air 程序开发系列 之八 照相机
    Adobe Flash Builder 4.5 Android Air 程序开发系列 之三 Application 配置详解
    Adobe Flash Builder 4.5 Android Air 程序开发系列 之四 打开与关闭应用程序是的保存数据
    ADOBE FLASH BUILDER 4.6 IOS 开发之部署与调试
    [译] 高性能JavaScript 1至5章总结
    页签及盒子的web标准实现
  • 原文地址:https://www.cnblogs.com/mlqin/p/4663922.html
Copyright © 2011-2022 走看看