Joomla 3.4.3 - configuration.php not writable


Joomla 3.4.3 - configuration.php not writable

使用MariaDB, Apache, PHP 5.4。RHEL 7

我如何允许configuration.php写入?

安装了几次Joomla,总是以configuration.php文件不可写结束。我继续,复制配置内容并创建一个新的php文件,将其放在Joomla所在的位置,打开权限,更改为apache:apache,仍然没有。我引用了几篇文章,尤其是这篇:安装Joomla 3错误:您的配置文件或目录不可写

我也试过创建一个空的configuration.php文件,并把它放在joomla根目录下,打开权限-没有工作。

我当前的安装状态是configuration.php文件到位,但无法通过web安装程序删除安装目录(假设是因为我硬塞了配置文件到位,仍然不可写)。

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

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

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

然后用浏览器打开该文件。这将为您提供php在服务器上运行的用户名。它可能是apache,但也可能不是。

将该用户与config.php的所有权和您的站点安装作为一个整体进行比较。

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

祝你好运!

与我的服务器人员一起工作-发现几个sebool设置使Apache无法完成它需要做的事情。更进一步,我们确定需要运行sebool命令来允许httpd_can_sendmail,以便使用Sendmail特性。希望这篇文章能帮助到一些人。

似乎可以做到这一点的命令是sudo chcon -R -t httpd_sys_rw_content_t/var/www/html

在我们的案例中,问题在于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设置为permit。

希望对你有帮助。

注。