Я слежу за изменением прав доступа к файлам «WordPress Codex , но когда я пытаюсь обновить и / или установить plugin
и / или theme
через wp-admin
, я получаю следующее:
Для выполнения запрошенного действия WordPress необходим доступ к вашему веб-серверу. Пожалуйста, введите свои учетные данные FTP, чтобы продолжить. Если вы не помните свои учетные данные, обратитесь к своему веб-хостеру.
от уровня файловой системы:
# ls -ld wp-content/ wp-content/plugins/ wp-content/themes/
drwxrwxr-x. 6 root apache 4096 Jun 2 12:01 wp-content/
drwxrwxr-x. 28 root apache 4096 Jun 2 00:00 wp-content/plugins/
drwxrwxr-x. 11 root apache 4096 May 11 16:34 wp-content/themes/
#
httpd
работает как apache
:
$ ps auxw | grep httpd
root 20158 0.0 0.1 533080 26192 ? Ss 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20233 0.0 0.2 612608 34908 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20234 0.0 0.2 538772 46904 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20235 0.0 0.1 536832 24268 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20236 0.0 0.2 626272 35640 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20237 0.0 0.0 535296 9592 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20322 0.0 0.1 537088 26620 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20380 0.0 0.2 626060 33816 ? S 15:04 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20429 0.0 0.1 538216 29184 ? S 15:04 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20447 0.0 0.2 629380 43180 ? S 15:04 0:00 /usr/sbin/httpd -DFOREGROUND
apache 20448 0.0 0.2 626172 35224 ? S 15:04 0:00 /usr/sbin/httpd -DFOREGROUND
alexus 24073 0.0 0.0 112652 972 pts/9 R+ 15:13 0:00 grep --color=auto httpd
$
Я хотел бы иметь возможность выполнять запрошенное действие ( install
и / или update
) /wp-admin
без использования учетных данных FTP.
Как я могу это сделать?
plugins
themes
updates
permissions
Alexus
источник
источник
nobody
- это не будет работать для меня из-заhttpd
запусков какapache
.apache.apache
илиroot.apache
не будет никакой разницы, до тех пор , какhttpd
работают какapache
иapache
«suid
является частьюapache
gid
» группы с, это все равно, потому что мои права установленоg+w
.Ответы:
Добавьте следующее в wp-config.php:
Дайте мне знать, как это работает для вас.
источник
Это означает, что WordPress имеет ограниченные права на внесение изменений в папку, в которой он был установлен.
Для того, чтобы это исправить, все, что вам нужно сделать, это предоставить необходимые разрешения для того же.
Выполните следующую команду в терминале / замазке / командной строке после подключения к серверу по SSH:
Ознакомьтесь с этой статьей для получения полной информации.
источник
Хотя это совершенно правильно иметь права владения, как
root:apache
с разрешениями 775, и httpd для запускаapache
, Wordpress не нравится это. Это хочет, чтобы владелец былapache
, согласноwp-admin/includes/file.php
:Ваш будет:
wp_file_owner = root
temp_file_owner = apache
Если $ wp_file_owner совпадает с $ temp_file_owner, тогда продолжайте. Ваш будет пойман в elseif, который, согласно комментарию, не позволяет удалять / создавать, а только обновляет (я проверил это, обновив код плагина из Wordpress, и это сработало).
Заметьте, я не очень подробно просматривал код, это всего лишь моя быстрая интерпретация. У меня была та же проблема, и как только я переключил user: group, так что пользователь httpd также является владельцем файла, он больше не запрашивал учетные данные FTP.
источник
www-data
работать на меня. Забавный WordPress!Не прямой ответ, но, вероятно, нужно сказать - это одна проблема, которую вам следует избегать, если вы не говорите о локальной разработке, и в этом случае вы можете просто установить разрешения на 777.
Причина в том, что если веб-сервер может перезаписать ваш код, то любой вредоносный код, работающий на нем, сможет это сделать. Риск намного больше, чем удобство экономии нескольких секунд без необходимости вводить учетные данные ftp.
источник
Хотя вопрос уже не нов, я хочу добавить свои два цента и по этому вопросу.
Многие пользователи имеют Centos (7) на своем VPS-сервере, и следующие строки кода могут решить их проблему.
Imho имеет полное отношение к SELinux, который не позволяет WordPress выполнять свою работу так, как хотелось бы. Это объясняет, что такое SELinux и что он делает. К вашему сведению, введение начинается с:
Всего 3 шага:
chcon -R -t httpd_sys_content_t /var/www/html/wordpress
chcon -R -t httpd_sys_rw_content_t /var/www/html/wordpress
Я не скажу, что это помогает всем, но для тех, кто не отключил SELinux, это должно быть облегчением.
ура
Примечание: пожалуйста, настройте в соответствии с вашими потребностями (имеется в виду путь к WordPress)
edit: обязательно удалите строку,
define("FS_METHOD", "direct");
когда она используется / используется,wp-config.php
потому что это абсолютно не пойдет, когда строки кода выше делают так, как хотели.источник
В моем случае я решил эту проблему, переключившись с GIT обратно в режим FTP.
Нет больше предупреждений.
Возможно, это поможет кому-то еще.
источник