apache — Joomla 3.4.3 — файл конфигурации.php недоступен для записи

Использование MariaDB, Apache, PHP 5.4.x, RHEL 7

Как мне разрешить запись файла configuration.php?

Установленный Joomla несколько раз, всегда заканчивающийся файлом конфигурации.php, не доступным для записи. Я продолжил, скопировал содержимое конфигурации и создал новый файл php, поместил его там, где живет Joomla, открыл права доступа, изменил на apache: apache, все еще ничего. Я ссылался на несколько статей, особенно эту:
Установка Joomla 3 Ошибка: ваш файл конфигурации или каталог не доступен для записи

Я также попытался создать пустой файл configuration.php и поместить его в корень joomla, открыв права доступа — не сработало.

Мое текущее состояние установки — файл конфигурации.php, но я не могу удалить каталог установки через веб-установщик (при условии, что я установил файл конфигурации на место и все еще не доступен для записи).

Я пробовал несколько настроек разрешений, а затем безуспешно пытался удалить каталог установки. Удаление каталога установки вручную с помощью rm -r приводит только к полностью недоступному сайту, что вынуждает меня стереть мои файлы joomla, базы данных и установить снова. Заранее спасибо.

2

Решение

Первое, что я хотел бы сделать, это проверить, какой пользователь php работает на вашем сервере, и сравнить это с владением файлами вашего сайта.

Создайте файл user.php в корне вашего домена с помощью

<?php echo exec('whoami'); ?>

затем откройте этот файл с помощью вашего браузера. Это даст вам имя пользователя, на котором работает php, как на вашем сервере. Это может быть apache, но это не так.

Сравните этого пользователя с правами на config.php и установку вашего сайта в целом.

Если вы загрузите новый сайт Joomla через SFTP и выполните стандартные шаги установки браузера, разрешения не должны быть проблемой. Если вы говорите, что загружаете zip-файл и используете терминальное соединение и SSH, убедитесь, что ваше SSH-соединение совпадает с пользователем php на вашем сервере.

Удачи!

1

Другие решения

Работая с моим сервером, обнаружил, что некоторые настройки sebool не позволяют Apache выполнять то, что ему нужно. Пройдя еще один шаг, мы определили, что для запуска httpd_can_sendmail необходимо использовать команды sebool, чтобы использовать функцию Sendmail. Надеюсь, это поможет кому-то там.

Команда, которая, казалось, сделала трюк была sudo chcon -R -t httpd_sys_rw_content_t / var / www / html

1

В нашем случае проблема была с разрешениями 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 разрешающим.

Надеюсь это поможет.

постскриптум Решение работает и для RedHat.

0
По вопросам рекламы [email protected]