首页 > 代码库 > linux下安装svn(基于编码的方式)

linux下安装svn(基于编码的方式)

svn是什么,相信能看到这里的同学应该不会有这个问题了,费话不多说,开始:

1、创建目录

mkdir /home/svn/

2、获取安装svn所需源文件(svn的官方网址是http://subversion.tigris.org)

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

 

2、解压

tar zvxf subversion-1.6.1.tar.gz

tar zvxf subversion-1.6.1.tar.gz

上面二个压缩文件解压后会放到同一个文件下subversion-1.6.1

 

3、安装(这里仅按默认的configure)

此时我们运行./configure,会发现重现了错误:

no acceptable C compiler found in $PATH

是因为我们缺少的C的编译环境。这里我们采用yum来安装gcc(C的编译器,好像也是支持java,C#的)

yum  install gcc.i386


4、步骤3正常运行正常情况下再来./configure

发现报

configure: error: We require OpenSSL; try --with-openssl

提示我们少了openssl(以防万一保证系统上下面两个都存在)

yum install openssl
yum install openssl-devel

 

5、步骤4运行正常情况下再来./configure

You don‘t seem to have Berkeley DB version 4.0.14 or newer
installed and linked to APR-UTIL. We have created Makefiles which
will build without the Berkeley DB back-end; your repositories will
use FSFS as the default back-end. You can find the latest version of
Berkeley DB here:
http://www.oracle.com/technology/software/products/berkeley-db/index.html

说明环境没有问题了

 

6、make

这一步要点时间

 

7、make install

这一步没问题

如果 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 install
测试是否安装成功

 

8、找到svn的安装目录,默认的./configure安装到了/usr/local/bin

svnserve --version

安装成功

svnserve, version 1.6.1 (r37116)
compiled Nov 6 2016, 06:07:24

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository back-end (FS) modules are available:

* fs_fs : Module for working with a plain file (FSFS) repository.

 

9、增加到环境变量中

vim /etc/profile

在最后面加上

SVNPATH=$PATH:/usr/local/
export SVNPATH

 

 

10、建个svn的根目录,因为项目不只一个

[zhangy@BlackGhost ~]$ mkdir -p /home/zhangy/www    #-p的意思是说如果没有父目录建之

 

11,建个仓库

[zhangy@BlackGhost ~]$ mkdir -p /home/zhangy/www/repos

[zhangy@BlackGhost www]$ svnadmin create /home/zhangy/www/repos/

 

12,导入数据

[zhangy@BlackGhost ~]$ svn import ./svntest file:///home/zhangy/www/repos -m "Initial repository test"
Adding         svntest/test.php

Committed revision 1.

 

13,修改svnserve.conf

[root@BlackGhost conf]# vi svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

 

14,目录控制文件authz

[root@BlackGhost conf]# vi authz
[groups]

admin= zhangy

[repos:/]
@admin = rw
* = r

 

15,修改用户密码文件passwd

[root@BlackGhost conf]# vi passwd

[users]
zhangy = root

 

16,启动svn

[root@BlackGhost www]# svnserve -d -r /home/zhangy/www

在这里特别的要注意,/home/zhangy/www是仓库的根目录,不要和[repos:/]目录重叠了。如果重叠是会提示你以下错误

[zhangy@BlackGhost checkout]$ svn co svn://127.0.0.1/
svn: Authorization failed

 

17,测试svn

checkout

[zhangy@BlackGhost checkout]$ svn co svn://127.0.0.1/repos
Authentication realm: <svn://127.0.0.1:3690> 3d0c32b1-3841-4518-b6b1-dcdb6c7ed716
Password for ‘zhangy‘:
-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

<svn://127.0.0.1:3690> 3d0c32b1-3841-4518-b6b1-dcdb6c7ed716

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the ‘store-plaintext-passwords‘ option to either ‘yes‘ or ‘no‘ in
‘/home/zhangy/.subversion/servers‘.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
A    repos/test.php
Checked out revision 1.

checkout的时候会出现Store password unencrypted,解决办法

vi /home/zhangy/.subversion/servers

找到以下内容,注释去掉并改成yes就行了

# store-plaintext-passwords = no

 

linux下安装svn(基于编码的方式)