Linux Joomla无法使用755权限写入文件

时间:2013-12-06 05:14:00

标签: linux joomla

您好我正在尝试设置Joomla。当我尝试通过全局设置管理器更改某些设置,然后保存时,我不断收到错误,说我无法写入该文件。

我尝试过使用设置和文件权限,甚至将它们更改为755,但它仍然不允许我写入文件。

我将所有者设置为'root.root'并且正在运行Fedora 18。

我把它安装在localhost上,而不是通过FTP安装。

为什么我不能写这些文件(比如configuration.php),有什么我想念的吗?

Joomla没有告诉我我要写的文件是什么,但我假设我正在编辑全局设置,它会尝试写入configuration.php。

这是ls -l / var / www / html / joomla

的输出
total 116
-rw-r--r--.  1 apache apache 17816 Nov  6 15:18 LICENSE.txt
-rw-r--r--.  1 apache apache  4300 Nov  6 15:18 README.txt
drwxr-xr-x. 10 apache apache  4096 Nov  6 15:18 administrator
drwxr-xr-x.  2 apache apache  4096 Nov  6 15:18 bin
drwxr-xr-x.  2 apache apache  4096 Nov  6 15:18 cache
drwxr-xr-x.  2 apache apache  4096 Nov  6 15:18 cli
drwxr-xr-x. 17 apache apache  4096 Nov  6 15:18 components
-rw-r--r--.  1 apache apache  2018 Dec  6 05:56 configuration.php
-rw-r--r--.  1 apache apache  3118 Nov  6 15:18 htaccess.txt
drwxr-xr-x.  5 apache apache  4096 Nov  6 15:18 images
drwxr-xr-x.  2 apache apache  4096 Nov  6 15:18 includes
-rw-r--r--.  1 apache apache  1011 Nov  6 15:18 index.php
-rw-r--r--.  1 apache apache  1909 Nov  6 15:20 joomla.xml
drwxr-xr-x.  4 apache apache  4096 Nov  6 15:18 language
drwxr-xr-x.  4 apache apache  4096 Nov  6 15:18 layouts
drwxr-xr-x. 12 apache apache  4096 Nov  6 15:18 libraries
drwxr-xr-x.  2 apache apache  4096 Dec  6 04:51 logs
drwxr-xr-x. 18 apache apache  4096 Nov  6 15:18 media
drwxr-xr-x. 28 apache apache  4096 Nov  6 15:18 modules
drwxr-xr-x. 14 apache apache  4096 Nov  6 15:18 plugins
-rw-r--r--.  1 apache apache   901 Nov  6 15:18 robots.txt.dist
drwxr-xr-x.  5 apache apache  4096 Dec  6 04:39 templates
drwsr-xr-x.  2 apache apache  4096 Dec  6 04:44 tmp
-rw-r--r--.  1 apache apache  1715 Nov  6 15:18 web.config.txt

ls -ld joomla/

的输出
drwxr-xr-x. 18 apache apache 4096 Dec  6 05:57 joomla/

另外,运行命令tail -f /var/log/httpd/error_log我得到了这个

PHP Warning:  file_put_contents(/var/www/html/joomla/configuration.php): failed to open stream: Permission denied in /var/www/html/joomla/libraries/joomla/filesystem/file.php on line 422, referer: http://localhost/administrator/index.php?option=com_config

2 个答案:

答案 0 :(得分:1)

深入研究问题之后。我发现SELinux阻止了对httpd的r / w访问。这可以在运行时看到

ls -aLZ joomla

通过运行命令,您会看到所有文件都显示为

httpd_sys_content_t

他们真的应该

httpd_sys_rw_content_t

运行简单的

chcon -R -t httpd_sys_content_rw_t /var/www/html/joomla/

AND VOILA!解决了问题。

感谢大家的帮助,我希望其他人能在不久的将来从中受益。

答案 1 :(得分:0)

尝试重新启动网络服务器?

必须反映许可。