1)需求:

已经在阿里云windwos系统 下面安装了VisualSVN Server Manager 做为svn服务器;

现在要在腾讯云源码安装新版本客户端

2)开始源码编译安装TortoiseSVN:

1)卸载当前自动安装的svn

             yum remove subversion

2 )下载依赖包 如下:

1、subversion-1.10.0.zip(http://subversion.apache.org/download/

2、apr-1.6.3.tar.bz2 (http://apr.apache.org/download.cgi)隐藏操作系统细节共享库

3、apr-util-1.6.1.tar.bz2 (http://apr.apache.org/download.cgi

4、serf   (http://serf.apache.org/download)subversion1.8.0之前都是用neon来支持http/https,之后都是用serf来支持的;

5、scons  (https://www.scons.org/pages/download.html)注意:类似于cmake (这个源码安装不好装 直接yum install scons就行了 反正版本差别不大就行)

6、sqlite 3.8.2 (http://www.sqlite.org/download.html)( 这里要是版本号,注意)

7、httpd 2.4.7  (http://httpd.apache.org/)

命令history

3030 2018-06-29 07:41:48 wget http://mirrors.hust.edu.cn/apache/subversion/subversion-1.10.0.tar.gz 
3038 2018-06-29 07:46:20 wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.bz2
3040 2018-06-29 07:55:16 wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.bz2
3044 2018-06-29 08:17:31 wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.33.tar.gz
3047 2018-06-29 08:20:57 wget https://www.apache.org/dist/serf/serf-1.3.9.tar.bz2
3049 2018-06-29 08:23:31 wget https://jaist.dl.sourceforge.net/project/scons/scons/3.0.0/scons-3.0.0.tar.gz
3052 2018-06-29 08:27:14 wget https://www.sqlite.org/2018/sqlite-autoconf-3240000.tar.gz

安装基本的库和工具

yum install gcc gcc-++ make pcre-develzlib-devel openssl openssl-devel pcre pcre-devel -y (因为我己经安装了 gcc g++ make openssl 所以跳过这步)

3)解压下载的包

3056 2018-06-29 08:35:42 tar -jxvf apr-1.6.3.tar.bz2  
3058 2018-06-29 08:35:54 tar -jxvf apr-util-1.6.1.tar.bz2  
3062 2018-06-29 08:36:37 tar -zxvf httpd-2.4.33.tar.gz  
3064 2018-06-29 08:36:54 tar -jxvf serf-1.3.9.tar.bz2  
3066 2018-06-29 08:37:13 tar -zvxf sqlite-autoconf-3240000.tar.gz

4)开始安装

安装 sqlite apr   apr-util

3068 2018-06-29 08:37:57 cd apr-1.6.3/ 
3070 2018-06-29 08:38:02 ./configure --prefix=/usr/local/apr
3071 2018-06-29 08:38:46 make && make install
3075 2018-06-29 08:39:38 cd apr-util-1.6.1/
3076 2018-06-29 08:39:45 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
3077 2018-06-29 08:39:57 make && make install  
在CentOS7最小安装版下,编译安装apr-util时报错:

fatal error: expat.h: No such file or directory

解决办法:yum install expat-devel

3080 2018-06-29 08:42:25 yum install expat-devel
3081 2018-06-29 08:42:37 make && make install

安装 sqlite

3099 2018-06-29 08:48:37 cd sqlite-autoconf-3240000/
3100 2018-06-29 08:48:39 ./configure
3101 2018-06-29 08:49:36 make && make install

 安装 scons

3107  2018-06-29 08:55:28 yum install scons

编译安装serf

3116 2018-06-29 09:01:21 cd serf-1.3.9/
3117 2018-06-29 09:01:35 scons APR=/usr/local/apr APU=/usr/local/apr-util OPENSSL=/usr/bin PREFIX=/usr/local/ser
3118 2018-06-29 09:01:53 scons install

编译安装httpd

./configure --prefix=/usr/local/apache --enable-dav --enable-so-nable-rewrite --enable-maintainer-mode --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

make && make install

今天编译安装apache 2.2 时,到了make后出现如下错误,

make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.0.63/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.0.63/support'
make: *** [all-recursive] Error 1

解决办法

#mv /usr/lib/libm.a /usr/lib/libm.a.bak 这句 
#ln -s /usr/lib64/libm.a /usr/lib/libm.a 这句

分析

由于我的CENTOS 是 64bit的,在编译配置中并没有指定 --with-included-apr的具体引用路径,导致找不到相应的库文件,而 --with-included-apr 默认是查找/usr/lib下的库文件,而,正确的引用应该是/usr/lib64下的。这类情况在64bit下非常常见,请L友们注意了!

搞不清楚,还是有错,

然后回滚了一下。。。

3122 2018-06-29 09:04:17 ./configure --prefix=/usr/local/apache --enable-dav --enable-so-nable-rewrite --enable-maintainer-mode --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
3123 2018-06-29 09:04:40 make && make install
3124 2018-06-29 09:07:57 mv /usr/lib/libm.a /usr/lib/libm.a.bak 
3128 2018-06-29 09:08:37 ln -s /usr/lib64/libm.a /usr/lib/libm.a
3129 2018-06-29 09:08:47 make && make install  
3133 2018-06-29 09:10:49 mv /usr/lib/libm.a.bak /usr/lib/libm.a
3134 2018-06-29 09:11:22 make && make install

不知什么情况遇到下面情况,因为我的apr版本是1.6 会有这个问题是少库

/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_GetErrorCode'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetEntityDeclHandler'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ParserCreate'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetCharacterDataHandler'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ParserFree'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetUserData'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_Parse'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ErrorString'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetElementHandler'
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/usr/local/httpd-2.4.26/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/httpd-2.4.26/support'
make: *** [all-recursive] Error 1
 
于是乎

3140 2018-06-29 09:16:09 yum install -y libxml2-devel
3141 2018-06-29 09:16:27 cd ..

//删掉己装的/apr-util
3143 2018-06-29 09:16:42 rm -rf /usr/local/apr-util
3144 2018-06-29 09:17:27 cd apr-util-1.6.1/

重新装一遍/apr-util
3145 2018-06-29 09:17:29 make clean
3146 2018-06-29 09:17:48 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
3147 2018-06-29 09:17:58 make && make install

再试试 httpd-2.4.33/
3150 2018-06-29 09:18:32 cd httpd-2.4.33/
3151 2018-06-29 09:18:55 ./configure --prefix=/usr/local/apache --enable-dav --enable-so-nable-rewrite --enable-maintainer-mode --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
3152 2018-06-29 09:19:26 make && make install

httpd-2.4.33 ok了 没报错

接下来安装    subversion   

2955 2018-06-29 09:48:48 tar -zvxf subversion-1.10.0.tar.gz  
2957 2018-06-29 09:48:52 cd subversion-1.10.0/ 
2959 2018-06-29 09:49:20 ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-openssl --with-serf=/usr/local/serf
2960 2018-06-29 09:49:36 make && make install

报错需要先安装 serf-1.3.9
2963 2018-06-29 09:50:47 cd serf-1.3.9/ 
2965 2018-06-29 09:51:11 scons APR=/usr/local/apr APU=/usr/local/apr-util OPENSSL=/usr/bin PREFIX=/usr/local/serf
2966 2018-06-29 09:51:49 scons install

再试 subversion 报错
2970 2018-06-29 09:52:35 cd subversion-1.10.0/  
2986 2018-06-29 09:55:19 ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-openssl --with-serf=/usr/local/serf
2987 2018-06-29 09:55:33 make && make install

报错原因是没有 --with-lz4库 要手动指定一下选项  --with-lz4=internal 再试 subversion 
2989 2018-06-29 09:56:07 make clean 
2991 2018-06-29 10:00:46 ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-openssl --with-serf=/usr/local/serf --with-lz4=internal
2992 2018-06-29 10:01:15 make && make install

报错原因是没有 --with-utf8proc库 要手动指定一下选项  ---with-utf8proc=internal  ( with-utf8proc=internal:如果您安装了可选的依赖关系,请将其删除。) 再试 subversion 
2993 2018-06-29 10:01:24 ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-openssl --with-serf=/usr/local/serf --with-lz4=internal
2994 2018-06-29 10:05:06 yum install utf8proc  也没用 必须 internal

3050 2018-06-29 18:01:20 ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-openssl=/usr/local/ssl --with-serf=/usr/local/serf --with-lz4=internal --with-utf8proc=internal
3053 2018-06-29 18:01:55 make clean
3054 2018-06-29 18:01:58 make
3055 2018-06-29 18:07:54 make install

subversion 安装成功

拷贝依赖的动态库

3059 2018-06-29 18:08:51 cd serf-1.3.9/ 
3061 2018-06-29 18:09:51 cp libserf-1.so.1 /usr/local/subversion/lib/

添加环境变量
3062 2018-06-29 18:10:10 vim /etc/profile 行尾加上

export PATH=/usr/local/subversion/bin/:${PATH}

立即生效

.  /etc/profile

svn -version 

成功看到输出信息

[root@VM_162_1_centos subversion]# svn --version
svn, version 1.10.0 (r1827917)
compiled Jun 29 2018, 18:02:41 on x86_64-unknown-linux-gnu

Copyright (C) 2018 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
- using serf 1.3.9 (compiled with 1.3.9)
- handles 'http' scheme
- handles 'https' scheme

The following authentication credential caches are available:

* Plaintext cache in /root/.subversion
* GPG-Agent

[root@VM_162_1_centos subversion]#

到这就源码安装完成了

 
 
3)发现在centos 7.5 下面 sqlite3 是低版本的,通过源码安装之后 再运行 报错了
                  SQLite compiled for 3.24.0, but running with 3.7.17
         自己编译安装的是 3.24 以前自带的是 3.7 
         而编译subversion 的时候己经源码安装了 3.24.0 引用的是 3.24.0的头文
      但是不知道是 sqlite3 源码安装错了还是怎么回事(没有报错,但是sqlite3都没有拷到 use/bin目录,是我手动拷的,拷完还是不行)
      拷完之后执行 sqlite3 --version 版本就变正确了但还是报          SQLite compiled for 3.24.0, but running with 3.7.17 重启也不行
      也许是环境变量的问题?有可能是之前某个地方用到了原来的 3.7.17 的东西,再到 /etc/profile 或者说没 依赖/etc/profile。
 
    最后还是没有解决
 
4 最后还是不要用源码安装了 
       不用源码安装  用默认的版本 yum install svn  
       svn --version 
 

[root@VM_162_1_centos svntest]# svn --version
svn, version 1.7.14 (r1542130)
compiled Apr 11 2018, 02:40:28

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme

[root@VM_162_1_centos svntest]#

好吧,测试了 yum install 出来的 1.7.14,能用。

3010 2018-06-29 21:07:29 svn co https://(公网ip):443/svn/myCode/branches/game . --username usss 
3015 2018-06-29 21:08:43 ll >> info 
3017 2018-06-29 21:09:15 svn add info  
3027 2018-06-29 21:13:46 svn update 
3033 2018-06-29 21:15:36 svn ci info -m"test"

弄了半天是白拆腾

原来之前就是可以用的 只不过提示 接受https 证书时提示不安全要求输入p继续。然后就可以了。。。不过好像  httpd 2.4.7 装了是有用的。不管它了,现在svn 能工作就行了。

 
 
  
   
 

linux svn客户端通过 https访问windows VisualSVN Server Manager的更多相关文章

  1. linux svn 客户端基本使用命令

    1.从svn获取项目 svn co URL --username XX --password XX; 2.添加code file svn add codeFile; svn ci -m "c ...

  2. 详细探秘Linux 和 Window 双系统访问Windows 磁盘需要输入密码问题解决过程分析

    将要讲很多的内容真正产生作用的配置就只有下面这一句而已.如果你只是想要解决问题看这一句就行了,后面都没有必要在看下去了. 将allow-active标签中的auth_admin_keep 改为 yes ...

  3. Windows 8.1升级至Windows 10后,启动VisualSVN Server Manager报错:提供程序无法执行所尝试的操作 (0x80041024)的解决

    1.1.Windows 8.1升级至Windows 10后,启动VisualSVN Server Manager报错:提供程序无法执行所尝试的操作 (0x80041024),VisualSVN Ser ...

  4. CentOS搭建svn服务器支持https访问

    在CentOS6.3 64位机器上配置SVN服务器,并设置只允许HTTPS连接,可以配置多个repos源,每个源都拥有自己的组和成员,用于权限控制. 安装相关软件 Apache yum install ...

  5. Linux使用笔记: 使用Samba访问windows的共享目录(转载)

    转自:http://easwy.com/blog/archives/mount-a-windows-shared-folder-on-linux-with-samba/ 通常我们使用Samba都是在W ...

  6. SVN客户端以及使用 for windows

    1.首先我们需要下载 "svn小乌龟"后,进行安装.比如我下载如下的: 安装完成后,比如在我的项目在qiandaun1中,我右键就可以看到如下: 说明snv已经安装成功了! 2:c ...

  7. 使用unidac 在linux 上无驱动直接访问MS SQL SERVER

    随着delphi 10.2 开始了对Linux 的重新支持.devart 也迅速的发布了unidac 7.0, 最大的特性就是支持linux和MongoDB. 并有了其他更新: In this rel ...

  8. 服务器svn 小乌龟 visualsvn server manager Tortoisesvn的部署使用

    这个主要说说实现hook,就是本地上传文件后,服务器svn将相应的文件也修改了,实现本地上传,可以及时在浏览器查看效果 首先安装visualsvn 可参考http://blog.csdn.net/zl ...

  9. 源代码管理(Windows + VisualSVN Server + TortoiseSVN + VS2010)

    之前项目中使用过SVN管理源代码,但是都是链接别人搭建的服务器,现在感觉每周保留一个版本蛮麻烦的,就搭建一个,方便以后管理代码. 1.安装VisualSVN Server( VisualSVN Ser ...

随机推荐

  1. OpenVPN多用户配置

    /********************************************************************************* * OpenVPN多用户配置 * ...

  2. Python 字符串中 startswith()方法

    Python startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False.如果参数 beg 和 end 指定值,则在指定范围内检查. str.s ...

  3. c# 休眠后 定时唤醒

    源码见附件,执行唤醒功能前需要先对电源进行设置如下图: 源码

  4. ZOJ - 4082:Little Sub and his Geometry Problem (双指针)

    Little Sub loves math very much, and has just come up with an interesting problem when he is working ...

  5. css的标准模型和低版本的IE的盒子模型有什么不同?

    1. css的盒子模型:外边距(margin).内边距(padding).边界(border).内容区(width和height) 标准的css盒子模型与低版本的ie盒子模型的不同:宽高不一样 标准的 ...

  6. hdu 1280 堆排序

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s) ...

  7. 回收机制GC

    .NET 之 垃圾回收机制GC 一.GC的必要性 1.应用程序对资源操作,通常简单分为以下几个步骤:为对应的资源分配内存 → 初始化内存 → 使用资源 → 清理资源 → 释放内存. 2.应用程序对资源 ...

  8. difference among String,StringBuilder,StringBuffer

    difference among String,StringBuilder,StringBuffer String常用构造函数 String(byte[] bytes) String(byte[] b ...

  9. python在图片上画矩形

    python在图片上画矩形 image_path = '' image = cv2.imread(image_path) first_point = (100, 100) last_point = ( ...

  10. 服务器cpu负载过高问题排查

    https://blog.csdn.net/MrZhangXL/article/details/77711996 第一步 :执行top命令,查出当前机器线程情况 top - 09:14:36 up 1 ...