Как починить «сломанный» сервер VDS на Windows

от автора

Закончился наш конкурс «Админ 80 уровня». Задачей участников было починить «сломанный» VDS сервер. Поздравляем наших Победителей. Главный приз уходит в Саратов, Михаилу Гоч. Победитель справился с задачей менее чем за 2 часа, отличный результат.
Все участники конкурса, не занявшие призовые места, получат 10% скидку на пользование серверами VDS от компании RUVDS пожизненно. Вам будет выслано персональное уведомление на e-mail, указанный при регистрации в конкурсе.

Выкладываем решение.

Итак, начнём!
Пробуем подключиться к серверу стандартным способом через RDP-client. Не выходит. Возможно это и есть одна из задумок конкурса?
Подключаемся через аварийный режим в личном кабинете. Подключились!

Замечаем, что аватарка администратора не загрузилась, поэтому, вероятнее всего, используется non-gui режим.
Вводим учетные данные. Перед нами тёмный экран. Обычно в non-gui режиме сразу открывается cmd.exe, но в данный момент утилита почему-то незапущена.
Вероятно, у текущего пользователя нет прав на её запуск или сам исполняемый файл отсутствует.

Отправляем команду ctrl+alt+del, нажав на кнопку и открываем Task manager. Нам нужно как-то запустить интерпретатор командной строки.
File > New Task… как раз подходит для этой цели. Пробуем дать необходимые права для файла cmd.exe, для этого выполняем команду:
cacls «c:\windows\system32\cmd.exe» /G Administrator:R (используем cacls, так как запуск icacls под текущим пользователем запрещён)

Теперь пробуем запустить cmd.exe через New task… Получилось!
Далее, нам нужно установить компоненты системы, которые необходимы для запуска операционной системы в GUI режиме.
Выполняем:
cacls «C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe» /G Administrator:R

Затем запускаем powershell и выполняем команду:
Add-WindowsFeature Server-Gui-Shell, Server-Gui-Mgmt-Infra

Дожидаемся завершения установки, перезагружаемся. Теперь мы в привычном GUI-режиме, так гораздо удобнее!
Замечаем, что отключено правило, разрешающее входящие подключения на порт 3389. Вот что нам мешало подключиться к нашему серверу по RDP. Включаем и подключаемся через RDP.
Устанавливаем IIS Manager и открываем его.

Заходим в раздел Application Pools и видим, что пул ruvds contest отключен. Включаем…
Далее идём в корневую директорию сайта и открываем файл web.config.

Он содержит следующее:

<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer>   <security>    <requestFiltering>     <verbs allowUnlisted="true">      <add verb="GET" allowed="false" />     </verbs>    </requestFiltering>   </security>         <staticContent>             <remove fileExtension=".png" />         </staticContent>         <defaultDocument enabled="false" />  </system.webServer> </configuration>  <add verb="GET" allowed="false" />  <!-- мы не сможем получить контент страницы через http GET-запрос --> <remove fileExtension=".png" /> <!--  возникнут проблемы с загрузкой файла с расширением *.png --> <defaultDocument enabled="false" /> <!-- веб-сервер не сможет определить документ по умолчанию --> 

Приходим к выводу, что нам следует поскорее избавиться от данного файла.
Удаляем…

Вроде бы всё готово… Пробуем открыть адрес YOUR_VPS_IP. Невозможно установить соединение. Похоже, нужно заглянуть в настройки файрвола.
Находим правило World Wide Web Services (HTTP Traffic-In) и замечаем, что для профиля public данное правило не действует.
Активируем правило.

Пробуем загрузить страницу — загрузка началась, но происходит очень медленно… Возможно стоит заглянуть в настройки сайта.
Заходим в настройки Limits для нашего сайта.
Замечаем галочку возле Limit bandwidth usage и значение 1024. С такими настройками быстрая загрузка страницы невозможна. Убираем…

Пробуем загрузить страницу…

Вы обладатель бесплатного VPS на год!

Надеюсь, это было увлекательно. До новых встреч!
Напишите в комментариях, что вам не понравилось, или понравилось, что бы вы хотели изменить в следующий раз. Спасибо.

ссылка на оригинал статьи https://habrahabr.ru/post/281663/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *