不同服务器之间使用svn钩子post-commit同步代码遇到的证书认证问题.md
2019-08-01 20:27
447 查看
原文链接:http://www.cnblogs.com/riceLee/p/4227107.html
遇到的问题,以下其他问题都是因解决这个问题引申出来的问题
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,缓存证书,为什么没解决呢?
如果按照上面链接提供的方式去实现代码同步,有可能会遇到上面的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
解决了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:这个账户目前不可用
表达能力有限,至少在明白了是用户不同导致,再去探寻解决方法的时候就有了方向。下面这篇博文比我讲的好,可以去看看。
转载于:https://www.cnblogs.com/riceLee/p/4227107.html
相关文章推荐
- 使用 SVN post-commit 钩子同步更新代码 经常会忽略的问题
- Linux CentOS SVN 设置钩子hooks/post-commit来同步更新服务器web目录,实现代码自动部署
- 使用 SVN post-commit 钩子同步更新代码
- svn使用过程中使用post-commit自动同步如果服务器文件变化怎么处理
- SVN利用post-commit hooks自动同步代码到生产环境,解决大数量文件更新同步问题
- 初学svn对版本进行控制 用post- commit钩子实现代码同步到web目录
- SVN利用post-commit hooks自动同步代码到生产环境,解决大数量文件更新同步问题
- 利用SVN的post-commit钩子实现多项目自动同步
- 利用SVN的post-commit钩子实现多项目自动同步
- 使用svn版本控制时,通过post-commit自动同步到web空间
- Android Studio 使用 SVN 必定遇到问题:commit ** File out of data 问题解决方法
- 使用git同步个人在不同电脑上的代码问题
- 利用SVN的post-commit钩子实现多项目自动同步
- 利用SVN的post-commit钩子实现多项目自动同步
- svn利用钩子post-commit自动更新到线上测试服务器
- 利用SVN的POST-COMMIT钩子自动部署代码
- 利用SVN的post-commit钩子实现多项目自动同步
- svn钩子(POST-COMMIT)+jenkins 代码上线流程
- 利用SVN的post-commit钩子实现多项目自动同步
- svn使用遇到的commit问题 xxx remains in tree-conflict