Wordpress не может создать или изменить. htaccess file

Wordpress не может записать новый файл .htacess или изменить тот, который я вставил. Я установил владельцем apache: apache, а права доступа к файлу - 644.

Обновление - я читал для часов на постах, как у меня. Похоже, критерии таковы:

  1. Пользователь, запускающий веб-службу, должен владеть файлом .htaccess (готово).
  2. Разрешения файла должны быть установлены на 644 (выполнено).

Вывод ls -Z .htaccess :

-rwxr--r--. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/.htaccess
-1
задан 6 January 2018 в 17:19
2 ответа

Вкл. система, в которой активен SELinux (что по умолчанию в CentOS), установка обычных разрешений недостаточна, вы также должны убедиться, что файлы имеют правильный контекст SELinux для процесса, который должен получить доступ к файлу.

Ваш Файл .htaccess имеет контекст SELinux httpd_sys_content_t , что делает его доступным для чтения только веб-серверу. Чтобы сделать его доступным для записи на веб-сервер, вам нужно изменить этот контекст. У меня сейчас нет доступной установки CentOS для ее тестирования, но быстрый поиск в Интернете по запросу wordpress selinux показал, что контекст public_content_rw_t должен быть подходящим. Вы можете изменить контекст с помощью этой команды:

chcon -t public_content_rw_t .htaccess

Обратите внимание, что вы также сделаете каталоги plugins , themes и uploads доступными для записи аналогичным образом, если вы хотите, чтобы WordPress мог удобно загружать файлы и устанавливать темы и плагины.

1
ответ дан 5 December 2019 в 19:41

От имени какого пользователя вы запускаете экземпляр сервера? Если вы не используете SUExec для своих исполняемых сценариев, вы сможете определить правильного пользователя, запустив:

ps -ef | egrep '(httpd | apache2 | apache)' | grep -v $ (whoami) | grep -v root | голова -n1 | awk '{print $ 1}'

Разрешения 0744 не нужны. Не будет выполняться .htaccess.

Либо вы измените владельца на root и сделаете разрешения 0600 (только запись, чтение владельцем), это рекомендуемое решение.

Если вы хотите сделать его всемирным с возможностью записи (НЕ РЕКОМЕНДУЕТСЯ!), вы можете установить режим 0666.

0
ответ дан 5 December 2019 в 19:41

Теги

Похожие вопросы