WordPress на локальном сервере LAMP не позволяет устанавливать плагины

10 июн. 2011 г., 02:14:58
Просмотры: 48.4K
Голосов: 19

Я установил LAMP сервер на Ubuntu 11.04. Установил WordPress и правильно настроил его с базой данных MySQL. Я изменил права доступа группы www-data для чтения и записи файлов.

Всё, кажется, работает, и я могу управлять сайтом через панель администратора, но я не могу устанавливать плагины, потому что система запрашивает FTP-данные, и я не могу пройти через этот этап.

Может кто-нибудь помочь? пожалуйста...

0
Все ответы на вопрос 11
8
55

Решение, которое сработало на моем Mac со встроенным Apache2, заключалось в добавлении следующего в файл 'wp-config.php':

define('FS_METHOD','direct');

Используйте этот метод только для локального хоста или разработки, не применяйте его в продакшн-среде.

27 февр. 2013 г. 12:50:03
Комментарии

Это лучшее решение. Убедитесь, что не добавляете его в продакшен, так как это может вызвать проблемы с безопасностью: http://codex.wordpress.org/Editing_wp-config.php

Justin Justin
10 мар. 2014 г. 23:20:03

Это лучший ответ (для локальной конфигурации WP)

oyvindhauge oyvindhauge
3 сент. 2015 г. 15:52:42

работает и в Ubuntu 15.10..

arshad arshad
28 нояб. 2015 г. 09:30:48

это работает в Debian 8

Vinícius Fagundes Vinícius Fagundes
2 янв. 2016 г. 00:17:56

Это без сомнения правильный ответ для локального WordPress.

Adam Adam
7 сент. 2018 г. 21:14:34

Попробуйте вместо этого https://stackoverflow.com/questions/18352682/correct-file-permissions-for-wordpress

JimLohse JimLohse
7 июн. 2019 г. 22:09:35

Спасибо! Отлично сработало для моего localhost XAMPP с использованием другого порта :)

yanike yanike
26 нояб. 2020 г. 01:29:29

Спасибо за объяснение, в большинстве туториалов этот момент не объясняется.

Yogi Arif Widodo Yogi Arif Widodo
19 мая 2023 г. 10:26:25
Показать остальные 3 комментариев
0

Это проблема с правами доступа. Папка wp-content/plugins должна быть доступна для записи пользователю веб-сервера.

10 июн. 2011 г. 12:26:23
1

После установки WordPress 5 на Debian 9 Stretch я обновил систему (удаленно на localhost) и получил запрос на ввод данных FTP.

Выполнение этих команд в терминале решило проблему:

chown -R www-data:www-data /var/www/html
chmod -R g+rwX /var/www/html

Это проблема прав собственности на файлы.

Код и предупреждение с сайта turnkeyLinux.com:

Изменение прав доступа к файлам — это компромисс (часто повышение безопасности снижает удобство использования и/или функциональность). Для "лучших практик" безопасности только те папки, которые требуют права на запись веб-сервером, должны принадлежать веб-серверу. Если ваш веб-сервер имеет права на запись везде и ваш сервер будет скомпрометирован, это упростит взлом вашей установки WordPress), но для удобства использования предоставление прав собственности веб-серверу должно решить все ваши проблемы...

8 мая 2019 г. 03:07:51
Комментарии

Это сработало у меня на Ubuntu

samu101108 samu101108
11 авг. 2021 г. 16:16:40
0

Это проблема с разрешениями. Вот несколько шагов для исправления прав владения и чтения/записи более безопасным способом:

// проверьте, к каким группам принадлежит ваше имя пользователя

$ groups

// если ваше имя пользователя не принадлежит к группе www-data, добавьте его

$ sudo usermod -a -G www-data имя_пользователя

// выйдите из ssh-сессии (или закройте окно терминала, если работаете локально), чтобы изменения вступили в силу

$ exit

// теперь предоставьте группе www-data права владения для /var/www/html (вы не изменяете владельца, только групповые права)

$ sudo chgrp -R www-data /var/www/html

// предоставьте необходимые права на чтение/запись для директорий и файлов пользователям, входящим в группу www-data

$ sudo find /var/www/html -type d -exec chmod g=rwxs "{}" \;

$ sudo find /var/www/html -type f -exec chmod g=rw "{}" \;

// я предпочитаю проверять изменения перед продолжением

$ ls -l /var/www/html/

// скорее всего, перезапуск apache не требуется, но если хотите

$ sudo service apache2 restart

Теперь Apache должен иметь права на чтение/запись для /var/www/html, а также любой пользователь, который подключается по ssh/ftp и принадлежит к группе www-data

8 мая 2019 г. 05:24:38
1

Пользователи Ubuntu

Просто добавьте define('FS_METHOD','direct'); в файл wp-config.php, и это будет работать на localhost. Убедитесь, что не добавляете это в продакшен-версию. Подробнее: codex.wordpress.org/Editing_wp-config.php

17 июн. 2016 г. 09:29:39
Комментарии

Это не относится конкретно к Ubuntu...

Tim Malone Tim Malone
17 июн. 2016 г. 09:32:08
2

Обычно я использую:

sudo chown -R _www:_www /путь/к/wordpress/

если безопасность не является критичной проблемой

21 июл. 2016 г. 17:15:37
Комментарии

Это работает, но если я так сделаю, то не смогу ничего делать в этой папке через Finder. Раньше таких проблем не было, и странно, что они начались в этом году.

v3nt v3nt
16 мая 2018 г. 14:16:55

Это нормально, если безопасность не является большой проблемой, но вам не стоит открывать все ваши WordPress-файлы подобным образом для всего, что связано с интернетом :)

JimLohse JimLohse
7 июн. 2019 г. 22:10:39
0

Это не проблема WordPress. Вам нужно обратиться к документации сервера LAMP, чтобы проверить варианты настройки.

Для локального сервера вы можете обойти установку плагинов через WordPress и просто скопировать свои плагины в папку /wp-content/plugins. После копирования перейдите в админ-панель WordPress, и плагины появятся в списке, готовые к активации.

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

10 июн. 2011 г. 07:02:11
0

Вам нужно выполнить два действия:

  1. Добавить строку, как сказал WolfieZero:

    define('FS_METHOD','direct'); в файл wp-config.php

На этом этапе вы получите следующее сообщение, что означает прогресс:

Распаковка пакета… Не удалось создать директорию.

2. Затем установите разрешения 777 для папки wp-content/plugins

После этого появится сообщение следующего вида:

Загрузка установочного пакета из https://downloads.wordpress.org/theme/exclusive.1.0.32.zip…

 Распаковка пакета…
 Установка темы…
 Тема Exclusive 1.0.32 успешно установлена.

Также должен сработать CHOWN, и это более правильный способ, когда сервер находится в группе владельца.

15 сент. 2015 г. 11:27:39
4
-1

Обычно я делаю так, когда это происходит (только локально, не для продакшена):

chown -R nobody:nobody /путь/до/wordpress
10 июн. 2011 г. 14:07:24
Комментарии

Это снижает безопасность? Я читал, что Apache не должен владеть файлами, но возможно, это всего лишь чьё-то мнение.

jfa jfa
18 июн. 2014 г. 22:53:44

chown: недопустимая группа: ‘nobody:nobody’

DaVince DaVince
6 сент. 2017 г. 10:58:35

Что ж, приведённый выше комментарий верен, идея nobody:nobody, вероятно, исходит из записи в /etc/passwd, nobody:nobody. Я сомневаюсь в более серьёзном вопросе о том, кто должен владеть различными файлами, в настоящее время изучаю этот вопрос для загрузки тем Wordpress, и существует много противоречивой информации о владении файлами. Так что это не совсем "правильный" ответ, если только mike23 не приведёт убедительный аргумент и ссылку на справочные материалы, например, "Предоставить содержимое для ссылок"

JimLohse JimLohse
7 июн. 2019 г. 22:05:17

Для Асафа или тех, кто попал сюда через Google, ознакомьтесь с https://wordpress.org/support/article/hardening-wordpress/, установите максимально строгие права доступа и решите, готовы ли вы открывать права для директорий загрузок.

JimLohse JimLohse
7 июн. 2019 г. 22:06:44
0
-1

Если вы используете mod_php, переключитесь на mod_suphp. В прошлом это помогало мне решить проблему.

Не знаю, под каким пакетом он будет указан в Ubuntu, но обычно он где-то есть. Работает и в Fedora.

10 июн. 2011 г. 18:56:17
0
-1

Не знаю, отвечали ли вам уже... но я столкнулся с этой проблемой, особенно когда работал на Linux, и подумал, что это может быть полезно другим пользователям, особенно тем, кто работает на Linux. У меня была та же самая проблема... но мне пришлось использовать опцию SSH2.

Как установить SSH2:

apt-get install openssh-server libssh2-php

После этого мне пришлось перезапустить сервер apache2.

Затем, когда я попытался загрузить свою тему, мне пришлось использовать SSH, а не FTP, когда запрашивались учетные данные.

Например:

 Hostname: localhost

 FTP/SSH Username: admin

 FTP/SSH Password: password

И это сработало.

Спасибо.

20 июн. 2016 г. 12:08:07