Сервер Ubuntu, стек LAMP, свежеустановленный WordPress.
По- видимому, я не могу использовать direct
метод доступа к файловой системе, потому что файлы принадлежат разным владельцам (ядро WP распаковано мной, а файлы, которые WP создает www-data
).
Я попробовал свои учетные данные для ftp
метода, но либо что-то пошло не так, либо в стеке просто не установлен FTP-сервер.
Погуглил предложение установить libssh2-php
и использовать ssh
метод. Заполнив мои учетные данные (кроме ключей, не знаю, что туда вставить), он работал для удаления плагинов, но не мог установить новые со следующей ошибкой:
Downloading install package from http://downloads.wordpress.org/plugin/serverbuddy-by-pluginbuddy.0.1.6.zip…
Unpacking the package…
Could not copy file. /var/www/wp-content/upgrade/serverbuddy-by-pluginbuddy.tmp/
Я немного запутался каким методом тыкать. Должен ли я пытаться настроить и применить direct
? Или как исправить ssh
? Или просто установить какой-нибудь ftp-сервер?
В идеале вы устанавливаете php-suexec, чтобы php-скрипт работал как владелец файла. Это позволяет использовать прямой метод, не требуя каких-либо изменений разрешений.
Я установил
apache2-suexec
пакет, но он не работал из коробки, и я заблудился в настройках гугла. В любом случае для моей виртуальной машины я решил проблемуssh
, установив парольroot
и используя эти учетные данные. Принятие этого ответа, потому что это более правильно и как это должно быть сделано в производстве.Как насчет…
Я имею в виду, что suexec + root как владелец скриптов… может привести к нежелательным результатам.
Я задокументировал некоторые соответствующие настройки в своем блоге: конфигурация proFTPd