Так что я действительно застрял в этом вопросе. Процесс установки жалуется на разрешение записи в settings.php и sites / default / files /. Однако я временно переместил эти файлы для записи / чтения (chmod 777) и изменил владельца / группу на «apache», как показано ниже.
-bash-4.1$ ls -hal
total 28K
drwxrwxrwx. 3 richard richard 4.0K Aug 23 15:03 .
drwxr-xr-x. 4 richard richard 4.0K Aug 18 14:20 ..
-rwxrwxrwx. 1 apache apache 9.3K Mar 23 16:34 default.settings.php
drwxrwxrwx. 2 apache apache 4.0K Aug 23 15:03 files
-rwxrwxrwx. 1 apache apache 0 Aug 23 15:03 settings.php
Однако установка по-прежнему жалуется на права записи. Я выполнил шаги один и два из INSTALL.txt, но безуспешно.
Обновить:
Для дальнейшего изучения ситуации я создал sites / default / richard.php со следующим кодом:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
mkdir('files');
print("<hr> User is ");
passthru("whoami");
passthru("pwd");
?>
Запустить из командной строки (от имени пользователя «richard») без проблем. Папка создана, все готово. Запускаю из сети, получаю следующее:
Предупреждение: mkdir (): в /var/www/html/sites/default/richard.php в строке 9 пользователю отказано в доступе. Пользователь apache / var / www / html / sites / default
Обновление 2:
Безопасный режим отключен ...
-bash-4.1$ cat /etc/php.ini | grep safe | grep mode | grep -v \;
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
sql.safe_mode = Off
Есть несколько вещей, которые следует учитывать
Выключите selinux или установите его в разрешающий режим
Проверьте контекст selinux каталога разрешений на чтение / запись.
Очистите кеш браузера и попробуйте еще раз.
перезапустите apache и попробуйте еще раз.
Убедитесь, что у каталога есть дисковая квота, и она превышает лимит.
SELinux был слишком высок.
Я временно установил разрешение, используя
sudo echo 0 >/selinux/enforce
После настройки восстановлю для проверки.