Какой каталог должен иметь права на запись, чтобы обновить WordPress?

Вопрос или проблема

Я настроил разрешения файлов в соответствии с здесь вот так.

Пользователь apache управляет сервером, а пользователь wordpress является владельцем директории, этот пользователь используется только для этого сайта.

drwxr-xr-x  5 wordpress wordpress  4096 Apr 12 01:12 .
drwxr-xr-x 10 root      root       4096 Apr 10 16:19 ..
-rw-r--r--  1 wordpress wordpress   418 Sep 25  2013 index.php
-rw-r--r--  1 wordpress wordpress 19929 Jan 18  2013 license.txt
-rw-r--r--  1 wordpress wordpress  3193 Jan 27 20:18 readme-ja.html
-rw-r--r--  1 wordpress wordpress 10156 Jan 27 20:18 readme.html
-rw-r--r--  1 wordpress wordpress  4892 Oct  4  2013 wp-activate.php
drwxr-xr-x  9 wordpress wordpress  4096 Jan 27 20:18 wp-admin
-rw-r--r--  1 wordpress wordpress   271 Jan  9  2012 wp-blog-header.php
-rw-r--r--  1 wordpress wordpress  4795 Sep  6  2013 wp-comments-post.php
-rw-r--r--  1 wordpress wordpress  4255 Jan 27 20:18 wp-config-sample.php
-r--r-----  1 wordpress wordpress  4471 Apr 12 01:12 wp-config.php
drwxrws---  5 wordpress wordpress  4096 Apr 12 11:41 wp-content
-rw-r--r--  1 wordpress wordpress  2932 Sep 25  2013 wp-cron.php
drwxr-xr-x 12 wordpress wordpress  4096 Jan 27 20:18 wp-includes
-rw-r--r--  1 wordpress wordpress  2380 Oct 25 07:58 wp-links-opml.php
-rw-r--r--  1 wordpress wordpress  2359 Oct 25 07:58 wp-load.php
-rw-r--r--  1 wordpress wordpress 31909 Dec  4 05:12 wp-login.php
-rw-r--r--  1 wordpress wordpress  8235 Nov 13 20:58 wp-mail.php
-rw-r--r--  1 wordpress wordpress 10880 Nov  5 09:24 wp-settings.php
-rw-r--r--  1 wordpress wordpress 25665 Nov 13 12:23 wp-signup.php
-rw-r--r--  1 wordpress wordpress  4026 Oct 25 07:58 wp-trackback.php
-rw-r--r--  1 wordpress wordpress  3015 Oct 25 11:29 xmlrpc.php


$ ls -la wp-content/
total 24
drwxrws--- 5 wordpress wordpress 4096 Apr 12 11:41 .
drwxr-xr-x 5 wordpress wordpress 4096 Apr 12 01:12 ..
-rw-rw---- 1 wordpress wordpress   28 Jan  9  2012 index.php
drwxr-xr-x 3 wordpress wordpress 4096 Jan 27 20:18 languages
drwxr-x--- 4 wordpress wordpress 4096 Jan 27 20:18 plugins
drwxrws--- 5 wordpress wordpress 4096 Jan 27 20:18 themes

И добавьте пользователя apache в группу wordpress.

$ id apache
uid=48(apache) gid=48(apache) groups=48(apache),503(wordpress)

Но с этими разрешениями я не могу обновить сам WordPress или плагины. Какой каталог должен быть записываемым, чтобы обновить правильно и сохранить как можно более безопасно?

Tetsu, в Кодексе есть несколько хороших рекомендаций по этому поводу:

http://codex.wordpress.org/Changing_File_Permissions

К сожалению, в Кодексе нет универсального решения. Это может зависеть от вашего хостинга.

Ответ или решение

Для обновления WordPress и установки плагинов или тем важно правильно настроить разрешения для файлов и директорий. Ваша конфигурация выглядит неплохо, но, как вы заметили, может потребоваться дополнительная настройка, чтобы обеспечить корректную работу обновлений и при этом поддерживать безопасность вашего сайта.

1. Обзор текущих прав доступа

Ваша настройка прав доступа, которую вы привели, подразумевает, что пользователь wordpress является владельцем файлов и директорий, а пользователь apache добавлен в группу wordpress. Это обеспечивает доступ Apache к файлам, однако существует вероятность того, что права на запись для необходимых директорий не установлены должным образом.

2. Необходимые директории для обновлений

Для успешного обновления WordPress, особенно если вы хотите делать это через админ-панель, вам потребуется, чтобы следующие директории были доступны для записи:

  • wp-content/ — Эта директория используется для хранения загружаемых файлов, плагинов и тем.
  • wp-content/plugins/ — Здесь хранятся файлы всех установленных плагинов и их обновления.
  • wp-content/themes/ — В этой директории находятся темы. Если вы хотите обновлять темы, необходимо, чтобы и эта директория была доступна для записи.
  • wp-content/upgrade/ — Если вы никогда не создавали эту директорию, WordPress может автоматически создать её во время обновления. Убедитесь, что права на запись установлены для неё.

3. Настройка прав доступа

Запустите следующие команды, чтобы установить правильные права на директории:

# Это назначит директорий и файлам права для записи пользователю apache и группе wordpress.
chmod -R 775 wp-content

Это установит права rwxrwxr-x для всех директорий и файлов внутри wp-content, что даст пользователю apache разрешения на запись. Также убедитесь, что директория wp-content/upgrade существует:

mkdir -p wp-content/upgrade
chmod 775 wp-content/upgrade

4. Убедитесь, что все пользовательские параметры верны

Проверьте, что пользователь apache находится в группе wordpress. Вы уже это сделали, и вывод команды id apache подтвердил, что apache является членом группы wordpress.

5. Итоги

Стандартный подход для обновления WordPress — это сделать директории wp-content/, wp-content/plugins/, wp-content/themes/ и wp-content/upgrade/ доступными для записи для пользователя apache. Следует помнить, что хотя предоставление прав на запись может облегчить работу с обновлениями, это также может привести к возможным уязвимостям, если права настроены слишком широко. Поэтому важно регулярно проверять безопасность вашего сайта.

Рекомендации по безопасности

  1. Ограничьте доступ: Поддерживайте минимально возможные права на запись и регулярные проверки файлов на изменения.
  2. Регулярно обновляйте WordPress: Убедитесь, что вы используете последнюю версию WordPress, чтобы избежать уязвимостей.
  3. Резервное копирование: Регулярно создавайте резервные копии ваших данных, чтобы можно было быстро восстановиться в случае проблем.

Следуя этим рекомендациям, вы сможете успешно обновлять WordPress и поддерживать его безопасность на высоком уровне.

Оцените материал
Добавить комментарий

Капча загружается...