Могу ли я установить / обновить плагины WordPress без предоставления доступа по FTP?

wordpress

356619 просмотра

29 ответа

Я использую WordPress на своем живом сервере, который использует только SFTP с использованием ключа SSH .

Я хочу установить и обновить плагины, но, похоже, вам необходимо ввести свой FTP-логин для установки плагинов. Есть ли способ установить и обновить плагины, загрузив файлы вручную вместо того, чтобы WordPress обрабатывал весь процесс?

Автор: user77413 Источник Размещён: 21.06.2019 01:59

Ответы (29)


723 плюса

WordPress будет запрашивать информацию о вашем FTP-соединении только при попытке установить плагины или обновление WordPress, если он не может писать /wp-contentнапрямую. В противном случае, если ваш веб-сервер имеет доступ для записи необходимых файлов, он автоматически позаботится об обновлениях и установке. Этот метод не требует наличия доступа к FTP / SFTP или SSH, но требует наличия определенных прав доступа к файлам на веб-сервере.

Он будет пробовать различные методы по порядку и использовать FTP, если методы Direct и SSH недоступны.

https://github.com/WordPress/WordPress/blob/4.2.2/wp-admin/includes/file.php#L912

WordPress попытается записать временный файл в ваш /wp-contentкаталог. Если это удастся, он сравнивает владение файлом со своим собственным uid, и, если есть совпадение, он позволит вам использовать «прямой» метод установки плагинов, тем или обновлений.

Теперь, если по какой-то причине вы не хотите полагаться на автоматическую проверку, какой метод файловой системы использовать, вы можете определить константу 'FS_METHOD'в вашем wp-config.phpфайле, то есть любую, 'direct', 'ssh', 'ftpext' or 'ftpsockets'и он будет использовать этот метод. Помните, что если вы установите для этого параметра значение «direct», но ваш веб-пользователь (имя пользователя, под которым работает ваш веб-сервер) не имеет надлежащих разрешений на запись, вы получите сообщение об ошибке.

Итак, если вы не хотите (или не можете) изменять разрешения для wp-контента, чтобы ваш веб-сервер имел права на запись, добавьте это в файл wp-config.php:

define('FS_METHOD', 'direct');

Разрешения объяснены здесь:

Автор: stereoscott Размещён: 13.04.2011 01:25

236 плюса

Как уже говорилось, ни одно из пермских исправлений больше не работает. Вам необходимо соответствующим образом изменить ПЕРЕДАЧУ и указать следующее wp-config.php:

define('FS_METHOD', 'direct');
Автор: unc0nnected Размещён: 22.02.2012 07:36

97 плюса

Просто хотел добавить, что вы НИКОГДА не должны устанавливать wp-contentразрешение или разрешение для любой папки 777.

Вот что я должен был сделать, чтобы:

1) Я установил владение папкой wordpress (рекурсивно) для пользователя apache, например, так:

# chown -R apache wordpress/

В случае Ubuntu, Mint или Debian # chown -R www-data:www-data wordpress/

2) Я изменил групповое владение папкой wordpress (рекурсивно) на группу apache, вот так:

# chgrp -R apache wordpress/

Пропустите этот шаг для Ubuntu, Mint или Debian

3) предоставить владельцу полную привилегию для каталога, например так:

# chmod u+wrx wordpress/*

И это сделало работу. Моя wp-contentпапка имеет 755разрешения, кстати.

TL; версия DR:

# chown -R apache:apache wordpress
# chmod u+wrx wordpress/*
Автор: sufinawaz Размещён: 17.05.2013 10:34

69 плюса

  1. В wp-config.phpдобавленииdefine('FS_METHOD', 'direct');
  2. Сделайте сервер доступным для записи каталогов wp-content/, wp-content/plugins/.
  3. Установите плагин (скопируйте dir плагина в wp-content/pluginsdir).

Работал на версии 3.2.1

Автор: Lamy Размещён: 16.04.2012 05:05

49 плюса

откройте wp-config.phpфайл и добавьте следующую строку:

define('FS_METHOD', 'direct');

это работает для меня ... Спасибо

Автор: StreetCoder Размещён: 27.02.2016 11:23

33 плюса

Просто быстрое изменение в wp-config.php

define('FS_METHOD','direct');

Вот и все, наслаждайтесь вашими обновлениями WordPress без FTP !

Альтернативный метод:

Существуют хосты, которые не позволят этому методу работать, чтобы упростить обновление WordPress. К счастью, есть еще один способ, чтобы этот вредитель не запрашивал у вас имя пользователя и пароль для FTP.

Опять же, после объявления логина MYSQL в вашем файле wp-config.php, добавьте следующее:

define("FTP_HOST", "localhost");
define("FTP_USER", "yourftpusername");
define("FTP_PASS", "yourftppassword");
Автор: ravi patel Размещён: 26.12.2014 12:41

21 плюса

Чтобы включить использование SSH2 для обновлений и загрузки тем, вам необходимо сгенерировать ключи SSH и установить модуль PHP SSH. Затем WordPress обнаружит, что у вас есть доступный SSH2, и вы увидите другую опцию (SSH2), отображаемую при загрузке / обновлении.

1.) Убедитесь, что у вас установлен модуль PHP для Debian:

sudo apt-get install libssh2-php

2.) Генерация ключей SSH, добавление ключевой фразы необязательно:

ssh-keygen
cd  ~/.ssh
cp id_rsa.pub authorized_keys

3.) Измените разрешение, чтобы WordPress мог получить доступ к этим ключам:

cd ~
chmod 755 .ssh
chmod 644 .ssh/*

Теперь вы получите опцию SSH2 при загрузке / обновлении / плагине. WP SSH соединение

4.) Для большей простоты вы можете установить значения по умолчанию в вашем, wp-config.phpи это будет предварительно заполнять учетные данные SSH в окне загрузки WordPress.

define('FTP_PUBKEY','/home/<user>/.ssh/id_rsa.pub');
define('FTP_PRIKEY','/home/<user>/.ssh/id_rsa');
define('FTP_USER','<user>');
define('FTP_PASS','passphrase');
define('FTP_HOST','domain.com');

«Пароль» необязателен, если вы не настроили пароль во время ssh-kengen; тогда не добавляйте это вwp-config.php

Это решило мою проблему. И я не должен был делать это chownвообще. Но я видел этот метод в других местах.

Рекомендации:

Автор: JacquelineIO Размещён: 16.06.2013 04:53

19 плюса

Обычно вы можете просто загрузить свой плагин в wp-content\pluginsкаталог. Если у вас нет доступа к этому каталогу через SFTP, боюсь, вы застряли.

Автор: Toby Allen Размещён: 12.03.2009 08:59

17 плюса

Вы можете получить это очень легко, набрав следующую команду в командной строке

sudo chown -R www-data:www-data your_folder_name

или скопируйте и вставьте следующий код в файл wp-config.php.

define('FS_METHOD', 'direct');

Где «your_folder_name» - это папка, в которой установлен ваш WordPress внутри этой папки.

Автор: Roman Размещён: 21.06.2014 07:32

15 плюса

Добавьте следующий код в wp-config

define('FS_METHOD', 'direct');

FS_METHOD форсирует метод файловой системы. Это должно быть только direct, ssh2, ftpext или ftpsockets. Как правило, вы должны изменить это, только если у вас возникли проблемы с обновлением. Если вы измените его, и это не поможет, измените его обратно / удалите. В большинстве случаев установка его в «ftpsockets» будет работать, если не выбран автоматически выбранный метод.

(Первичное предпочтение) «direct» вынуждает его использовать запросы прямого файлового ввода-вывода изнутри PHP, это чревато открытием проблем безопасности на плохо настроенных хостах. Это выбирается автоматически при необходимости.

(Вторичное предпочтение) "ssh2" - принудительно использовать расширение SSH PHP, если оно установлено

(3-е предпочтение) «ftpext» - заставить PHP-расширение FTP использовать FTP-доступ и, наконец,

(4-е предпочтение) "ftpsockets" использует класс PHP Sockets для доступа по FTP

Для получения дополнительной информации посетите: http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants

Автор: Rahul Balakrishna Размещён: 22.05.2014 05:13

15 плюса

Выполните следующий код в терминале

sudo chown -R www-data /var/www

Для получения дополнительной информации посетите Wordpress на Ubuntu установить плагины без доступа по FTP

Автор: Bikram Shrestha Размещён: 24.07.2015 09:51

13 плюса

Если вы работаете в Ubuntu , быстрое решение, которое сработало для меня, - передать право собственности пользователю Apache (по умолчанию www-data):

cd your_wordpress_directory
sudo chown -R www-data wp-content
sudo chmod -R 755 wp-content
Автор: mikermcneil Размещён: 12.02.2012 08:32

11 плюса

WordPress 2.7 позволяет загружать zip-файлы напрямую (в нижней части страницы плагинов есть ссылка) - доступ по FTP не требуется. Это новая функция в 2.7, и она работает только для плагинов (пока не для тем).

Автор: D. Lambert Размещён: 12.03.2009 09:00

9 плюса

Воскрешение старого потока, но есть фантастический новый плагин под названием SSH SFTP Updater Support, который добавляет возможности SFTP без необходимости редактировать ваш wp-config.phpфайл. Кроме того, реализация SFTP в Wordpress опирается на некоторые неясные модули PHP, которые часто не включены на серверах; этот плагин упаковывает другой плагин PHP SFTP, поэтому вам не нужно ничего настраивать на стороне Apache.

Я столкнулся с множеством проблем при получении поддержки SFTP - этот плагин решил все из них и просто фантастический.

Автор: chrismanderson Размещён: 08.02.2012 04:47

9 плюса

Попробуй это

1) В wp-config.php добавить определение ('FS_METHOD', 'direct');

2) Установите для каталога "wp-content" значение 777 для записи.

3) Теперь установите плагин.

Автор: Raj Размещён: 28.09.2012 07:04

9 плюса

  1. изменить с php_modна fastcgiс cgiи SuEXECвключен, у меня работает

не забывай если не работаешь попробуй поменять

  1. изменить wp-контент на 775 как root

    chmod -R 775 ./wp-content

  2. добавить в wp-config.php

    define ('FS_METHOD', 'direct');

надеюсь это работает

Автор: Zaman Размещён: 11.09.2017 05:18

8 плюса

Ответ от стереоинтерактивного охватывает все варианты. Просто хотел упомянуть альтернативный способ использования FTP. Я предполагаю, что причина, по которой вы не разрешаете доступ по FTP, заключается в безопасности. Одним из способов решения этих проблем безопасности является запуск прослушивания вашего FTP-сервера только на 127.0.0.1.

Это позволяет вам использовать FTP изнутри WordPress, и вы сможете устанавливать плагины, не раскрывая его остальному миру. Это также может быть применено к другим популярным веб-приложениям, таким как Joomla! и Drupal. Это то, что мы делаем с нашими устройствами BitNami и облачными серверами, и работает довольно хорошо.

Автор: kaysa Размещён: 27.07.2011 02:43

8 плюса

Я также рекомендую плагин SSH SFTP Updater Support . Просто решил все мои проблемы тоже ... особенно в отношении получения плагинов для удаления через администратор. Просто установите его обычным способом, и в следующий раз, когда WordPress предложит вам указать детали FTP, появятся дополнительные поля для копирования / вставки вашего личного ключа SSH или загрузки файла PEM.

Единственная проблема у меня в том, чтобы заставить его запомнить ключ (пробовал оба метода). Мне не нравится идея найти и вводить его каждый раз, когда мне нужно удалить плагин. Но, по крайней мере, сейчас это серьезное исправление.

Автор: Mark Jeldi Размещён: 27.02.2012 07:34

8 плюса

Да, прямо установить плагин в WordPress.

  1. Скопируйте папку плагина и вставьте в папку плагина WordPress.
  2. перейдите на сторону администратора (/ test / wp-admin), затем перейдите по ссылке на плагин и проверьте название плагина.
  3. Активируйте плагин, чтобы легко установить плагин.

другой вариант

  1. создайте zip-файл для кода плагина.
  2. перейдите на сторону администратора (/ test / wp-admin), затем перейдите по ссылке на плагин, затем нажмите на добавление нового, затем просмотрите папку плагина zip и установите плагин, затем выберите опцию активировать плагин, так что активируйте плагин и активировать плагин.
Автор: Maulik patel Размещён: 26.11.2013 10:02

6 плюса

Можно использовать SFTP или SSH для автоматического обновления плагинов в WordPress, но вам нужно иметь расширение ssh2 pecl. Вы можете узнать, как это сделать, используя следующий учебник

Автор: Sudar Размещён: 14.09.2009 11:03

6 плюса

Мы используем SFTP с SSH (как на наших серверах разработки, так и на живых серверах), и я попытался (хотя и не слишком сильно) использовать функцию загрузки WordPress. Я согласен с Тоби, загрузите ваши плагины в wp-content/pluginsкаталог, а затем активируйте их оттуда.

Автор: Schoffelman Размещён: 14.03.2009 06:42

6 плюса

Я видел много людей, которые рекомендовали установить разрешение для 777. У меня была та же проблема, что и 2 дня назад, и все, что я сделал, это добавил это в wp-content

define('FS_METHOD', 'direct');

а также

установить разрешение 775 для папки плагинов

Это решило мою проблему запроса логина / пароля для доступа по FTP.

Перед этим мне пришлось добавить плагин вручную, добавив ZIP-файл в папку плагина, а затем перейти wp-admin/pluginsи установить его.

Автор: ZainZaheer Размещён: 23.07.2017 02:19

5 плюса

Попробуйте это. Проверьте правильность разрешения доступа к папке wp-content.

Отредактируйте wp-config.php и добавьте следующую строку

define('FS_METHOD', 'direct');

chmod каталог "wp-content" в www-data для полного доступа.

Теперь попробуйте установить плагин.

Автор: Javeed Shakeel Размещён: 18.12.2017 07:49

3 плюса

Да, ты можешь сделать это.

Вам нужно добавить

define('METHOD','direct');

в вашем wpconfig. Но этот метод не будет предпочтительным, потому что он имеет охранные функции.

Спасибо,

Автор: Riyaz Размещён: 21.05.2019 05:30

2 плюса

установка ftp, или даже SFTP-соединения, или chmod 777 - плохой путь для чего-либо, кроме локальной среды. Открытие даже метода SFTP создает больше рисков для безопасности, которые не нужны.

для этого необходимо разрешение на запись / wp-content / uploads & / wp-content / plugins / владельцем этих каталогов. (linux ls -la покажет вам право собственности).

Пользователь Apache по умолчанию - www-data.

CHMOD 777 позволяет редактировать эти файлы любому пользователю машины, а не только пользователю ветки apache / php.

SFTP, если вы еще не используете его, представит другую точку возможного сбоя из внешнего источника. В то время как для выполнения задачи вам нужен доступ только локальному пользователю, выполняющему процесс apache / php.

Я не видел, чтобы кто-то высказывал эти замечания, поэтому я подумал, что предложу эту информацию, чтобы помочь с нашими постоянными проблемами безопасности WP онлайн.

Автор: Jason Размещён: 12.08.2018 09:07

1 плюс

Вот простой метод.

Выполните следующие команды.

Это включит ваш модуль mod_rewrite для Apache

$sudo a2enmod rewrite

Эта команда изменит владельца папки на www-data

$sudo chown -R www-data [Wordpress Folder Location]

После выполнения вышеуказанных команд вы можете устанавливать любые темы без FTP.

Автор: Manuja Jayawardana Размещён: 01.04.2019 07:54

0 плюса

Лучший способ установить плагин с использованием SSH - это WPCLI.

Обратите внимание, что доступ SSH является обязательным для использования команд WP CLI. Перед использованием проверьте, установлен ли WP CLI на вашем хост-сервере или компьютере.

Как проверить: wp --version[Он покажет установленную версию wp cli]

Если он не установлен, как его установить. Перед установкой WP-CLI убедитесь, что среда соответствует минимальным требованиям:

UNIX-подобная среда (OS X, Linux, FreeBSD, Cygwin); ограниченная поддержка в среде Windows. PHP 5.4 или более поздняя версия WordPress 3.7 или более поздняя версия. Версии, более старые, чем последняя версия WordPress, могут иметь пониженную функциональность

Если вышеуказанные пункты удовлетворены, пожалуйста, следуйте инструкциям : Ссылочный URL: WPCLI

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
[ download the wpcli phar ]

php wp-cli.phar --info [ check whether the phar file is working ]

chmod +x wp-cli.phar [ change permission ]
sudo mv wp-cli.phar /usr/local/bin/wp [ move to global folder ]
wp --info [ to check the installation ]

Теперь WP CLI готов к установке.

Теперь вы можете установить любой плагин, доступный в WordPress.org, используя следующие команды:

wp install plugin plugin-slug
wp delete plugin plugin-slug
wp deactivate plugin plugin-slug

ПРИМЕЧАНИЕ: wp cli может устанавливать только те плагины, которые доступны в wordpress.org

Автор: Tristup Размещён: 28.12.2018 04:47

0 плюса

Пожалуйста, добавьте define('FS_METHOD','direct');в wo-config.php

Автор: Gulshan kumar Размещён: 21.06.2019 10:57

-1 плюса

Вы можете иметь файл Zilla и использовать учетную запись FTP для обновления плагинов и тем. Или вы можете просто войти в Cpanel и получить доступ к папке WordPress, а затем вы можете обновить тему, разархивировав тему или плагин.

Автор: rushabhpathak Размещён: 04.09.2018 06:55
Вопросы из категории :
32x32