您好我正在尝试设置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
答案 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)
尝试重新启动网络服务器?
必须反映许可。