• svn部署维护文档


    环境简介

    机器地址:10.2.2.18(sit-admin)

    操作系统:Red Hat Enterprise Linux Server release 6.6 (Santiago)

    10.77.5.51至10.77.5.58为内网开发人员电脑IP,故只针对10.77.5.51至10.77.5.58开放端口:22、3690、80、1521、3306

    SSH账户:root/password

    svn版本及依赖包

    软件包链接:svn安装部署相关软件包-IT管理文档类资源-CSDN下载

    安装版本subversion-1.9.4(不同版本可能会有不同的软件依赖),系统环境需要有gcc等C编译软件;具体安装包依赖信息可以参考subversion-1.9.4下的INSTALL文件。

    安装步骤

    1.将上面下载的安装包都放置到目录: `~/svn-install`,如有目录差别,自行调整。

    2.解压安装包

            分别解压安装包到/usr/local/src/目录下,其中sqlite-amalgamation-3130000.zip解压到/usr/local/src/subversion-1.9.4/下并重命名,命令行如下:

    [root@sit-admin svn-install]# tar -xvf subversion-1.9.4.tar.bz2 -C /usr/local/src/

    [root@sit-admin svn-install]# tar -xvf apr-1.5.2.tar.bz2 -C /usr/local/src/

    [root@sit-admin svn-install]# tar -xvf apr-util-1.5.4.tar.bz2 -C /usr/local/src/

    [root@sit-admin svn-install]# tar -xvf zlib-1.2.8.tar.xz -C /usr/local/src/

    [root@sit-admin svn-install]# unzip sqlite-amalgamation-3130000.zip -d /usr/local/src/subversion-1.9.4/

    [root@sit-admin svn-install]# cd /usr/local/src/subversion-1.9.4/

    [root@sit-admin subversion-1.9.4]# mv sqlite-amalgamation-3130000 sqlite-amalgamation

    3.安装apr-1.5.2

    [root@sit-admin subversion-1.9.4]# cd /usr/local/src/apr-1.5.2/

    [root@sit-admin apr-1.5.2]# ./configure --prefix=/usr/local/apr-1.5.2/

    [root@sit-admin apr-1.5.2]# make && make install

    4.安装apr-util-1.5.4

    注意:必须在apr安装完成后

    [root@sit-admin apr-1.5.2]# cd /usr/local/src/apr-util-1.5.4/

    [root@sit-admin apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util-1.5.4/ --with-apr=/usr/local/apr-1.5.2/

    [root@sit-admin apr-util-1.5.4]# make && make install

    5.安装zlib-1.2.8

    [root@sit-admin apr-util-1.5.4]# cd /usr/local/src/zlib-1.2.8/

    [root@sit-admin zlib-1.2.8]# ./configure --prefix=/usr/local/zlib-1.2.8/

    [root@sit-admin zlib-1.2.8]# make && make install

    6.安装subversion-1.9.4

    [root@sit-admin zlib-1.2.8]# cd /usr/local/src/subversion-1.9.4/

    [root@sit-admin subversion-1.9.4]# ./configure --prefix=/usr/local/subversioni-1.9.4 --with-apr=/usr/local/apr-1.5.2/ --with-apr-util=/usr/local/apr-util-1.5.4/ --with-zlib=/usr/local/zlib-1.2.8/

    [root@sit-admin subversion-1.9.4]# make

    [root@sit-admin subversion-1.9.4]# make install

    7.配置环境变量(可选)

    在/etc/profile文件的末尾加入 SVN Path 以方便操作(注意备份):

    [root@sit-admin subversion-1.9.4]# vi /etc/profile

    1. PATH=$PATH:/usr/local/ subversioni-1.9.4/bin
    2. export PATH

    测试是否安装成功:

    [root@sit-admin subversion-1.9.4]# svnserve –-version

    为操作系统增加一个svn的用户(可选)

    1.建立svn版本库目录

    [root@sit-admin opt]# mkdir -p /opt/svndata

    2.为运行svn设置专用的用户组

    [root@sit-admin opt]# groupadd svn

    3.为运行svn设置专用的用户,同时指定home目录为:/opt/svndata

    [root@sit-admin opt]# useradd -d /opt/svndata -g svn svn

    4.为运行svn专用用户设置密码svn

    [root@sit-admin opt]# passwd svn

    5.开始切换为svn用户进行后续操作

    [root@sit-admin opt]# su -l svn

    建立svn代码库

    1.为即将创建的代码库建立一下文件夹

    [svn@sit-admin opt]# mkdir -p /opt/svndata/repos

    2.建立代码库,/opt/svndata/repos/为代码库所在文件夹

    [svn@sit-admin opt]# svnadmin create /opt/svndata/repos

    svn用户配置

    1.设置认证相关的配置

    [svn@sit-admin opt]# vi /opt/svndata/repos/conf/svnserve.conf

    1. #匿名用户可读
    2. anon-access = read 
    3. #授权用户可写
    4. auth-access = write 
    5. #指定账号和密码配置文件,默认从与svnserve.conf同目录,即conf/下查找相关文件
    6. password-db = passwd 
    7. #指定权限配置文件,默认从与svnserve.conf同目录,即conf/下查找相关文件
    8. authz-db = authz
    9. #认证域,这个值会显示在登入时提示的“认证域”名称,默认值是分配给这个版本库的一个UUID,为了直观,我们可以将其设定为版本库的名称
    10. realm = /opt/svndata/repos

    2.设置帐号和密码

    [svn@sit-admin opt]# vi /opt/svndata/repos/conf/passwd

    在[users]块中添加用户和密码,格式:帐号=密码,如:

    1. [users]  
    2. abc@abc.com = abc@abc.com
    3. gsz@abc.com = gsz@abc.com

    3.设置用户的读写权限

    [svn@sit-admin opt]# vi /opt/svndata/repos/conf/authz

    注意:

    * 权限配置文件中出现的用户名必须已在用户配置文件中定义。

    * 对权限配置文件的修改立即生效,不必重启svn。

    格式示例:

    1. [groups]
    2. dev = abc@abc.com,gsz@abc.com
    3. [/]
    4. @admin = rw
    5. [/abc/aaa]
    6. test2 = rw
    7. [/pass]
    8. test3 =

    其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

    版本库目录格式:

    [/项目/目录]

    @<用户组名> = <权限>

    <用户名> = <权限>

    其中,方框号内部分可以有多种写法:

    [/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/opt/svndata,[/]就是表示对全部版本库设置权限。

    [/] 表示对版本库repos设置权限

    [/abc] 表示对版本库repos中的abc项目设置权限

    [/abc/aaa] 表示对版本库repos中的abc项目的aaa目录设置权限

    权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。

    权限可以是w、r、wr和空,空表示没有任何权限。

    4.启动svn server (默认端口3690)

    [svn@sit-admin opt]# svnserve -d -r /opt/svndata/repos/

    注:同一台服务器可以运行多个svnserver,只需要启动时换一个端口即可:

    [svn@sit-admin opt]# svnserve -d -r /opt/svndata/another-repo/ --listen-port 3691

    5.关闭svn server

    [svn@sit-admin opt]# ps –ef | grep svn

    获取到pid

    通过kill进程关闭服务。

  • 相关阅读:
    湖仓一体(Lakehouse)是什么?
    进程的创建与替换
    LoadRunner脚本编写之三(事务函数)
    PHP自己的框架2.0结合容器技术(重构篇二)
    设计模式—命令模式
    Mysql - 读写分离与读负载均衡之Maxscale
    1668、最大重复子字符串(暴力+KMP+strstr)
    “我竟是公司唯一一位女版图工程师”,跨行模拟版图学习要点分享
    Lifetime improvement through adaptive reconfiguration for nonvolatile FPGAs
    ThreadLocal源码解析 2.ThreadLocalMap内核
  • 原文地址:https://blog.csdn.net/qingzhukl/article/details/125887303