CakePHP需要更改临时文件夹的所有者,如下所示: http://book.cakephp.org/2.0/en/getting-started.html#tmp-directory-permissions
# chown -R username app/tmp
当我将Apache与mod_php
一起使用时,用户名必须为apache
当我将Apache与mod_fcgid
一起使用时,用户名必须为myswebsiteuser
。
我需要进行一些试用以检查fcgid
与mod_php
的效果。所以当我切换php类型时,我会在几分钟内收到大量错误。我运行脚本将文件夹的所有者从apache更改为mywebsiteuser,删除旧的临时文件并等待cakephp以使用新用户创建新文件。我还需要结合旧的和新的日志文件。
似乎chown允许设置用户组。有没有办法设置“tmp”文件夹,以便它们可以在mod_php和mod_fcgid中使用,而无需切换所有者?
(我拥有服务器,它有CentOS,它只有一个网站。还有Plesk 11.5)
类似:What are the right ownership & permissions to the CakePHP app/tmp folder for production?
答案 0 :(得分:0)
这不是一个cakephp问题,也不是apache。您只需要了解基本的linux文件/文件夹权限。
快速而肮脏的解决方案:将tmp
设置为777(chmod 777 <path>/tmp
),它将解决您的测试问题。
然后对上述主题进行一些阅读并相应地重置权限/所有权。
答案 1 :(得分:0)
首先创建一个组:
# groupadd mygroup
打开群组文件:
# vi /etc/group
在最后一行中存在如下行:
mygroup:x:510:
查找mod_fcgid的用户名,如果您的网站是mywebsite.com,则可能是“mywebsite”。
您需要为新组“apache”和“mywebsite”添加2个用户。
mygroup:x:510:apache,mywebsite
现在更改文件夹的所有者和mod,如下所示:
# chown -R mywebsite:mygrup /var/www/vhosts/mywebsite.com/httpdocs/app/tmp/
# chmod -R 664 /var/www/vhosts/mywebsite.com/httpdocs/app/tmp/
现在temp文件夹可由mod_php(apache)mod_fcgid(mywebsite)写入。