Я использую WordPress на своем живом сервере, который использует только SFTP с использованием ключа SSH .
Я хочу установить и обновить плагины, но, похоже, вам необходимо ввести свой FTP-логин для установки плагинов. Есть ли способ установить и обновить плагины, загрузив файлы вручную вместо того, чтобы WordPress обрабатывал весь процесс?
wp-content/plugins/
из wp dashboard, затем перейдите на вкладку plugins и включите его.VPS
, следует попробовать это: stackoverflow.com/a/44137965/3160597Ответы:
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:
Разрешения объяснены здесь:
источник
getmyuid
строки 876 здесь, возможно, некорректно, так как она возвращает UID владельца скрипта, а не исполнителя скрипта. Я верю, что так и должно бытьposix_getuid
.print_r(posix_getpwuid(posix_geteuid()));
Вы можете добавить код вwp-config
файл.chown -R www-data wordpress/wp-content
не работал для меня, ноchown -R www-data wordpress
сделалКак уже говорилось, ни одно из пермских исправлений больше не работает. Вам необходимо соответствующим образом изменить ПЕРЕДАЧУ и указать следующее
wp-config.php
:источник
Просто хотел добавить, что вы НИКОГДА не должны устанавливать
wp-content
разрешение или разрешение для любой папки777
.Вот что я должен был сделать, чтобы:
1) Я установил владение папкой wordpress (рекурсивно) для пользователя apache, например, так:
# chown -R apache wordpress/
2) Я изменил групповое владение папкой wordpress (рекурсивно) на группу apache, вот так:
# chgrp -R apache wordpress/
3) предоставить владельцу полную привилегию для каталога, например так:
# chmod u+wrx wordpress/*
И это сделало работу. Моя
wp-content
папка имеет755
разрешения, кстати.TL; версия DR:
источник
wp-config.php
добавленииdefine('FS_METHOD', 'direct');
wp-content/
,wp-content/plugins/
.wp-content/plugins
каталог).Работал на версии 3.2.1
источник
откройте
wp-config.php
файл и добавьте следующую строку:define('FS_METHOD', 'direct');
это работает для меня ... Спасибо
источник
Просто быстрое изменение в wp-config.php
Вот и все, наслаждайтесь вашими обновлениями WordPress без FTP !
Альтернативный метод:
источник
Чтобы включить использование SSH2 для обновлений и загрузки тем, вам необходимо сгенерировать ключи SSH и установить модуль PHP SSH. Затем WordPress обнаружит, что у вас есть доступный SSH2, и вы увидите другую опцию (SSH2), отображаемую при загрузке / обновлении.
1.) Убедитесь, что у вас установлен модуль PHP для Debian:
2.) Генерация ключей SSH, добавление ключевой фразы необязательно:
3.) Измените разрешение, чтобы WordPress мог получить доступ к этим ключам:
Теперь вы получите опцию SSH2 при выполнении загрузки / обновления / плагина.
4.) Для большей простоты вы можете установить значения по умолчанию в вашем,
wp-config.php
и это будет предварительно заполнять учетные данные SSH в окне загрузки WordPress.«Пароль» необязателен, если вы не настроили пароль во время
ssh-kengen
; тогда не добавляйте это вwp-config.php
Это решило мою проблему. И я не должен был делать это
chown
вообще. Но я видел этот метод в других местах.Ссылки:
источник
Обычно вы можете просто загрузить свой плагин в
wp-content\plugins
каталог. Если у вас нет доступа к этому каталогу через SFTP, боюсь, вы застряли.источник
Вы можете получить это очень легко, набрав следующую команду в командной строке
или скопируйте и вставьте следующий код в файл wp-config.php.
Где «your_folder_name» - это папка, в которой установлен ваш WordPress внутри этой папки.
источник
Выполните следующий код в терминале
Для получения дополнительной информации посетите Wordpress на Ubuntu установить плагины без доступа по FTP
источник
sudo chown -R www-data /var/www/html
Добавьте следующий код в wp-config
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
источник
Если вы работаете в Ubuntu , быстрое решение, которое помогло мне, - передать право собственности пользователю Apache (по умолчанию www-data):
источник
Изменить с
php_mod
наfastcgi
сcgi
иSuEXEC
включен. Работает для меня.Если не работает, попробуйте изменить ,
wp-content
чтобы775
в корне:Добавить к
wp-config.php
:надеюсь это работает
источник
WordPress 2.7 позволяет загружать zip-файлы напрямую (в нижней части страницы плагинов есть ссылка) - доступ по FTP не требуется. Это новая функция в 2.7, и она работает только для плагинов (пока не для тем).
источник
Воскрешение старого потока, но есть фантастический новый плагин под названием SSH SFTP Updater Support, который добавляет возможности SFTP без необходимости редактировать ваш
wp-config.php
файл. Кроме того, реализация SFTP в Wordpress опирается на некоторые неясные модули PHP, которые часто не включены на серверах; Этот плагин упаковывает другой плагин PHP SFTP, поэтому вам не нужно ничего настраивать на стороне Apache.Я столкнулся с множеством проблем при получении поддержки SFTP - этот плагин решил все из них и просто фантастический.
источник
Попробуй это
1) В
wp-config.php
дополненииdefine('FS_METHOD', 'direct');
2) Установите
wp-content
каталог777
для записи.3) Теперь установите плагин.
источник
Ответ от стереоинтерактивного охватывает все варианты. Просто хотел упомянуть альтернативный способ использования FTP. Я предполагаю, что причина, по которой вы не разрешаете доступ по FTP, заключается в безопасности. Одним из способов решения этих проблем безопасности является запуск прослушивания вашего FTP-сервера только на 127.0.0.1.
Это позволяет вам использовать FTP изнутри WordPress, и вы сможете устанавливать плагины, не раскрывая его остальному миру. Это также может быть применено к другим популярным веб-приложениям, таким как Joomla! и Drupal. Это то, что мы делаем с нашими устройствами BitNami и облачными серверами, и работает довольно хорошо.
источник
Я также рекомендую плагин SSH SFTP Updater Support . Просто решил все мои проблемы тоже ... особенно в отношении получения плагинов для удаления через администратор. Просто установите его обычным способом, и в следующий раз, когда WordPress предложит вам указать детали FTP, появятся дополнительные поля для копирования / вставки вашего личного ключа SSH или загрузки файла PEM.
Единственная проблема, которую я имею, состоит в том, чтобы заставить это запомнить ключ (попробовал оба метода). Мне не нравится идея найти и вводить его каждый раз, когда мне нужно удалить плагин. Но, по крайней мере, сейчас это серьезное исправление.
источник
Да, прямо установить плагин в WordPress.
другой вариант
источник
Можно использовать SFTP или SSH для автоматического обновления плагинов в WordPress, но вам нужно иметь расширение ssh2 pecl. Вы можете узнать, как это сделать, используя следующий учебник
источник
Мы используем SFTP с SSH (как на наших серверах разработки, так и на живых серверах), и я попытался (хотя и не слишком сильно) использовать функцию загрузки WordPress. Я согласен с Тоби, загрузите ваши плагины в
wp-content/plugins
каталог, а затем активируйте их оттуда.источник
Я видел много людей, которые рекомендовали установить разрешение для 777. У меня была та же проблема, что и 2 дня назад, и все, что я сделал, это добавил это в wp-content
а также
Это решило мою проблему запроса логина / пароля для доступа по FTP.
Перед этим мне пришлось добавить плагин вручную, добавив ZIP-файл в папку плагина, а затем перейти
wp-admin/plugins
и установить его.источник
Попробуйте это. Проверьте правильность разрешения для папки wp-content.
Отредактируйте wp-config.php и добавьте следующую строку
chmod каталог "wp-content" в www-data для полного доступа.
Теперь попробуйте установить плагин.
источник
Да, ты можешь сделать это.
Вам нужно добавить
в вашем wpconfig. Но этот метод не будет предпочтительным, потому что он имеет охранные функции.
Спасибо,
источник
Способ 1: Вы можете установить это: 1. в wp-config.php вам нужно написать эти строки.
Примечание: установите это после define ('DB_CHARSET', 'utf8mb4').
установить рекурсивное разрешение wp-контента или полное разрешение 777, которое вы можете дать через filezilla. запись нажмите на каталог> разрешения> проверить чтение-запись и выполнение, а также проверить Recurse в подкаталогах
Способ 2:
или Вы также можете установить это
источник
Note: put this after define( 'DB_CHARSET', 'utf8mb4' ).
установка 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 в Интернете.
источник
Вот простой метод.
Выполните следующие команды.
Это включит ваш модуль mod_rewrite для Apache
Эта команда изменит владельца папки на www-data
После выполнения вышеуказанных команд вы можете установить любые темы без FTP.
источник
sudo chown -R www-data [Wordpress Folder Location]
Пожалуйста, добавьте
define('FS_METHOD','direct');
в wo-config.phpисточник
Единственная причина, по которой WordPress не позволяет вам загружать плагин через панель администратора WordPress, когда у вас нет разрешения на запись в каталог / wp-content. Помните, что для вашего каталога wordpress / wp-content требуется уровень разрешений 0755. Существуют различные способы изменить уровень разрешений папки.
Изменение прав доступа к файлу с помощью cPanel:
Перейдите в диспетчер файлов и откройте общедоступную папку HTML, где должен находиться ваш веб-сайт WordPress, или откройте корневой каталог сайта, если ваш веб-сайт находится в какой-то другой папке. В корневом каталоге WordPress перейдите к папке wp-content; в конце строки папки wp-content в самом последнем поле указаны права доступа к файлам для этой папки. Обязательно измените уровень разрешений папки на 0755, и все готово.
Изменение прав доступа к файлу с помощью SSH-терминала:
В вашем терминале найдите корень сайта WordPress, который в моем случае был / var / www / html, поэтому для перемещения в корневой каталог WordPress введите следующую команду:
Теперь вы находитесь в корневом каталоге WordPress, где находится требуемая папка / wp-content. Поэтому, чтобы изменить права доступа к файлу, введите следующую команду:
Это изменит разрешение вашего файла каталога / wp-content на 0755.
Теперь вы не получите сообщение об ошибке загрузки плагинов WordPress через FTP.
источник
Лучший способ установить плагин с использованием 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
Теперь WP CLI готов к установке.
Теперь вы можете установить любой плагин, доступный в WordPress.org, используя следующие команды:
ПРИМЕЧАНИЕ: wp cli может устанавливать только те плагины, которые доступны на wordpress.org
источник