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

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. Git--廖雪峰的博客的学习笔记

    为了督促自己能看完这个网站的学习教程,边看边做了些简要的笔记,记录了常用命令,其实也就是自己打了些简单的命令,好多直接就粘贴过来了,也算是一个学习的证明吧,想按详细的教程,还是要去博主的园子学习啊地址 ...

  2. 如何在一个工作站里创建多个工程(同一个xcode下面创建多个工程)

    第一步,理解: 怎么会有一个xcode下面创建两个工程这一说呢,一个工程代表一个项目,意思就是有两个项目了.错.其实在一个窗口下面并不是两个工程,而是一个workspace 即一个工作站.在工作站里面 ...

  3. BZOJ 1974: [Sdoi2010]auction 代码拍卖会( dp )

    在1, 11, 111……中选<=8个, + 11..(n个1)拼出所有可能...这些数mod p至多有p中可能, 找出循环的处理一下. 那么dp就很显然了...dp(i, j, k)表示前i种 ...

  4. [C#参考]UI和线程(一)

    Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程. 什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包 ...

  5. C++学习之使用new的注意事项

    C++学习之使用new的注意事项       在构造函数中使用new来初始化对象的指针成员成员时必须特别小心,具体的说,应该如下这样做: 一.如果在构造函数中使用new来初始化指针成员,则应该在析构函 ...

  6. 戏说Java多线程

    戏说Java多线程. package com.cmp.chengfu.app.jdk6.desktop; import java.awt.Desktop; import java.io.File; i ...

  7. MyEclipse下Struts2配置使用和Ajax、JSON的配合

    原创文章,转载请注明:MyEclipse下Struts2配置使用和Ajax.JSON的配合  By Lucio.Yang 新手,初学Struts2的配置,同时尝试与Ajax通过JSON交互.首先介绍M ...

  8. Qt 不规则窗体的实现(构造函数里setPaletteBackgroundPixmap后设置setMask)

    Skin(表皮) 是制作比较酷的软件界面的有利工具. 一个软件可以同时使用多种Skin 以取得不同的外观, 使同一个软件有截然不同的风格. 用户可以根据自己的喜好选择 不同的风格. 本节介绍使用 Qt ...

  9. nmon related

    nmon related pGraph (supports nmon) https://www.ibm.com/developerworks/community/wikis/home?lang=en# ...

  10. Highlighting an element as it is hovered over (like inspect element in FireBug) - jQuery Forum

    Highlighting an element as it is hovered over (like inspect element in FireBug) - jQuery Forum Highl ...