遇到的问题,以下其他问题都是因解决这个问题引申出来的问题

VisualSVN hooks自动同步更新到web服务器

错误信息如下:

Error validating server certificate for 'https://host.example.com:443':  - The certificate is not issued by a trusted authority. Use the    fingerprint to validate the certificate manually!  - The certificate hostname does not match.  - The certificate has expired. Certificate information:  - Hostname: host.example.com  - Valid: from Jan 30 19:23:56 2004 GMT until Jan 30 19:23:56 2006 GMT  - Issuer: CA, example.com, Sometown, California, US  - Fingerprint: 7d:e1:a9:34:33:39:ba:6a:e9:a5:c4:22:98:7b:76:5c:92:a0:9c:7b  (R)eject, accept (t)emporarily or accept (p)ermanently?  ? svn: OPTIONS of 'https://server/svn/test': Server certificate verification failed: certificate issued for a different hostname, issuer is not trusted (https://server)  

#从本质上讲,这是个证书认证的问题,造成这个问题的原因是什么呢 ? 或许你已经按照上面说到的从服务器命令行下首先执行一下svn命令,选择p,缓存证书,为什么没解决呢?

分享下使用svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验

如果按照上面链接提供的方式去实现代码同步,有可能会遇到上面的error。 导致以上问题的原因是:在测试服务器运行svn相关命令缓存证书的用户和通过浏览器执行命令的用户不是一个用户!!特别注意。

比如,我在我的centos上运行svn命令用的root用户,但是我通过浏览器访问执行脚本用的却是www用户,就会产生上面的错误。

所以,解决问题的关键是,在服务器终端命令行运行svn up等命令缓存证书时,需要使用www用户,就是说要与浏览器运行脚本时使用的用户一致。

#查看浏览器访问时,php进程的执行用户可以通过下面的php脚本获取(需要通过浏览器访问的形式)。
echo shell_exec("id -a");
  • 首先要使www用户能够使用sudo命令。为什么呢?subversion一般是使用root用户安装,而且www作为一个web服务用户,权限受限,所以要使用sudo暂时获取root权限去执行相关命令。

    • 让www用户变为sudoner

linux 普通用户成为sudoer

添加用户到sudoer列表中

* 解决了sudo命令后,如果不是通过从本地终端执行shell,则会报一个错误sudo: sorry, you must have a tty to run sudo

解决sudo: sorry, you must have a tty to run sudo

This account is currently not available:这个账户目前不可用

  • 表达能力有限,至少在明白了是用户不同导致,再去探寻解决方法的时候就有了方向。下面这篇博文比我讲的好,可以去看看。

通过sudo解决php执行linux脚本的权限问题

不同服务器之间使用svn钩子post-commit同步代码遇到的证书认证问题.md的更多相关文章

  1. window、linux系统与linux服务器之间使用svn同步及自动部署代码的方法

    摘要: 在家用PC,在公司用办公电脑对一个项目的代码进行修改时,会遇到代码同步的问题.本文讲解了代码同步及自动部署的解决办法. 实现方法: 1.首先在linux服务器上和linux上安装svn(sud ...

  2. linux搭建svn服务并手动同步代码到web目录和自动更新

    1.安装svn服务端 yum -y install subversion 2.查看安装路径等信息 rpm -ql subversion 3.查看svn帮助信息 svn help 4.创建svn版本库目 ...

  3. Linux远程服务器上安装SVN

    前言 SVN服务器有2种运行方式:独立服务器和借助apache.2种方式各有利弊,独立SVN服务器不结合Apache安装使用,连接独立SVN服务器也不用HTTP协议.这是比较快捷的SVN服务器配置方法 ...

  4. svn钩子(hooks)

    首先你需要搭建出自己的svn环境出来,并能成功导入导出,并且了解svn,这是看这篇文章的前提.... 出于公司开发部需要svn同步更新服务器代码,需要用到svn钩子(hooks)技术,以前从来没听过, ...

  5. 使用SVN钩子强制提交日志和限制提交文件类型

    Subversion本身有很好的扩展性,用户可以通过钩子实现一些自定义的功能.所谓钩子实际上是一种事件机制,当系统执行到某个特殊事件时,会触发我们预定义的动作,这样的特殊事件在Subversion里有 ...

  6. svn钩子(hooks)自动部署代码到web目录

      版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/li956732806/article/details/71158869   web目录:/hoe ...

  7. SVN----------项目服务器上的svn客户端自动更新设置。

    1.局域网服务器上搭建了PHP项目运行的环境,然后怎么样讲根目录拉去到的项目可以随着开发人员提交的代码,自动更新成最新的代码. 2.首先将svn版本库上的代码拉取到www目录下或者你的根目录. 3.然 ...

  8. 在linux服务器上装svn版本管理,自动部署代码到项目

    在linux服务器上装svn版本管理,自动部署代码到项目 http://bbs.aliyun.com/read/9715.html?spm=5176.7114037.1996646101.1.W3zw ...

  9. sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)

    1:sqoop的概述: (1):sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具.(2):导入数据:MySQL,Oracle导入数据到Hadoop的HDFS.HIV ...

随机推荐

  1. IE 11 无法访问某些不兼容性视图的解决方法

    今天下午部署公司的项目时,用IE 11只能加载到JSP页面的静态元素,其中下拉文本框的信息获取不到, 后来,发现是IE 11不兼容的原因,于是,在菜单条“工具”——“兼容性视图设置”,将不兼容页面的网 ...

  2. 消息处理之performSelector

    performSelector和直接调用方法的区别 performSelector: withObject:是在iOS中的一种方法调用方式.他可以向一个对象传递任何消息,而不需要在编译的时候声明这些方 ...

  3. 创建一个ROS包

    先前笔者不知道catkin到底是个什么东东,后来终于在官方网站上找到了答案,原来catkin是ROS的一个官方的编译构建系统,是原本的ROS的编译构建系统rosbuild的后继者.catkin的来源有 ...

  4. java——多线程——单例模式的static方法和非static方法是否是线程安全的?

    单例模式的static方法和非static方法是否是线程安全的? 答案是:单例模式的static方法和非static方法是否是线程安全的,与单例模式无关.也就说,如果static方法或者非static ...

  5. session.createQuery()不执行和java.lang.reflect.InvocationTargetException

    今天写SSH的工程的时候,执行到一个DAO中的Query query = session.createQuery(hql)的时候,没有成功执行,直接跳到了finally,然后前台报了500和java. ...

  6. 一周学会Mootools 1.4中文教程:(4)类型

    Mootools的类型主要包含下边几部分:String:字符串;Number:数字;Array:数组;Object:对象;Json:;Cookie:. 这也是我们今天的讲述重点.每一种数据类型Mt都为 ...

  7. Android studio之更改快捷键及自动导包

    更改AS中的代码提示快捷键,AS做的也挺智能的,在Keymap中可以选择使用eclipse的快捷键设置,但是虽然设置了,对有些快捷键还是不能使用,那么就需要我们手动去修改了. 在代码提示AS默认的快捷 ...

  8. C功底挑战Java菜鸟入门概念干货(一)

    一.认识Java 1.Java 程序比较特殊,它必须先经过编译,然后再利用解释的方式来运行.  2.Byte-codes 最大的好处是——可越平台运行,可让“一次编写,处处运行”成为可能.  3.使用 ...

  9. Struts 上下文

    Struts  上下文 ActionContext .ServletActionContext 是继承关系  ActionContext  ActionContext context = Action ...

  10. Fastboot的使用简单教程

    大家都知道HTC手机重新启动进入所谓的project模式,就是HBOOT,然后能够进入FASTBOOT界面,在这个界面.我们能够在电脑端能够做非常多事,特别是HBOOT被改动过,假设是ENG S-OF ...