Linux下安装SVN,仓库创建,用户权限管理

1.SVN安装

  Ubuntu系统下安装:sudo apt-get install subversion

  源码安装:1.下载:archive.apache.org/dist/subversion   

                2.解压:tar xvf   subversion-0.19.1.tar.gz

         3.移动:sudo mv  subversion-0.19.1   /usr/svn

                            4.进入:/usr/svn,配置:./configure   --prefix=/usr/svn

        5.编译:make

        6.安装:make install

        7.设置环境变量:vi    /etc/profile   加入:export PATH=/usr/svn/bin:$PATH

        8.测试:svn    -h

可能依赖的安装包:

  gcc(gcc/c++.x86_64)

  apr(apr-devel.x86_64)

  apr-util(apr-util-devel.x86_64)

  sqlite(sqlite-devel.x86_64)

  zlib(zlib-devel.x86_64)

编译,出现错误

 

make[2]: Entering directory `/usr/svn/apr/network_io/unix'
make[3]: Entering directory `/usr/svn/apr/network_io/unix'
/bin/bash /usr/svn/apr/libtool --silent --mode=compile gcc -g -O2 -pthread -DHAVE_CONFIG_H -D_REENTRANT -D_GNU_SOURCE -I../../include -I../../include/arch/unix -I../../include/arch/unix -c sockopt.c && touch sockopt.lo
sockopt.c: In function 'apr_socket_opt_set':
sockopt.c:242:27: error: 'SCTP_NODELAY' undeclared (first use in this function)
optname = SCTP_NODELAY;
^
sockopt.c:242:27: note: each undeclared identifier is reported only once for each function it appears in
make[3]: *** [sockopt.lo] Error 1
make[3]: Leaving directory `/usr/svn/apr/network_io/unix'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/svn/apr/network_io/unix'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/svn/apr'
make: *** [external-all] Error 1

 

 

2.SVN仓库的创建与配置

   1.建立版本库目录:mkdir -p /usr/svn/svndata

   2.建立版本库:svnadmin create /usr/svndata/repo1

    执行该命令后自动在repos目录下添加必须的配置文件

      conf db format hooks locks README.txt

      conf中的四个配置文件:authz  hooks-env.tmpl  passwd  svnserve.conf

       svnserve.conf  #svn版本库配置文件

       passwd     #svn用户配置

       authz      #权限配置

       hooks-env.tmpl  #环境变量配置实例

    修改版本库配置文件:

        vi svnserve.conf配置如下:

        [general]

        anon-access = none    #使非授权用户无法访问

        auth-access = write    #使授权用户有写权限

        password-db = passwd  #指明密码文件路径

        authz-db = authz     #访问控制文件

    配置用户: vi  passwd 配置说明如下:

        [users]

         user1 = 123    #用户名 = 密码

         user2 = 123    #用户名 = 密码

    配置权限:vi authz 常用配置说明如下:

        [group]

        group1 = user1,user2  #组中用户与passwd中对应

        [repo1:/]

        user1 = rw       #单用户

        @group1 = rw     #@表示组

        *=r          #表示所有用户

        仓库下目录配置

        [repo1:/folder1]    #仓库下的folder1目录,权限配置与上面相同

  启动服务:svnserve -d  -r   /usr/svn/svndata   (注:服务启动的路径为仓库路径或者仓库上级路径都可以)

  访问版本库:svn://ip/repo1

   对版本库进行检出操作(下载):svn checkout svn://ip/repo1  --username=user01

  查看文件状态:svn status

  添加文件:svn add file

  提交:commit -m “注释”

 

3.多项目多仓库管理

  创建公共配置文件,可以移动上例中的passwd,authz到svndata中

  修改仓库配置文件svnserve.conf将用户与权限配置指向公共配置

  配置权限加入多仓库配置

 

posted @ 2017-06-17 15:13  hello,123456  阅读(9474)  评论(0编辑  收藏  举报