WordPress на EC2 требует наличия учетных данных FTP для установки плагинов

36

Я только что установил WordPress 3.5.2 на экземпляр Amazon Linux AMI EC2 micro. Когда я попытался установить плагин wp-db-backup (плагины → Добавить новый), мне было предложено указать имя хоста, имя пользователя FTP, пароль FTP и тип подключения.

В ответ на этот вопрос рекомендуется выполнить passwd в командной строке. Я не совсем понимаю, что я делаю в командной строке на основе этого ответа. Итак, я googled и нашел статью о настройке vsftpd. В статье обсуждается создание сертификата на сервере, и мне интересно, не пойду ли я здесь, следуя этой статье. Я использую CentOS 6.3 локально и Amazon Linux AMI на EC2).

Любая помощь/руководство будут оценены. Заранее спасибо.


EDIT


Я читал WordPress Codex, в котором обсуждались константы ftp для файла wp-config.php. Он рекомендовал, чтобы я определял как можно меньше этих констант для исправления моих проблем с обновлением. Я нахожусь на правильном пути здесь (особенно с точки зрения безопасности)? Я перечислил константы ниже. Любые рекомендации будут оценены.

define('FS_METHOD', 'ftpext');
define('FTP_BASE', '/path/to/wordpress/');
define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');
define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
define('FTP_PRIKEY', '/home/username/.ssh/id_rsa');
define('FTP_USER', 'username');
define('FTP_PASS', 'password');
define('FTP_HOST', 'ftp.example.org');
define('FTP_SSL', false);
Теги:
amazon-ec2
wordpress-plugin

7 ответов

95

Основная проблема здесь в том, что apache не имеет доступа к папкам. Разрешение по умолчанию предоставляется пользователю ec2 в AMI.

запустите это в своем терминале, и вам должно быть хорошо идти.

sudo chown -R apache:apache /var/www/html

Как только это будет сделано, вы сможете загружать темы, плагины, обновления и т.д.

Подробные инструкции по установке Wordpress на EC2 следуйте этой ссылке. http://www.tecsolsoftware.com/blog/how-to-install-wordpress-drupal-joomla-etc-on-aws-ec2-in-5-minutes/

Если вы хотите установить Wordpress с помощью Nginx, перейдите по этой ссылке. http://www.tecsolsoftware.com/blog/superfast-wordpress-nginx/

  • 2
    Это помогло мне. Вместо 100 обходных путей и установки FTP, установка разрешения для Apache - правильный способ сделать это. Спасибо, приятель, это самое быстрое решение.
  • 2
    работал на меня тоже
Показать ещё 13 комментариев
38

Попробуйте этот код в вашем конфигурационном файле wp

define('FS_METHOD', 'direct');
  • 0
    +1 Спасибо за ваш ответ. Я решил проблему, открыв порты для FTP (см. Ответ выше). еще раз спасибо
  • 0
    это не работает для меня.
Показать ещё 3 комментария
22

изменить владельца каталога wordpress

sudo chown -R www-data:www-data /var/www/wordpress

ИЛИ попробуйте

define('FS_METHOD', 'direct');
  • 1
    Разве Amazon Linux AMI не использует пользователя apache для httpd? Этот ответ работал для меня, но, как и OP, у меня был Amazon Linux AMI, и я должен был использовать пользователя apache .
  • 2
    Это сработало для моего экземпляра EC2, OCT, 30,2017.
5

Я нашел ответ на этот вопрос в пост в блоге Стивена Уайта.

В двух словах я должен

  • создавать пользовательские правила для диапазонов портов 20-21 и некоторые дополнительные порты в моем экземпляре EC2 FW
  • установить и настроить FTP-сервер vsftpd
  • создать и настроить пользователя FTP
  • и поместите мою настройку FTP в файл wp-config.php

    Теперь это очень хорошо для меня.

  • 0
    ссылка не работает
4

Это сработало для меня:

Сначала следуйте указаниям Файзана и поместите следующую строку, если ваш wp-config.php:

# you will want this as close to the bottom as possible
define('FS_METHOD', 'direct');

Затем вам нужно ВРЕМЕННО изменить ваши права доступа к файлу в более открытое состояние. В командной строке введите следующее:

sudo chmod 777 -R /your_whole_wp_project

Теперь запустите свои обновления, а затем измените права на что-то разумное, например:

sudo chmod 664 -R /your_whole_wp_project

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

2

'define (' FS_METHOD ',' direct ');' предложение помогло мне после редактирования моей группы безопасности в EC2, чтобы обеспечить исходящий доступ к порту 443 (HTTPS)

  • 0
    Спасибо человек, ты спас меня!
1

sudo chown -R www-data: www-data/var/www/html/wordpress

вышеупомянутая команда сделала трюк для меня.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню