使用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文件,数据库并再次安装。提前谢谢。
答案 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。