Я только что установил 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);
Основная проблема здесь в том, что 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/
Попробуйте этот код в вашем конфигурационном файле wp
define('FS_METHOD', 'direct');
изменить владельца каталога wordpress
sudo chown -R www-data:www-data /var/www/wordpress
ИЛИ попробуйте
define('FS_METHOD', 'direct');
apache
для httpd? Этот ответ работал для меня, но, как и OP, у меня был Amazon Linux AMI, и я должен был использовать пользователя apache
.
Я нашел ответ на этот вопрос в пост в блоге Стивена Уайта.
В двух словах я должен
и поместите мою настройку FTP в файл wp-config.php
Теперь это очень хорошо для меня.
Это сработало для меня:
Сначала следуйте указаниям Файзана и поместите следующую строку, если ваш 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
Я знаю, что это проблема безопасности, и, возможно, это не лучший способ сделать это, но это единственное, что я мог попробовать, чтобы заставить меня работать для меня.
'define (' FS_METHOD ',' direct ');' предложение помогло мне после редактирования моей группы безопасности в EC2, чтобы обеспечить исходящий доступ к порту 443 (HTTPS)
sudo chown -R www-data: www-data/var/www/html/wordpress
вышеупомянутая команда сделала трюк для меня.