?

Log in

No account? Create an account
Моё фото в 43 года

yudenisov


Журнал Ю. А. Денисова

Посвященный компьютерам и не только


Кастомная установка Windows Server 2008 R2 для сервиса Vultr
Моё фото в 43 года
yudenisov

Позавчера мне дали задание проверить, будет ли работать Windows Server 2008 R2 в определённой конфигурации. Необходимо поставить эту операционную систему с следующими параметрами:

  1. Версия операционной системы — Datacenttr
  2. Роли устанавливаемого сервера — Web-server, DNS Server
  3. Поддерживаемые технологии: ASP, ASP.NET, PHP, CGI/FastCGI, ISAPI, C#, Visual Basic, UNIX Shell
  4. Windows Firewall, Защитник Windows
  5. Дополнительное программное обеспечение — Microsoft Visual Studio Community, chocolatey

Как видно, набор устанавливаемого программного обеспечения приличный. Тем не менее его хотят уместить на виртуальную машину со следующими характеристиками:

  1. Процессор — 1 ядро многоядерного процессора Intel Xeon;
  2. Память — 512 Мбайт;
  3. Дисковое пространство — 20 Гбайт на всё, SSD диски;
  4. Виртуализатор — KVM;
  5. Сеть — 2x100Mbit Ethernet с выделенным IPv4 и IPv6 адресами.

Нормальный администратор покрутил бы у виска и попросил бы горе клиентов поискать другой хостинг. Но меня это предложение, наоборот, раззадорило. Меня удивил тот факт, что на полном серьёзе предлагается к использованию такой VDS Server и для него допустимо использование Windows! Что за нонсенс! Но, выяснилось, не нонсенс. Сервер с такими характеристиками не только установился, но и заработал. Правда, без шаманства здесь не обошлось. К тому же удалось установить только пиратские дистрибутивы этой операционной системы с отключённым обновлением. Это замечание, на самом деле, очень важно. Обновление, хотя это настоятельно не рекомендуется, должно быть отключено «из коробки, по-умолчанию», а это прерогатива только пиратских дистрибутивов. Без этого после установки обновления «отожмут» сразу 4 Гбайт дискового пространства, так необходимых для Visual Studio. Второй, неприятный момент, с которым Вам придётся столкнуться — Вы не сможете использовать эту конфигурацию для легального хостинга, поскольку не сможете подтвердить происхождение программного обеспечения для него. Обо всём этом я сразу же сообщил своим клиентам.


Рассмотрим этапы установки Windows по порядку.


Установка операционной системы


Скачиваем с торрентов пиратский образ диска Microsoft Windows Server. Он должен быть, во-первых, достаточно полным, во-вторых, в нём должен отсутствовать встроенный активатор, причина большинства проблем с дистрибутивом, в-третьих, в нём должны быть заблокированы обновления. Для установки на сервер Vultr Вам ещё понадобиться образ диска поддержки виртуальных приводов, без которого Windows на этот хостинг не устанавливается. Но я использовал другую виртуальную машину, поэтому этот пункт при тестировании я пропустил. Монтируем диск в виртуальную систему и начинаем установку. После двух перезагрузок система установится.

Далее Вам надо сменить пароль от учётной записи администратора. Надеюсь, Вы его уже подготовили? После, пока Вы ещё ничего не начали делать, проверьте настройки сети (задайте статические и псевдостатические адреса, DNS сереры, настройки прокси). Иначе потом возможны неисправимые ошибки. Затем переименуйте имя компьютера-сервера и DNS куст (то есть задайте правильный FDQN сервера). Затем настройте правильное время и часовой пояс компьютера.  Далее отмените режим повышенной защищённости для Internet Explorer. Больше пока Вам ничего делать не надо, в ттом числе и активировать Windows. Переходите к следующему этапу.


Установка админ-пака «Exponenta»


Далее следует необязательный, но весьма желательный этап — установка админ-пака экспонента для автоматизации множества администраторских задач. Скачиваем установщик админ-пака с сайта автора и запускаем его. Вскоре у Вас будут установлены основные административные скрипты и пакеты, а также появится архив программ KMS_Studio и Daemon Tool Lite. Все дистрибутивы скачиваются в скрытую папку c:\pub1\Distrib\plugins\. Это сделано для того, стобы нерадивые пользователи и горе-администраторы не удалили их из системы. Наберите этот путь в адресной строке Windows Explorer или в окне терминала. После чего разархивируйте архив KMS_Studio.zip в текущую папку. Таким образом Вы подготовили к работе активатор Windows. Активируйте Windows, как описано в руководстве по KMS (установите ключ продукта, выполните активацию, задайте период переактивации в планировщике). На этом настройку операционной системы можно считать законченной, переходите к настройке ролей и установке Visual Studio.


Установка ролей на сервер и настройка сервера


Установка роли для Windows Server 2008 хорошо описана в Интернете и во многих руководствах, так что я опущу подробную инструкцию. Отмечу, что при установке ролей нужно указывать все используемые подроли и технологии, поскольку дополнить или удалить список этих ролей в Windows Server, в отличие от десктопных версий Windows, будет нетривиальной задачей. Потом нужно будет установить на компьютер следующие программы/ Во-первых, расширение PHP Manager для настройки поддержки в IIS языка PHP. У меня тут возникла проблема. Дело в том, что по непонятной причине официальные сайты для этой программы оказались заблокированными для этого дистрибутива, а установщик Microsoft Web Platform Installer завершался с неизвестной ошибкой. Поскольку эта проблема касалась только пиратской версии дистрибутива и никак не исправлялась штатными средствами Microsoft, мне пришлось создать свой собственный сайт с этими программами и уже оттуда закачать их на виртуальный сервер. Заодно мне пришлось скачать с него же Microsoft Internet Explorer 11, поскольку обновления, через которые он устанавливался, были заблокированы Windows. После этого командой choco install -y php-service установите пакеты PHP, FastCGI-PHP и сопутствующие, подключите поддержку PHP через PHP Manager и проверьте работоспособность сервера.


Установка Visual Studio


Сразу отмечу, что большой ошибкой будет установка на этот хостинг любой версии Microsoft Visual Studio, отличной от 2017. Вы ничего не выграете в совместимости, а только замусорите систему. Дело в том, что старые версии этой среды устанавливаются целиком, предостоваляя слабые возможности управления установкой компонентов. А в этой системе Вам точно не понадобятся модули для разработки C++, Microsoft Office, универсальных и мобильных приложений, SQL разработка и многое другое. А это занимает более 6 Гбайт дискового пространства. Новейшая версия Microsoft Visual Studio 2017 вначале устанавливает только инсталлятор и оболочку разработчика, без рабочих нагрузок (компиляторов, отладчиков и дополнительных модулей). Всё это занимает в распакованном виде 634 Мбайта на жёстком диске. То есть в 10 раз меньше.

Установить эти пакеты без рабочих нагрузок можно командами:
choco install -y netfx-4.7.2-devpack
choco install -y visualstudio2017-installer
choco install -y visualstudio2017community


Эти команды надо подавать последовательно, выполняя перезагрузку виртуальной машины, если это потребуется. В противном случае возможны ошибки «Неизвестная ошибка». Если же такая ошибка всё равно происходит, попытайтесь запустить эти же пакеты из кеша chocolatey вручную. Скаченные файлы кеша Вы можете найти в каталоге %TEMP%\chocolatey\«имя пакета». У меня пакет установился с третьего раза, после долгого ожидания и множества неизвестных ошибок. Хотя главную ошибку я совершил вначале, замусорив реестр прерванной установкой Visual Studio 2015.


Заключение

После указанных мытарств я применил скрипт UNSECURE_ALL из пакета Экспонента для Windows и передал расшаренную виртуальную машину на тестирование заказчику. На всё у меня ушло 14 часов, из них 10 часов заняло исправление неудачной установки Microsoft Visual Studio. Так что поднять сервер Windows на хостинге Vultr за рабочий день вполне реально. Пока не ясно, как будет работать реальный проект на таком хостинге, при таких его скромных возможностях. Но этот вопрос мне не задавлся, оставляю его на совесть заказчика.

Ссылки на материалы проекта будут размещены позже. Извините, это требования антипиратских законов, принятых в «цивилизованных странах копирастами». :-)