linux 编译安装 svn 1.6.1

一、编译安装svn



1.  首先准备所需安装包

    yum -y install gcc gcc-c++ glib* expat expat-devel

2.   下载所需安装包(这些包都存放在/app/wodsy/soft/目录下)

       subversion-1.6.1.gz

      apr-1.5.1.tar.gz

      apr-util-1.5.3.tar.bz2

      sqlite-amalgamation-3071501.zip

3.    创建svn安装目录和apr安装目录

    mkdir -p /app/wodsy/subserver

    mkdir -p /app/wodsy/apr

4.    创建svn存放数据目录

    mkdir -p /app/wodsy/svndata

5.进入/app/wodsy/soft/将apr和apr-util编译安装

(1)  ./configure --prefix=/app/wodsy/svndata/repos/ --with-apr=/app/wodsy/apr/ --with-apr-util=/app/wodsy/apr/(编译安装apr)   

(2) ./configure --prefix=/app/wodsy/svndata/repos/ --with-apr=/app/wodsy/apr/ --with-apr-util=/app/wodsy/apr/(编译安装apr-util)

(3) 将 sqlite-amalgamation-3071501.zip解压到当前目录并改名为sqlite-amalgamation

(4) 将  subversion-1.6.1.gz 解压到当前目录

(5) 将  sqlite-amalgamation 拷贝到解压出来的 subversion-1.6.1 目录下

6、 进入subversion-1.6.1 目录编译安装svn

    ./configure --prefix=/app/wodsy/subversion/ --with-apr=/app/wodsy/apr/ --with-apr-util=/app/wodsy/apr/

    make && make install

7、查看subversion目录下会有这些文件并查看版本号就说明安装成功了

(1) ls /app/wodsy/subversion/

          bin  include  lib  share (有这些目录)

(2) cp -rf /app/wodsy/subversion/bin/svn* /usr/sbin/ (将svn命令加入系统命令)

(3)svnserve --version

    svnserve, version 1.6.1 (r37116)  (版本号为1.6.1)

     compiled Nov  4 2014, 20:48:43

8、创建svn版本库目录

   svnadmin create /app/wodsy/svndata/repos

9、启动svn服务就可以测试访问了

(1) svnserve -d -r /app/wodsy/svndata (启动svn命令)

          svnserve -d -r /app/wodsy/svndata  --listen-port=8899 (也可以添加端口启动svn)

(2)在客户端匿名访问测试

技术分享

技术分享

          出现这个画面说明可以访问svn服务

10、 配置svn路径

(1)穿件密码文件和目录文件存放目录

    mkdir -p /app/wodsy/svn/conf

(2) 编辑这个目录 vi /app/wodsy/svndata/repos/conf/svnserve.conf

将下面两行去掉注释 并且前面不允许有空格

anon-access = none                             不允许匿名用户登录

auth-access = write                            开启写权限

将下面两行去掉注释并添加密码文件和验证文件路径 (也可以使用默认的路径)

password-db = /app/wodsy/svn/conf/pwd.conf

authz-db = /app/wodsy/svn/conf/authz.conf

11、进入/app/wodsy/svn/conf/目录下创建 pwd.conf 和authz.conf 文件

vi pwd.conf 

[users]                          (此处存放用户名和用户密码 )

test1 = zxk123456

test2 = fhf123456

test3 = kfw123456

test4 = gy123456

test5 = st123456

.......
vi authz.conf

[groups]                      【groups】  表示 组

web = test1,test2              [web]      表示组名,等号后面的是用户    

app = test3,test4

admin = test5

.....

[/]                             【/】     表示 repos 版本库目录

@admin = rw                     【@admin】表示管理员组中的用户对根目录有读写权限

[/WEB]                          【/WEB】  表示 repos/WEB 版本库下的项目目录 

@web = rw                       【@web】  表示web组中的用户只对 WEB 目录有读写权限,对其他目录                                           无权限 

........                         


注意:这些目录比如【/WEB】等目录都需要提前在客户端先创建好,                                  再添加到配置文件中,并重启svn服务才会生效

12、此时再去访问就需要添加用户名和密码才可已访问相应的目录

  【访问时直接访问repos目录就可以,例如:  svn://192.168.112.128/repos】



二、svn数据的备份和迁移

1、源服务器: A

使用svnadmin dump指令将源服务器上的svn库备份成一个文件 svn_bak

将/app/wodsy/svndata/repos库备份成svn_bak 文件,操作如下:

svnadmin dump /app/wodsy/svndata/repos > /root/svn_bak

并将 svn_bak 文件上传到B服务器上

2、目标服务器:B

请先在目标服务器上安装好svn服务

还原svn版本库如下:

svnadmin load /app/wodsy/svndata/repos < /root/svn_bak

请记住:svnadmin load 版本库的时侯,库一定要干净的,即(svnadmin create /app/wodsy/svndata/repos ) 之后是新的.

注意:如果两边的版本库目录结构部一样需要修改 authz.conf 文件


再将 pwd.conf 和authz.conf 文件拷贝到目标服务器上,目录结构必须相同

导入成功即还原完成.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。