Joomla 3.4.3 - configuration.php不可写

时间:2015-09-30 13:08:01

标签: php apache joomla configuration redhat

使用MariaDB,Apache,PHP 5.4.x,RHEL 7

如何允许将configuration.php写入?

多次安装Joomla,总是以configuration.php文件结束不可写。我继续,复制配置内容并创建一个新的php文件,将它放在Joomla所在的位置,打开权限,更改为apache:apache,仍然没有。我引用了几篇文章,特别是这篇文章: Installing Joomla 3 Error: Your configuration file or directory is not writable

我还尝试创建一个空的configuration.php文件并将其放在joomla根目录中,打开权限 - 没有用。

我当前的安装状态是configuration.php文件,但无法通过Web安装程序删除安装目录(假设因为我将配置文件置于适当的位置并仍然无法写入)。

我尝试过多次权限设置,然后尝试删除安装目录但没有成功。通过rm -r手动删除安装目录只会产生一个完全无法访问的站点,迫使我擦除我的joomla文件,数据库并再次安装。提前谢谢。

3 个答案:

答案 0 :(得分:1)

我要做的第一件事就是检查服务器上运行的用户php,并将其与站点文件的所有权进行比较。

使用

在域的根目录下创建user.php文件
<?php echo exec('whoami'); ?>   

然后用你的broser打开那个文件。这将为您提供php在您的服务器上运行的用户的名称。它可能是apache但它可能不是。

将此用户与config.php的所有权以及整个网站安装进行比较。

如果您通过SFTP上传新的Joomla网站并遵循标准的浏览器安装步骤,权限不应该成为问题。如果您要上传zip文件并使用终端连接和SSH,请确保您的SSH连接与服务器上的php用户相同。

祝你好运!

答案 1 :(得分:1)

与我的服务器人员合作 - 发现有几个sebool设置让Apache无法做他们需要做的事情。更进一步,我们确定需要运行sebool命令以允许httpd_can_sendmail才能使用Sendmail功能。希望这可以帮助那些人。

似乎可以解决这个问题的命令是 sudo chcon -R -t httpd_sys_rw_content_t / var / www / html

答案 2 :(得分:0)

在我们的案例中,问题在于CentOS权限。因此,如果Joomla安装在CentOS驱动的服务器上,则需要更改配置文件(/ etc / selinux / config),如下所示:

[root@host2a ~]# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=permissive
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0

实际上,您只将SELINUX设置为允许。

希望这有帮助。

P.S。解决方案也适用于RedHat。