1、去svn官网下载对应的svn服务端
官网地址:http://subversion.apache.org/news.html
或者直接用我的版本svn1.8以及用到的辅助包,百度网盘地址 http://pan.baidu.com/s/1c20mgfQ
直接解压安装svn包,如果少了什么包,在configure的时候就会提示,少了什么就安装什么
我参照的是:http://jingyan.baidu.com/article/3c343ff7039de20d37796306.html
大概就是这几个包
subversion-1.8.15.tar.gz
apr-1.5.1.tar.gz
apr-util-1.5.3.tar.gz
sqlite-autoconf.tar.gz
zlib-1.2.8.tar.gz
一般缺少的是是标红的这几个依赖包,所以先安装他们,最后安装subversion-1.8.15.tar.gz即可
1、安装步骤,这里只介绍一个包的安装步骤,因为其他包的安装步骤是一样的命令,就不多解释了。
a、解压
tar zxvf subversion-1.8.15.tar.gz
b、然后进入解压后的文件
cd subversion-1.8.15
c、然后执行如下命令,配置安装目录(/usr/local/svn/svnapp),这个安装目录可以自己设置路径
./configure --prefix=/usr/local/svn/svnapp
d、编译
make
e、运行
make install
所有包的安装步骤都是如此。
安装步骤虽然如此有两个点需要注意,
第一点:
zlib-1.2.8.tar.gz 的解压不是 tar zxvf 来解压的
而是tar vf zlib-1.2.8.tar.gz
第二点:配置apr-util-1.5.3.tar.gz
apr-util-1.5.3.tar.gz的安装目录时,需要添加依赖,--with apr
完整命令如下:
./configure --prefix=/usr/local/svn/apr-util --with-apr=/usr/local/svn/apr
黑色部分是apr包的安装目录,如果你配置apr的安装目录不在其他路径,就写其他路径
同理安装subversion-1.8.15.tar.gz的时候,需要依赖的包更加多,命令如下:
./configure --prefix=/usr/local/svn/svnapp --with-apr=/usr/local/svn/apr --with-apr-util=/usr/local/svn/apr-util--with-sqlite=/usr/local/svn/sqlite--with-zlib=/usr/local/svn/zlib --without-berkeley-db
依赖了上面所有的包,并且选择了不适用db形式
安装成功之后,配置环境变量:
特别注意:很多文档写的配置环境变量是添加一个新的变量
环境变量的配置:
vi /etc/profile
然后在文件的最下面添加
PATH=$PATH:/usr/local/svn/svnapp/bin
export PATH
千万不要单独写一个变量如
SVNPATH=$PATH:/usr/local/svn/svnapp/bin
export SVNPATH
这样会不起作用
保存之后执行
source profile
然后执行
env
即可看到刚刚配置的变量
这时候可以直接用命令查看svn
svnserve --version
既可以看到版本信息
当然正常情况是可以看到的,如果看不到,报错了,如我这种情况:
[root@localhost etc]# svnserve:/lib/libz.so.1:
no version information available (required by /usr/local/svn/svnapp/lib/libsvn_delta-1.so.0)
n/svnapp/lib/libsvn_delta-1.so.0)
解决办法如下1、:
表明安装成功,但出现了错误提示:svn: /usr/lib/libz.so.1: no version information available (required by /usr/local/subversion/lib/libsvn_delta-1.so.0)
这是libsvn_delta-1.so.0依赖的库/usr/lib/libz.so.1不可用导致的。错误追踪:
[root@www ~]# cd /usr/lib
[root@www lib]# ll libz*
-rwxr-xr-x 1 root root 92598 Jan 10 2007 libz.a
lrwxrwxrwx 1 root root 13 Apr 20 2010 libz.so -> libz.so.1.2.3
lrwxrwxrwx 1 root root 13 Oct 13 14:45 libz.so.1 -> libz.so.1.2.3
-rwxr-xr-x 1 root root 75028 Jan 10 2007 libz.so.1.2.3
[root@www lib]# ldd libz.so.1.2.3
linux-gate.so.1 => (0x00d8f000)
libc.so.6 => /lib/libc.so.6 (0x00c0f000)
/lib/ld-linux.so.2 (0x00bec000)
从上可以看到libz.so.1软链接到libz.so.1.2.3,libz.so.1.2.3是zlib-1.2.3生成的库,该库可能已被删除,而我已安装的zlib-1.2.5,见:
[root@www lib]# cd /usr/local/zlib/lib
[root@www lib]# ls
libz.a libz.so libz.so.1 libz.so.1.2.5 pkgconfig
[root@www lib]# ll libz*
-rw-r–r– 1 root root 101462 Oct 13 14:43 libz.a
lrwxrwxrwx 1 root root 13 Oct 13 14:43 libz.so -> libz.so.1.2.5
lrwxrwxrwx 1 root root 13 Oct 13 14:43 libz.so.1 -> libz.so.1.2.5
-rwxr-xr-x 1 root root 95004 Oct 13 14:43 libz.so.1.2.5
[root@www lib]# ldd libz.so.1.2.5
linux-gate.so.1 => (0x002f8000)
libc.so.6 => /lib/libc.so.6 (0×00134000)
/lib/ld-linux.so.2 (0x00bec000)
故可将/usr/lib/libz.so.1重新链接至/usr/local/zlib/lib/libz.so.1.2.5,如下:
--这里是备份而已
[root@www lib]# cp /usr/lib/libz.so.1 /usr/lib/libz.so.1.bak
--这里是备份而已
[root@www lib]# cp /usr/local/zlib/lib/libz.so.1.2.5 /usr/local/zlib/lib/libz.so.1.2.5.bak
--这句才是主角
[root@www lib]# ln -fs /usr/local/zlib/lib/libz.so.1.2.5 /usr/lib/libz.so.1
如果仍然不行,反正我是仍然不行,用下一种简单办法:
解决办法2:
上面的办法解决不了,用此覆盖即可,因为我用了上面的办法依旧不行,用了下面这种世界顿时安静了
#覆盖原版本,可以先备份一下原版本 , 找到我们原来安装zlib-1.2.8.tar.gz的安装目录,我的安装目录如下 /usr/local/svn/zlib/lib
[root@localhost lib]# pwd
/usr/local/svn/zlib/lib
[root@localhost lib]# ls
libz.a libz.so libz.so.1 libz.so.1.2.8 libz.so.1.2.8.bak pkgconfig
[root@localhost lib]#
然后在安装目录中执行如下代码:
cp libz.so.1 /lib/
其中/lib/ 是因为报错信息中有提示
[root@localhost etc]# svnserve: /lib/libz.so.1:
no version information available (required by /usr/local/svn/svnapp/lib/libsvn_delta-1.so.0)
n/svnapp/lib/libsvn_delta-1.so.0)
这时候在执行svnserver --version 再也没有错误了,世界安静了
好了,下面该说说配置了:
配置我参照的是:http://www.iitshare.com/linux-svn-installation-and-configuration.html
1、建立SVN的根目录,这里的路径可以自己设置,不一定是opt/svn,你可以放usr/svn13
mkdir -p /opt/svn/
2、建立一个产品仓库
mkdir -p /opt/svn/tshop/
这句是重点,这句执行完了之后,就会生产配置文件
svnadmin create /opt/svn/tshop/
如果你们的研发中心有多个产品组,每个产品组可以建立一个SVN仓库
3、修改版本配置库文件
cd /opt/svn/tshop/conf/
会有三个配置文件需要配置,这里统一截图
8、启动svn:
方式一:svnserve -d -r /opt/svn/ #默认的启动端口号为3690,我用的这种方式
方式二:su – svn -c “svnserve -d –listen-port 9999 -r /opt/svn/”
其中:
su – svn表示以用户svn的身份启动svn;
-d表示以daemon方式(后台运行)运行;
–listen-port 9999表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root权限;
-r /opt/svn 指定根目录是/opt/svn。
9、检查是否启动
netstat -tunlp | grep svn
10、剩下的就是本地用自己的客户端,上传文件下载文件了。不描述了,安
11、第二天过来发现上传的文件在服务器上看不到,
因为导入后,文件在版本库中是以特殊的形式存在db文件夹中的,不能以明文的方式查看。必须使用svn checkout导出工作副本(workcopy)才能以正常方式查看,如果是文件迁移,可以把所有的文件copy出来到另外一个目录,然后全部转移过去即可。
命令如下:
svn file :///usr/ local /svn/newrepos/some/project workcopy
|
这个路径是你自己设定的,最好是放在你svn的配置库路径,在配置库路径下面创建一个文件夹
如我的配置库路径是:
/usr/
local
/svn/newrepos
我在此路径下面加了一个文件夹some,并且在some下加了一个project文件夹,所以命令如下
svn file :///usr/ local /svn/newrepos/some/project workcopy
|
svn file :///usr/ local /svn/newrepos/some/project workcopy
|