Обновление WordPress темы на EC2 - PullRequest
18 голосов
/ 31 декабря 2011

Я размещаю WordPress сайт на EC2 и пытаюсь обновить мою тему через экран администратора.Его спрашивают у меня имя хоста и имя пользователя и пароль ftp.Ec2-xxx.compute-1.amazonaws.com:22 мое имя хоста?Я пробовал вместе с ec2user и root для моего имени пользователя ftp, но не повезло.Что я делаю не так?

Ответы [ 7 ]

43 голосов
/ 26 апреля 2012

Пропустите информацию FTP в целом и просто измените разрешение структуры каталогов, где установлен Wordpress.

VIA SSH

sudo chown -R apache:apache path/to/wordpress
  • sudo обеспечивает выполнение от имени пользователя root
  • chown изменит владельца каталога
  • -R сделает его рекурсивным, поэтому он изменит все файлы и каталоги в пределах
  • apache: apache: это пользователь: группа

А затем путь к WordPress.Может быть /var/www/html/sitename.com или если вы перейдете в папку, в которой установлен Wordpress, вы можете использовать точку (.), Чтобы указать ей изменить текущий каталог.

Это сделаетЭто потому, что вы не можете копировать файлы через sftp, так что хорошо бы по крайней мере изменить каталог тем на ec2-user: ec2-user user и group.

Так что это вернется к вашемуПользователь ssh / sftp:

sudo chown -R ec2-user:ec2-user path/to/wordpress

Вы можете назначить папки пользователю ftp и группе apache, а затем сделать их доступными для записи.Это позволит вам зайти в каталог по ftp и автоматически обновить все в Wordpress.

// Set the wp-contents into the apache group and then make files group writable
sudo chgrp -R apache wp-content
sudo chmod -R g+w wp-content
// This makes new files created in wp-content and all of its sub-directories group-writable.
sudo chmod g+s wp-content

Затем добавьте это в wp-config.php, чтобы Wordpress обновлялся только при применении этого wp-контента.:

define('FS_METHOD', 'direct');

Вы можете также применить ко всей установке Wordpress автоматическое обновление Wordpress, а не только плагины / темы.Если вы сделаете это, я бы порекомендовал поместить ваш файл wp-config.php на один каталог выше вашей установки Wordpress, чтобы вы могли заблокировать его отдельно.

РЕДАКТИРОВАТЬ : Всякий раз, когда у меня возникают проблемы с правами доступа к EC2, я захожу в корневой каталог site и вставляю эти строки. Я применяю его ко всей установке Wordpressв эти дни:

sudo find . -type d -exec chmod 0755 {} \;
sudo find . -type f -exec chmod 0644 {} \;
sudo chown -R ec2-user:apache .
sudo chmod -R g+w .
sudo chmod g+s .

Я использую что-то похожее на моем Mac.

18 голосов
/ 11 июля 2012

В вашем wp-config.php под directives добавьте эту строку:

define('FS_METHOD', 'direct');
14 голосов
/ 19 марта 2013

Вы можете просто решить эту проблему, выполнив это с помощью ssh:

sudo chown -R apache path / to / wordpress

тогда

sudo chmod -R 755 path / to / wordpress

5 голосов
/ 31 декабря 2011

Ваше имя хоста будет ec2-107-20-192-98.compute-1.amazonaws.com.

Ваше имя пользователя будет именем пользователя, которое вы обычно используете для SFTP к экземпляру - ec2user для некоторых типов экземпляров, Ubuntu для AMI Ubuntu и т. Д. EC2 обычно неиспользуйте пароли, предпочитая ключи SSH, поэтому вам придется установить пароль для своей учетной записи, введя passwd в командной строке.

2 голосов
/ 31 декабря 2011

Попробуйте добавить учетные данные FTP в wp-config.php: http://codex.wordpress.org/Editing_wp-config.php и http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants

Это должно заставить администратора WP перестать запрашивать детали FTP. Но в зависимости от того, как вы настроили разрешения через командную строку, возможно, придется перейти в командную строку, чтобы отредактировать файлы, такие как wp-config.php. И у вас может не быть достаточных разрешений для загрузки и для WP, чтобы разархивировать тему.

Как и в других ответах, я использую SFTP с сервером ec2-xx-xxx-xx-xx.compute-1.amazonaws.com имя пользователя ec2-user

0 голосов
/ 02 ноября 2012

Вы можете просто использовать 127.0.0.1 в качестве имени хоста и проверить FTP в настройках WordPress ftp. Чтобы возобновить сказанное:

  • user - это то же самое, что вы фактически используете для SSH / SFTP

  • пароль необходимо установить / обновить, войдя через SSH и набрав sudo passwd your-user-name

0 голосов
/ 31 декабря 2011

ec2-107-20-192-98.compute-1.amazonaws.com:22 представляет имя хоста и порт ssh. (Обычно SSH находится на порту 22, хотя он может работать на любом порту.)

Попробуйте просто ec2-107-20-192-98.compute-1.amazonaws.com в поле имени хоста.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...