zoukankan      html  css  js  c++  java
  • centos6.5-svn搭建文档

    下载相关软件

    wget http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz
    wget http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz

    一、查看是否安装了svn工具

    [root@CentOS6-node1 ~]# rpm -qa | grep subversion

    subversion-1.6.11-9.el6_4.x86_64

    [root@CentOS6-node1 ~]# rpm -e subversion

    卸载rpm包的svn安装包

     

    二、安装ssl

    [root@CentOS6-node1 ~]# rpm -qa |grep ssl

    openssl-devel-1.0.1e-15.el6.x86_64

    openssl-1.0.1e-15.el6.x86_64

     

    安装之后用命令找到opensslv.h所在的目录,

    [root@CentOS6-node1 ~]# find / -name opensslv.h

    /usr/include/openssl/opensslv.h

     

    .安装svn

    mkdir /opt/svn

    tar xf subversion-1.6.6.tar.gz  -C /opt/svn/

    tar xf subversion-deps-1.6.6.tar.gz  -C /opt/svn/

    cd /opt/svn/subversion-1.6.6/

    配置:

    ./configure --prefix=/usr/local/svn  --with-openssl=/usr/include/openssl --without-berkeley-db

    编译和安装

    make && make install

     

    创建软链接

    ln -s /usr/local/svn/bin/* /usr/local/bin/

     

     

    如果 make install 出现下面错误:
    /home/upload/subversion-1.6.6/subversion/svnversion/.libs/lt-svnversion: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
    make: *** [revision-install] Error 127

     

     

    解决办法:
    1、编辑/etc/ld.so.conf文件
    vi /etc/ld.so.conf
    添加下面一行代码
    /usr/local/lib
    2、保存后运行ldconfig:
    /sbin/ldconfig
    注:ld.so.conf和ldconfig用于维护系统动态链接库。
    3、然后再安装
    make && make install
    测试是否安装成功

     

    /usr/local/svn/bin/svnserve --version

    出现内容,说明安装成功

    到此svn安装完成。

     

     

    四、配置svn服务器

    1、建立SVN的根目录
    mkdir -p /data/svn/

    2、建立一个产品仓库
    mkdir -p /data/svn/tshop/

    svnadmin create /data/svn/tshop/

     

     

     

    3.修改版本库配置文件

    vim /data/svn/tshop/conf/svnserve.conf

     

    anon-access = none   #修改12行,将read改为none。注意这里必须设置,否则所有用户不用密码就可以访问

    password-db = passwd   #启用20行配置

    authz-db = authz        #启用27行配置

    修改完配置后,无需重启配置文件。立即生效

     

    4、开始设置passwd用户账号信息

    vim /data/svn/tshop/conf/passwd

     

    在最后一行开始添加用户信息。添加zhangsan,lisi用户

    adm = 123          #adm设置为运维的管理员,123为密码

    zhangsan = 123     #zhangsan设置为运维的管理员,123为密码

    lisi = 123          #开发账号

    wangwu = 456       #开发账号

     

    5.编辑权限

    vim /data/svn/tshop/conf/authz

     

    在实际生产中,我们可以将相同的部门人员添加到同一个组里。在最后一行开始配置。禁用掉上边的[groups][alias].我们在下边单独配置。


    [groups]    #定义组以及组成员 

    yunwei = adm,zhangsan  #向运维组中添加zhangsan,和lisi用户

    kaifa = lisi,wangwu

     

    以下为定义权限

    [/]

    @yunwei = rw

     

    [tshop:/wwwroot]

    @kaifa = rw

     

    解释:

    [/]:

        表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/data/svn/tshop/
    [tshop:/wwwroot]:

         表示对版本库tshop中的wwwroot项目设置权限;


    权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
    权限可以是w、r、wr和空,空表示没有任何权限。

     

    6、建立启动svn的用户
    useradd svn
    根据提示,为用户svn设置密码
    允许用户svn访问版本库:
    chown -R svn:svn /data/svn
    7、启动svn
    方式一:svnserve -d -r /data/svn/ #默认的启动端口号为3690

    方式二:su – svn -c “svnserve -d –listen-port 9999 -r /data/svn/”

     

    启动成功

    [root@CentOS6-node1 conf]# netstat -antp |grep svn

    tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      28750/svnserve

     

     

    五、安装客户端工具

    TortoiseSVN-1.8.10.26129-x64-svn-1.8.11  #安装包

    LanguagePack_1.8.10.26129-x64-zh_CN       #汉化包

    安装完毕后,将客户端设置为中文

    在桌面空白处,右击空白处

    六、客户端操作

    (1)点击版本库浏览器

    (2)输入svn版本库的根路径

     

    输入相应的用户名和密码。这里的用户名和密码就是我们在/data/svn/tshop/conf/passwd文件里设置的用户名和密码。这时候我们进入到了svn  tshop版本库的根目录里

    如果我们想切换用户,可以清除认证数据

    检出操作

    (3)我们进入到里面,创建两个文件夹,hello 和svn

    (4)我们在win7客户端检出服务器上的svn版本库中的内容

    检出完成

     

    我们进入到D盘的svn目录,发现里面有了hello和svn两个目录。

    注意:第二次在检出的时候,不需要再次点击检出了,只需要到D盘的svn目录中,右键svn更新即可。

    提交操作

    (1)我们在客户端的D盘中的svn目录中,创建测试文件夹kaifa,以及子文件

    右击点击svn提交。

     

    选择要提交的文件

    提交完毕。

    (2)登陆svn版本库浏览器。

    我们发现客户端的开发文件以及子目录已经到提交到svn的tshop版本库中。

    .版本还原

    进入到检出目录中(D:svn)

    选择要还原的版本即可还原

     

     

     

  • 相关阅读:
    动态规划之背包问题
    Python中import导入上一级目录模块及循环import问题的解决
    Anaconda介绍、安装及使用教程
    负载均衡基础知识
    TCP和UDP的区别(转)
    microsoft visual c++ 14.0 is required问题解决办法
    python使用requests时报错requests.exceptions.SSLError: HTTPSConnectionPool
    解决Anaconda无法更新的问题
    彻底的理解TCP协议的三次握手和四次分手
    android调试工具 adb命令学习
  • 原文地址:https://www.cnblogs.com/pangbing/p/6602103.html
Copyright © 2011-2022 走看看