Как обновить WordPress, установленный на IIS?
У меня есть установки WordPress на локальном сервере IIS на Windows 7, выполненные вручную и через WebPI. Обе установки находятся на веб-сайте IIS по умолчанию.
При попытке автоматического обновления до последней версии WP оба варианта запрашивают учетные данные FTP. На IIS включен FTP-сервер (пользователи IUSR и Richard).
Я проверил, что разрешения на чтение и запись включены для корневой папки wordpress и папки wp-content.
Я пытаюсь ввести учетные данные, но постоянно не получаю ответа или получаю
ОШИБКА: Произошла ошибка при подключении к серверу. Пожалуйста, проверьте правильность настроек.
Запрашиваются учетные данные: имя хоста/FTP-пользователь/FTP-пароль, и я пробовал различные варианты, которые, как мне кажется, могли быть правильными, но очевидно, что это не так.
(например, ftp://localhost
- IUSR - пароль сайта и т.д.).
Больше всего я не уверен насчет FTP-пароля.
Я искал помощи на форуме WordPress, в WordPress codex, на форуме IIS7, искал в Google и Twitter, но не нашел ответа! Существует несколько тем об этой проблеме, но большинство говорит, что решение заключается в включении разрешений на чтение и запись папок, также есть что-то про использование файла web.config
и редактирование wp-config.php
. Я не очень хочу редактировать wp-config.php
.
Я действительно хочу просто ввести правильные FTP-учетные данные для WordPress на IIS, чтобы это работало и автоматически обновлялось до последней версии.
Кто-нибудь знает, какие FTP-учетные данные я должен использовать для этого? Кто-нибудь из пользователей WordPress на локальном IIS сталкивался с этим и успешно решил проблему с автообновлением через FTP?
Редактировано 10/10/12 >> Привет mauri - большое спасибо за ваш очень полезный ответ. Я следовал вашим инструкциям для моего блога WordPress, который был установлен MS WebPlatformInstaller(WPI), и (та-да!) это сработало, как вы сказали - то есть он автоматически обновился до последней версии WP без запроса FTP-учетных данных. Мой единственный вопрос в том, что я не совсем понимаю, что это такое и что я на самом деле сделал, кроме следования вашим инструкциям! Я хотел бы понять всю эту "механику"! Я добавил Authenticated users и дал им полные разрешения. Я также очень хотел бы полностью разобраться в своем локальном сервере IIS... И хотел бы знать, как настроить IIS так, чтобы при запросе FTP-учетных данных я мог ввести информацию, и это тоже работало! Тем не менее, большое спасибо за ваш очень полезный ответ

Вы также можете попробовать это.
В менеджере IIS:
- Перейдите в раздел "Пулы приложений" и выберите тот, который используется вашим блогом на Wordpress.
- Кликните правой кнопкой мыши и выберите "Дополнительные параметры...".
- Измените идентификатор на LocalSystem.
- Нажмите OK для сохранения изменений.
Затем в разделе "Сайты":
- Выберите ваш блог Wordpress из списка сайтов.
- Кликните правой кнопкой мыши и выберите Изменить разрешения.
- Перейдите на вкладку "Безопасность" и нажмите "Изменить..." (группы или имена пользователей).
- Нажмите "Добавить" и введите "Authenticated users" (Проверенные пользователи).
- Нажмите "Проверить имена" для подтверждения имени пользователя.
- Нажмите OK для сохранения изменений.
После этого Wordpress должен обновляться без необходимости использования FTP.
По сути, вы просто даете права на чтение/запись проверенному пользователю... WP работает под учетной записью LocalSystem.
Чтобы узнать больше о настройке FTP, вы можете перейти к этой статье Microsoft: http://technet.microsoft.com/en-us/library/cc771012(v=ws.10).aspx Также здесь есть пост в блоге, показывающий, как установить/настроить FTP-сервер...
Если у вас не получается настроить его, вы также можете установить другой FTP-сервер, например: Filezilla FTP server, его можно бесплатно скачать отсюда http://filezilla-project.org/download.php?type=server
Вы можете прочитать больше о настройке IIS на http://www.iis.net/learn/manage

Привет, mauri - большое спасибо за ваш полезный ответ и инструкции (которые сработали!). Пожалуйста, посмотрите правку (сегодня 10/10/12) в моем первоначальном вопросе выше - еще раз огромное спасибо :-)

@rpd если ответ решил вашу проблему, пожалуйста, примите его (галочка слева от него), чтобы вопрос был помечен как решенный

Могу я предложить заключить "Authenticated Users" в кавычки для пользователей, не очень знакомых с Windows? Мой "друг" застрял на этом моменте.

Мне пришлось дать полный контроль аутентифицированным пользователям.

Это по-прежнему решение, даже на Server 2019 / IIS 10. Спасибо за ваш ответ.

похоже, это единственный способ, похоже PHP не полагается на IIS_USERS, даже если мы укажем это

Учетные данные FTP используются в качестве резервного варианта, когда прямая запись в файловую систему недоступна. Естественно, для этого требуется активный FTP-сервер (или SSH) — что типично для любого хостинга, но не всегда является частью локальной установки.
По сути, у вас есть два варианта:
Устранить проблему, из-за которой ваша установка WordPress не имеет доступа к файловой системе. Со стороны WordPress плагин Core Control может стать отправной точкой.
Настроить FTP-сервер в IIS. Обратитесь к его документации для получения конкретных инструкций (в зависимости от версии IIS может потребоваться предварительная загрузка и установка дополнительных компонентов).
У меня никогда не было серьезных проблем с доступом к файловой системе на Windows, но я использую стек Apache. Возможно, это какая-то особенность, связанная с IIS.

Привет, большое спасибо за ваш ответ. Ответ от mauri решает для меня проблему обновления (обходя необходимость использования FTP-учетных данных). Плагины для меня приемлемы, если они действительно необходимы, но понимание кода и прямое кодирование, если это возможно, гораздо более удовлетворительно, на мой взгляд. Мне действительно нужно и хочется больше разбираться в локальном сервере IIS. Другие пользователи Windows и WordPress сталкивались с этой проблемой, но нигде не могу найти простого ответа на этот вопрос... странно! В любом случае, спасибо и наилучшие пожелания вам :-)

Запустите 'inetmgr.exe'
Перейдите в '<ваш_сервер>\Sites\<ваш_сайт_wordpress>'
В панели IIS откройте 'Authentication' (Аутентификация)
Выберите 'Anonymous Authentication' (Анонимная аутентификация)
Нажмите 'Edit...' (Изменить) в разделе 'Actions' (Действия) в правой панели
Выберите 'Application pool identity' (Идентификатор пула приложений)
Нажмите 'Ok'
В проводнике перейдите в папку WordPress
Кликните правой кнопкой мыши и выберите 'Properties' (Свойства)
Во вкладке 'Security' (Безопасность) нажмите 'Edit...' (Изменить)
Выберите 'IIS_IUSRS'
Отметьте 'Full control' (Полный доступ)
Нажмите 'Ok'
