我在我的Web服务器上运行2个magento应用程序,并且偶然地从服务器的根目录设置了“chown -R www-data:www-data *”。 意思是,所有的文件都由用户root拥有。
这立即引起了magento网站上的问题,即:mysql没有连接,因为它应该使用“mysql”用户。
我自修,并将网页文件设置为由www-data拥有。
网站现在运行良好,但是当我尝试敲定一个订单时,它在那里暂停一分钟,然后超时。 订单注册在后台但它不显示“订单成功页”,因为它应该。
我正在运行nginx和php-fpm,而php-fpm日志是这样写的:
[22-Mar-2013 13:31:24] WARNING: [pool www] child 1791, script '/var/www/website.com/index.php' (request: "POST /index.php") execution timed out (1436.378897 sec), terminating [22-Mar-2013 13:31:24] WARNING: [pool www] child 1791 exited on signal 15 (SIGTERM) after 1600.011818 seconds from start [22-Mar-2013 13:31:24] NOTICE: [pool www] child 2717 started
发生了什么? 这可能会发生,因为一些文件不属于他们的正确的所有者? 如果是这样,哪些文件/文件夹是那些,它应该拥有的东西?
编辑:它必须是与后缀的事情。 一个正常的PHP脚本回显“Hello World”渲染就好,当我把一个邮件()函数在那里挂起。
假设你是root的,并且它已经完成了chown(并且没有被CTRL-C快速取消)。
当我听到类似这样的事情 – 一个chown或者chmod(或者rm -rf)被recursion地执行到整个文件系统时,我倾向于build议重新开始。 你将永远追逐问题。 这对于一个Linux系统来说是一个非常具有破坏性的事情,很多后续的问题对于什么是不明显的(特别是如果其他人不知道chown -R出现并且正在尝试排除故障)。
根据您的Linux发行版,一些维护包装系统中的原始所有权和文件权限的信息。 在软件包pipe理器安装它们时,可能会将权限“重置”到它们的状态。 例如,这个链接就是说如何在基于RPM的发行版上做到这一点: http : //www.cyberciti.biz/tips/reset-rhel-centos-fedora-package-file-permission.html
但是,在一天结束的时候,如果完全可以select的话,我真的会推荐重新开始。 *上的'chown -R'是'rm -rf *'的一步,但最终的结果可能会相同 – 更容易重新开始。
如果您在/上运行该命令,则所有文件都归您的web服务器(www-data)用户所有,而不是root用户。 没有进一步的上下文到你的系统,我想象一个连接系统到你的应用程序不能写入它的文件。 Postfix是否启动?
您可能不会喜欢这个答案,但最好的解决scheme是重新制作系统,重新安装应用程序,并将其指向同一个数据库。
在整个Linux系统中有很多重要的权限,只要修复最低限度的问题,让你的应用程序工作就可能会造成严重的安全问题。 例如,现在你的web服务器可以写入你的/ etc / shadow文件。