git pull 部署问题一揽子问题解决
2014-10-22 11:57 freefei 阅读(846) 评论(0) 编辑 收藏 举报之前遇到问题
在服务器拉取一直不成功,
php 的shell函数 调用 git pull 一直不成功 ,但是单独 用root 权限 在机器上面 执行 git pull 是可以的 说明语法没问题。
而 php 调用的shell的权限 其实是用户 www 说明 www的权限不成功表示用户www 没权限 所以需要对www配置权限
1首先 在 /etc/passwd 中给 www 设置主页目录 /home/uwww
2 让其荣有登录权限可执行shell,, home/uwww /bin/bash
3 保存退出
4 给 home/uwww 分配用户组 chowm www:www home/uwww
5 切换 su www 进入www用户登录 执行 生成密匙
ssh-keygen -t rsa -C "你的邮箱"
吧生成的密码 拷贝到 gitlab 的ssh key中
==========
补充 如果在 系统上 可以 用 php /xxxx/xxx/sss.php 而在 curl aaaa.aaa.com/sss.php 不能够 git pull ,这种情况 是 httpd 服务器的权限 运行权限 不是 www 。
解决办法 修改 /etc/httpd/conf/httpd.conf 的 用户组和用户 为 www
同时 被执行的目录也要为 www:www 用户组权限
到此表示 www 用户有了 权限 可以执行 git的操作
在处理问题中 如果遇上问题 url 请求上面的 可以 查看httpd 的运行日志 ,这个很重要哦!